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']));
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
|
Loading…
Reference in New Issue