From 95ec0767d88efa7d8290db875b1c0f72542d9b68 Mon Sep 17 00:00:00 2001
From: Friendika <info@friendika.com>
Date: Wed, 5 Jan 2011 13:10:47 -0800
Subject: [PATCH] plugin settings were getting changed

---
 addon/README                  |  5 ++++-
 addon/randplace/randplace.php |  4 ++--
 mod/settings.php              | 13 ++++++++-----
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/addon/README b/addon/README
index 7089634d26..b92b418b42 100644
--- a/addon/README
+++ b/addon/README
@@ -82,10 +82,13 @@ Current hooks:
 'settings_form' - called when generating the HTML for the user Settings page
 	$b is the (string) HTML of the settings page before the final '</form>' tag.
 
+'settings_post' - called when the Settings pages are submitted.
+	$b is the $_POST array
+
 'plugin_settings' - called when generating the HTML for the addon settings page
 	$b is the (string) HTML of the addon settings page before the final '</form>' tag.
 
-'settings_post' - called when the Settings and Addon Settings pages are submitted.
+'plugin_settings_post' - called when the Addon Settings pages are submitted.
 	$b is the $_POST array
 
 'profile_advanced' - called when the HTML is generated for the 'Advanced profile', 
diff --git a/addon/randplace/randplace.php b/addon/randplace/randplace.php
index 2f0ff038b6..d7ea65c9d2 100644
--- a/addon/randplace/randplace.php
+++ b/addon/randplace/randplace.php
@@ -43,7 +43,7 @@ function randplace_install() {
 	 */
 
 	register_hook('plugin_settings', 'addon/randplace/randplace.php', 'randplace_settings');
-	register_hook('settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post');
+	register_hook('plugin_settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post');
 
 	logger("installed randplace");
 }
@@ -61,7 +61,7 @@ function randplace_uninstall() {
 
 	unregister_hook('post_local',    'addon/randplace/randplace.php', 'randplace_post_hook');
 	unregister_hook('plugin_settings', 'addon/randplace/randplace.php', 'randplace_settings');
-	unregister_hook('settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post');
+	unregister_hook('plugin_settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post');
 
 
 	logger("removed randplace");
diff --git a/mod/settings.php b/mod/settings.php
index 9a9fde5c6b..1923c58da1 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -15,15 +15,18 @@ function settings_post(&$a) {
 		return;
 	}
 
-	call_hooks('settings_post', $_POST);
-
-	if(($a->argc > 1) && ($a->argv[1] == 'addon'))
-		return;
-
 	if(count($a->user) && x($a->user,'uid') && $a->user['uid'] != local_user()) {
 		notice( t('Permission denied.') . EOL);
 		return;
 	}
+
+	if(($a->argc > 1) && ($a->argv[1] == 'addon')) {
+		call_hooks('plugin_settings_post', $_POST);
+		return;
+	}
+
+	call_hooks('settings_post', $_POST);
+
 	if((x($_POST,'npassword')) || (x($_POST,'confirm'))) {
 
 		$newpass = $_POST['npassword'];