X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/ff81ee6e8304a1982a3ec4f5b134764a29d502cf..refs/tags/wordpress-2.3.3:/wp-admin/options.php diff --git a/wp-admin/options.php b/wp-admin/options.php index de5999c6..7fa05bbf 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -5,83 +5,38 @@ $title = __('Options'); $this_file = 'options.php'; $parent_file = 'options-general.php'; -$wpvarstoreset = array('action'); -for ($i=0; $i $value) { - $options[] = $key; + check_admin_referer('update-options'); + + if ( !$_POST['page_options'] ) { + foreach ( (array) $_POST as $key => $value) { + if ( !in_array($key, array('_wpnonce', '_wp_http_referer')) ) + $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' ) - if (current_user_can('unfiltered_html') == false) - $value = wp_filter_post_kses( $value ); - - if (update_option($option, $value) ) { - $any_changed++; - } + $value = $_POST[$option]; + if(!is_array($value)) $value = trim($value); + $value = stripslashes_deep($value); + update_option($option, $value); } } - - 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(); - // Get currently logged in user and password. - get_currentuserinfo(); - // 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); + + $goback = add_query_arg('updated', 'true', wp_get_referer()); wp_redirect($goback); break; @@ -89,25 +44,49 @@ default: include('admin-header.php'); ?>
-

-
+

+ + +

get_results("SELECT * FROM $wpdb->options ORDER BY option_name"); -foreach ($options as $option) : - $value = wp_specialchars($option->option_value); +foreach ( (array) $options as $option) : + $disabled = ''; + $option->option_name = attribute_escape($option->option_name); + if ( is_serialized($option->option_value) ) { + if ( is_serialized_string($option->option_value) ) { + // this is a serialized string, so we should display it + $value = maybe_unserialize($option->option_value); + $options_to_update[] = $option->option_name; + $class = 'all-options'; + } else { + $value = 'SERIALIZED DATA'; + $disabled = ' disabled="disabled"'; + $class = 'all-options disabled'; + } + } else { + $value = $option->option_value; + $options_to_update[] = $option->option_name; + $class = 'all-options'; + } echo " - - +"; endforeach; ?>
$option->option_description"; + + if (strpos($value, "\n") !== false) echo ""; + else echo ""; + + echo "
-

+ +