From d48e85e0ac5e675ca33fac173f30c75403d1033f Mon Sep 17 00:00:00 2001 From: donncha Date: Thu, 22 Jun 2006 18:31:50 +0000 Subject: Moved everything in wp-inst down a directory. Uses's Ryan Boren's htaccess rules and mods If you're upgrading, try this on a test server first! git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-admin/options.php | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 wp-admin/options.php (limited to 'wp-admin/options.php') diff --git a/wp-admin/options.php b/wp-admin/options.php new file mode 100644 index 0000000..f2752b9 --- /dev/null +++ b/wp-admin/options.php @@ -0,0 +1,163 @@ + $value) { + $options[] = $key; + } + } else { + $options = explode(',', stripslashes($_POST['page_options'])); + } + + // Save for later. + $old_siteurl = get_settings('siteurl'); + $old_home = get_settings('home'); + + // HACK + // Options that if not there have 0 value but need to be something like "closed" + $nonbools = array('default_ping_status', 'default_comment_status'); + if ($options) { + foreach ($options as $option) { + $option = trim($option); + $value = trim(stripslashes($_POST[$option])); + if( in_array($option, $nonbools) && ( $value == '0' || $value == '') ) + $value = 'closed'; + + if( $option == 'blogdescription' || $option == 'blogname' ) + $value = wp_filter_post_kses( $value ); + + if( $option == 'posts_per_page' && $value == '' ) + $value = 10; + + if( $option == 'new_admin_email' && $value != get_option( 'admin_email' ) ) { + $hash = md5( $value.time().mt_rand() ); + $newadminemail = array( + "hash" => $hash, + "newemail" => $value + ); + update_option( "new_admin_email", $newadminemail ); + wp_mail( $value, "[ " . get_option( 'blogname' ) . " ] New Admin Email Address", "Dear User, + +You recently requested to have the administration email address on +your blog changed. +If this is correct, please click on the following link to change it: +" . get_option( "siteurl" ) . "/adminemail/{$hash}/ + +You can safely ignore and delete this email if you do not want to +take this action. + +" ); + } elseif (update_option($option, $value) ) { + $any_changed++; + } + + if ( 'language' == $option ) { + $value = (int) $value; + update_blog_status( $wpdb->blogid, 'lang_id', $value ); + $any_changed++; + } + if ( 'blog_public' == $option ) { + $value = (int) $value; + update_blog_status( $wpdb->blogid, 'public', $value ); + $any_changed++; + } + } + } + + if ($any_changed) { + // If siteurl or home changed, reset cookies. + if ( get_settings('siteurl') != $old_siteurl || get_settings('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_settings('home'), get_settings('siteurl')); + } + + //$message = sprintf(__('%d setting(s) saved... '), $any_changed); + } + + $referred = remove_query_arg('updated' , $_SERVER['HTTP_REFERER']); + $goback = add_query_arg('updated', 'true', $_SERVER['HTTP_REFERER']); + $goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback); + wp_redirect($goback); + break; + +default: +if (!is_site_admin()) + die('Not admin'); + + include('admin-header.php'); ?> + +
+

+
+ + + +get_results("SELECT * FROM $wpdb->options ORDER BY option_name"); + +foreach ($options as $option) : + $value = wp_specialchars($option->option_value, 'single'); + echo " + + + + +"; +endforeach; +?> +
$option->option_description
+

+
+
+ + + -- cgit