X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/cc7b1505cd9fafd87c3672f669e13e98b0c544f7..022dfbbbe3215917d84708eb09acca93b21ae9e0:/wp-admin/options.php diff --git a/wp-admin/options.php b/wp-admin/options.php index 3c5b8dbf..bd8b2b0d 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -24,6 +24,67 @@ for ($i=0; $i $value) { - $options[] = $key; + 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'])); @@ -43,19 +105,11 @@ case 'update': $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 ); + $value = sanitize_option($option, $value); if (update_option($option, $value) ) { $any_changed++; @@ -87,26 +141,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; ?>
"; + + if (strpos($value, "\n") !== false) echo ""; + else echo ""; + + echo " $option->option_description
-

+ +