From 5898bcca419436ab7ae74cfe9c704f4bd19888db Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 8 Sep 2006 21:42:05 +0000 Subject: [PATCH] Move home and siteurl update events to action hooks. git-svn-id: http://svn.automattic.com/wordpress/trunk@4175 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/admin-functions.php | 14 ++++++++++++++ wp-admin/options.php | 23 +---------------------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/wp-admin/admin-functions.php b/wp-admin/admin-functions.php index d77726d5e..ee3bc36f6 100644 --- a/wp-admin/admin-functions.php +++ b/wp-admin/admin-functions.php @@ -2064,4 +2064,18 @@ function wp_reset_vars($vars) { } } +// If siteurl or home changed, reset cookies and flush rewrite rules. +function update_home_siteurl($old_value, $value) { + global $wp_rewrite, $user_login, $user_pass_md5; + // If home changed, write rewrite rules to new location. + $wp_rewrite->flush_rules(); + // Clear cookies for old paths. + wp_clearcookie(); + // Set cookies for new paths. + wp_setcookie($user_login, $user_pass_md5, true, get_option('home'), get_option('siteurl')); +} + +add_action('update_option_home', 'update_home_siteurl'); +add_action('update_option_siteurl', 'update_home_siteurl'); + ?> diff --git a/wp-admin/options.php b/wp-admin/options.php index 40f468f70..5abeac926 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -86,36 +86,15 @@ case 'update': $options = explode(',', stripslashes($_POST['page_options'])); } - // Save for later. - $old_siteurl = get_option('siteurl'); - $old_home = get_option('home'); - if ($options) { foreach ($options as $option) { $option = trim($option); $value = trim(stripslashes($_POST[$option])); $value = sanitize_option($option, $value); - - if (update_option($option, $value) ) { - $any_changed++; - } + update_option($option, $value); } } - if ($any_changed) { - // If siteurl or home changed, reset cookies. - if ( get_option('siteurl') != $old_siteurl || get_option('home') != $old_home ) { - // If home changed, write rewrite rules to new location. - $wp_rewrite->flush_rules(); - // Clear cookies for old paths. - wp_clearcookie(); - // Set cookies for new paths. - wp_setcookie($user_login, $user_pass_md5, true, get_option('home'), get_option('siteurl')); - } - - //$message = sprintf(__('%d setting(s) saved... '), $any_changed); - } - $referred = remove_query_arg('updated' , wp_get_referer()); $goback = add_query_arg('updated', 'true', wp_get_referer()); $goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);