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 '' 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 '' 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'];