Move home and siteurl update events to action hooks.
git-svn-id: http://svn.automattic.com/wordpress/trunk@4175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
0f7bb42a79
commit
5898bcca41
|
@ -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');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -86,36 +86,15 @@ case 'update':
|
||||||
$options = explode(',', stripslashes($_POST['page_options']));
|
$options = explode(',', stripslashes($_POST['page_options']));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save for later.
|
|
||||||
$old_siteurl = get_option('siteurl');
|
|
||||||
$old_home = get_option('home');
|
|
||||||
|
|
||||||
if ($options) {
|
if ($options) {
|
||||||
foreach ($options as $option) {
|
foreach ($options as $option) {
|
||||||
$option = trim($option);
|
$option = trim($option);
|
||||||
$value = trim(stripslashes($_POST[$option]));
|
$value = trim(stripslashes($_POST[$option]));
|
||||||
$value = sanitize_option($option, $value);
|
$value = sanitize_option($option, $value);
|
||||||
|
update_option($option, $value);
|
||||||
if (update_option($option, $value) ) {
|
|
||||||
$any_changed++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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());
|
$referred = remove_query_arg('updated' , wp_get_referer());
|
||||||
$goback = add_query_arg('updated', 'true', wp_get_referer());
|
$goback = add_query_arg('updated', 'true', wp_get_referer());
|
||||||
$goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);
|
$goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);
|
||||||
|
|
Loading…
Reference in New Issue