Make WordPress Core

Ticket #21546: site-settings.diff

File site-settings.diff, 21.5 KB (added by wonderboymusic, 12 years ago)
  • wp-includes/ms-functions.php

     
    973973        if ( ! $blog_id = insert_blog($domain, $path, $site_id) )
    974974                return new WP_Error('insert_blog', __('Could not create site.'));
    975975
    976         switch_to_blog($blog_id);
    977         install_blog($blog_id, $title);
    978         wp_install_defaults($user_id);
     976        switch_to_blog( $blog_id );
     977        install_blog( $blog_id, $title );
     978        wp_install_defaults( $user_id );
    979979
    980         add_user_to_blog($blog_id, $user_id, 'administrator');
     980        add_user_to_blog( $blog_id, $user_id, 'administrator' );
    981981
    982         if ( is_array($meta) ) foreach ($meta as $key => $value) {
    983                 if ( $key == 'public' || $key == 'archived' || $key == 'mature' || $key == 'spam' || $key == 'deleted' || $key == 'lang_id' )
     982        if ( is_array( $meta ) ) foreach ( $meta as $key => $value ) {
     983                if ( in_array( $key, array( 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' ) ) )
    984984                        update_blog_status( $blog_id, $key, $value );
    985985                else
    986986                        update_option( $key, $value );
    987987        }
    988988
    989         add_option( 'WPLANG', get_site_option( 'WPLANG' ) );
    990         update_option( 'blog_public', (int)$meta['public'] );
     989        update_option( 'blog_public', (int) $meta['public'] );
    991990
    992991        if ( ! is_super_admin( $user_id ) && ! get_user_meta( $user_id, 'primary_blog', true ) )
    993992                update_user_meta( $user_id, 'primary_blog', $blog_id );
     
    11281127 * @param int $blog_id The value returned by insert_blog().
    11291128 * @param string $blog_title The title of the new site.
    11301129 */
    1131 function install_blog($blog_id, $blog_title = '') {
     1130function install_blog( $blog_id, $blog_title = '') {
    11321131        global $wpdb, $table_prefix, $wp_roles;
    11331132        $wpdb->suppress_errors();
    11341133
     
    11421141
    11431142        $wpdb->suppress_errors(false);
    11441143
    1145         $url = get_blogaddress_by_id($blog_id);
    1146 
    11471144        // Set everything up
    11481145        make_db_current_silent( 'blog' );
    11491146        populate_options();
    11501147        populate_roles();
    11511148        $wp_roles->_init();
    11521149
    1153         $url = untrailingslashit( $url );
    1154         // fix url.
    1155         update_option('siteurl', $url);
    1156         update_option('home', $url);
    1157         update_option('fileupload_url', $url . "/files" );
    1158         update_option('upload_path', UPLOADBLOGSDIR . "/$blog_id/files");
    1159         update_option('blogname', stripslashes( $blog_title ) );
    1160         update_option('admin_email', '');
    1161         $wpdb->update( $wpdb->options, array('option_value' => ''), array('option_name' => 'admin_email') );
    1162 
     1150        update_option( 'blogname', stripslashes( $blog_title ) );
     1151       
    11631152        // remove all perms
    11641153        $wpdb->delete( $wpdb->usermeta, array( 'meta_key' => $table_prefix.'user_level' ) );
    11651154
  • wp-admin/includes/upgrade.php

     
    4444        populate_options();
    4545        populate_roles();
    4646
    47         update_option('blogname', $blog_title);
    48         update_option('admin_email', $user_email);
    49         update_option('blog_public', $public);
     47        update_option( 'blogname', $blog_title );
     48        update_option( 'admin_email', $user_email );
     49        update_option( 'blog_public', $public );
    5050
    5151        $guessurl = wp_guess_url();
    5252
    53         update_option('siteurl', $guessurl);
     53        update_option( 'siteurl', $guessurl );
    5454
    5555        // If not a public blog, don't ping.
    5656        if ( ! $public )
  • wp-admin/includes/schema.php

     
    323323 * @uses $wp_db_version
    324324 */
    325325function populate_options() {
    326         global $wpdb, $wp_db_version, $current_site, $wp_current_db_version;
     326        global $wpdb;
    327327
    328         $guessurl = wp_guess_url();
    329 
    330         do_action('populate_options');
    331 
    332         if ( ini_get('safe_mode') ) {
    333                 // Safe mode can break mkdir() so use a flat structure by default.
    334                 $uploads_use_yearmonth_folders = 0;
    335         } else {
    336                 $uploads_use_yearmonth_folders = 1;
    337         }
    338 
    339         $template = WP_DEFAULT_THEME;
    340         // If default theme is a child theme, we need to get its template
    341         $theme = wp_get_theme( $template );
    342         if ( ! $theme->errors() )
    343                 $template = $theme->get_template();
    344 
    345         $timezone_string = '';
    346         $gmt_offset = 0;
    347         /* translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14)
    348            or a valid timezone string (America/New_York). See http://us3.php.net/manual/en/timezones.php
    349            for all timezone strings supported by PHP.
    350         */
    351         $offset_or_tz = _x( '0', 'default GMT offset or timezone string' );
    352         if ( is_numeric( $offset_or_tz ) )
    353                 $gmt_offset = $offset_or_tz;
    354         elseif ( $offset_or_tz && in_array( $offset_or_tz, timezone_identifiers_list() ) )
    355                         $timezone_string = $offset_or_tz;
    356 
    357         $options = array(
    358         'siteurl' => $guessurl,
    359         'blogname' => __('My Site'),
    360         /* translators: blog tagline */
    361         'blogdescription' => __('Just another WordPress site'),
    362         'users_can_register' => 0,
    363         'admin_email' => 'you@example.com',
    364         /* translators: default start of the week. 0 = Sunday, 1 = Monday */
    365         'start_of_week' => _x( '1', 'start of week' ),
    366         'use_balanceTags' => 0,
    367         'use_smilies' => 1,
    368         'require_name_email' => 1,
    369         'comments_notify' => 1,
    370         'posts_per_rss' => 10,
    371         'rss_use_excerpt' => 0,
    372         'mailserver_url' => 'mail.example.com',
    373         'mailserver_login' => 'login@example.com',
    374         'mailserver_pass' => 'password',
    375         'mailserver_port' => 110,
    376         'default_category' => 1,
    377         'default_comment_status' => 'open',
    378         'default_ping_status' => 'open',
    379         'default_pingback_flag' => 1,
    380         'default_post_edit_rows' => 20,
    381         'posts_per_page' => 10,
    382         /* translators: default date format, see http://php.net/date */
    383         'date_format' => __('F j, Y'),
    384         /* translators: default time format, see http://php.net/date */
    385         'time_format' => __('g:i a'),
    386         /* translators: links last updated date format, see http://php.net/date */
    387         'links_updated_date_format' => __('F j, Y g:i a'),
    388         'links_recently_updated_prepend' => '<em>',
    389         'links_recently_updated_append' => '</em>',
    390         'links_recently_updated_time' => 120,
    391         'comment_moderation' => 0,
    392         'moderation_notify' => 1,
    393         'permalink_structure' => '',
    394         'gzipcompression' => 0,
    395         'hack_file' => 0,
    396         'blog_charset' => 'UTF-8',
    397         'moderation_keys' => '',
    398         'active_plugins' => array(),
    399         'home' => $guessurl,
    400         'category_base' => '',
    401         'ping_sites' => 'http://rpc.pingomatic.com/',
    402         'advanced_edit' => 0,
    403         'comment_max_links' => 2,
    404         'gmt_offset' => $gmt_offset,
    405 
    406         // 1.5
    407         'default_email_category' => 1,
    408         'recently_edited' => '',
    409         'template' => $template,
    410         'stylesheet' => WP_DEFAULT_THEME,
    411         'comment_whitelist' => 1,
    412         'blacklist_keys' => '',
    413         'comment_registration' => 0,
    414         'html_type' => 'text/html',
    415 
    416         // 1.5.1
    417         'use_trackback' => 0,
    418 
    419         // 2.0
    420         'default_role' => 'subscriber',
    421         'db_version' => $wp_db_version,
    422 
    423         // 2.0.1
    424         'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders,
    425         'upload_path' => '',
    426 
    427         // 2.1
    428         'blog_public' => '1',
    429         'default_link_category' => 2,
    430         'show_on_front' => 'posts',
    431 
    432         // 2.2
    433         'tag_base' => '',
    434 
    435         // 2.5
    436         'show_avatars' => '1',
    437         'avatar_rating' => 'G',
    438         'upload_url_path' => '',
    439         'thumbnail_size_w' => 150,
    440         'thumbnail_size_h' => 150,
    441         'thumbnail_crop' => 1,
    442         'medium_size_w' => 300,
    443         'medium_size_h' => 300,
    444 
    445         // 2.6
    446         'avatar_default' => 'mystery',
    447         'enable_app' => 0,
    448         'enable_xmlrpc' => 0,
    449 
    450         // 2.7
    451         'large_size_w' => 1024,
    452         'large_size_h' => 1024,
    453         'image_default_link_type' => 'file',
    454         'image_default_size' => '',
    455         'image_default_align' => '',
    456         'close_comments_for_old_posts' => 0,
    457         'close_comments_days_old' => 14,
    458         'thread_comments' => 1,
    459         'thread_comments_depth' => 5,
    460         'page_comments' => 0,
    461         'comments_per_page' => 50,
    462         'default_comments_page' => 'newest',
    463         'comment_order' => 'asc',
    464         'sticky_posts' => array(),
    465         'widget_categories' => array(),
    466         'widget_text' => array(),
    467         'widget_rss' => array(),
    468         'uninstall_plugins' => array(),
    469 
    470         // 2.8
    471         'timezone_string' => $timezone_string,
    472 
    473         // 2.9
    474         'embed_autourls' => 1,
    475         'embed_size_w' => '',
    476         'embed_size_h' => 600,
    477 
    478         // 3.0
    479         'page_for_posts' => 0,
    480         'page_on_front' => 0,
    481 
    482         // 3.1
    483         'default_post_format' => 0,
    484         );
    485 
    486         // 3.3
    487         if ( ! is_multisite() ) {
    488                 $options['initial_db_version'] = ! empty( $wp_current_db_version ) && $wp_current_db_version < $wp_db_version
    489                         ? $wp_current_db_version : $wp_db_version;
    490         }
    491 
    492         // 3.0 multisite
    493         if ( is_multisite() ) {
    494                 /* translators: blog tagline */
    495                 $options[ 'blogdescription' ] = sprintf(__('Just another %s site'), $current_site->site_name );
    496                 $options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/';
    497         }
    498 
    499328        // Set autoload to no for these options
    500329        $fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys', 'uninstall_plugins' );
    501330
    502         $existing_options = $wpdb->get_col("SELECT option_name FROM $wpdb->options");
     331        $existing_options = $wpdb->get_col( "SELECT option_name FROM $wpdb->options" );
    503332
    504333        $insert = '';
    505         foreach ( $options as $option => $value ) {
    506                 if ( in_array($option, $existing_options) )
     334        foreach ( ms_default_options() as $option => $value ) {
     335                if ( in_array( $option, $existing_options ) )
    507336                        continue;
    508                 if ( in_array($option, $fat_options) )
    509                         $autoload = 'no';
    510                 else
    511                         $autoload = 'yes';
     337               
     338                $autoload = in_array( $option, ms_fat_options() ) ? 'no' : 'yes';
    512339
    513                 $option = $wpdb->escape($option);
    514                 if ( is_array($value) )
    515                         $value = serialize($value);
    516                 $value = $wpdb->escape($value);
    517                 if ( !empty($insert) )
     340                $option = $wpdb->escape( $option );
     341                if ( is_array( $value ) )
     342                        $value = serialize( $value );
     343                $value = $wpdb->escape( $value );
     344                if ( ! empty( $insert ) )
    518345                        $insert .= ', ';
    519346                $insert .= "('$option', '$value', '$autoload')";
    520347        }
    521348
    522         if ( !empty($insert) )
    523                 $wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert);
     349        if ( ! empty( $insert ) )
     350                $wpdb->query( "INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert );
    524351
    525352        // in case it is set, but blank, update "home"
    526         if ( !__get_option('home') ) update_option('home', $guessurl);
     353        if ( ! __get_option( 'home' ) )
     354                update_option( 'home', wp_guess_url() );
    527355
    528356        // Delete unused options
    529         $unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show', 'rss_language');
     357        $unusedoptions = array ( 'blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show', 'rss_language', 'language' );
    530358        foreach ( $unusedoptions as $option )
    531                 delete_option($option);
     359                delete_option( $option );
    532360
    533361        // delete obsolete magpie stuff
    534         $wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");
     362        $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'" );
     363       
     364        $url = untrailingslashit( get_blogaddress_by_id( $wpdb->blogid ) );
     365        // fix url.
     366        update_option( 'siteurl', $url );
     367        update_option( 'home', $url );
     368        update_option( 'fileupload_url', $url . "/files" );
     369        update_option( 'upload_path', UPLOADBLOGSDIR . "/$blog_id/files" );
     370        update_option( 'admin_email', '' );
     371        // no, really, empty this value
     372        $wpdb->update( $wpdb->options, array( 'option_value' => '' ), array( 'option_name' => 'admin_email' ) );
    535373}
    536374
    537375/**
  • wp-admin/includes/ms.php

     
    803803        $count = get_blog_count();
    804804        return apply_filters( 'wp_is_large_network', $count > 10000, 'sites', $count );
    805805}
     806
     807/**
     808 * Return all of the default options for a multisite blog
     809 *
     810 * @global int $wp_db_version
     811 * @global object $current_site
     812 * @global int $wp_current_db_version
     813 * @return array filtered options map
     814 */
     815function ms_default_options() {
     816        global $wp_db_version, $current_site, $wp_current_db_version;
     817       
     818        $guessurl = wp_guess_url();
     819
     820        do_action( 'populate_options' );
     821
     822        if ( ini_get('safe_mode') ) {
     823                // Safe mode can break mkdir() so use a flat structure by default.
     824                $uploads_use_yearmonth_folders = 0;
     825        } else {
     826                $uploads_use_yearmonth_folders = 1;
     827        }
     828
     829        $template = WP_DEFAULT_THEME;
     830        // If default theme is a child theme, we need to get its template
     831        $theme = wp_get_theme( $template );
     832        if ( ! $theme->errors() )
     833                $template = $theme->get_template();
     834
     835        $timezone_string = '';
     836        $gmt_offset = 0;
     837        /* translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14)
     838           or a valid timezone string (America/New_York). See http://us3.php.net/manual/en/timezones.php
     839           for all timezone strings supported by PHP.
     840        */
     841        $offset_or_tz = _x( '0', 'default GMT offset or timezone string' );
     842        if ( is_numeric( $offset_or_tz ) )
     843                $gmt_offset = $offset_or_tz;
     844        elseif ( $offset_or_tz && in_array( $offset_or_tz, timezone_identifiers_list() ) )
     845                        $timezone_string = $offset_or_tz;
     846
     847        $options = array(
     848        'siteurl' => $guessurl,
     849        'blogname' => __('My Site'),
     850        /* translators: blog tagline */
     851        'blogdescription' => __('Just another WordPress site'),
     852        'users_can_register' => 0,
     853        'admin_email' => 'you@example.com',
     854        /* translators: default start of the week. 0 = Sunday, 1 = Monday */
     855        'start_of_week' => _x( '1', 'start of week' ),
     856        'use_balanceTags' => 0,
     857        'use_smilies' => 1,
     858        'require_name_email' => 1,
     859        'comments_notify' => 1,
     860        'posts_per_rss' => 10,
     861        'rss_use_excerpt' => 0,
     862        'mailserver_url' => 'mail.example.com',
     863        'mailserver_login' => 'login@example.com',
     864        'mailserver_pass' => 'password',
     865        'mailserver_port' => 110,
     866        'default_category' => 1,
     867        'default_comment_status' => 'open',
     868        'default_ping_status' => 'open',
     869        'default_pingback_flag' => 1,
     870        'default_post_edit_rows' => 20,
     871        'posts_per_page' => 10,
     872        /* translators: default date format, see http://php.net/date */
     873        'date_format' => __('F j, Y'),
     874        /* translators: default time format, see http://php.net/date */
     875        'time_format' => __('g:i a'),
     876        /* translators: links last updated date format, see http://php.net/date */
     877        'links_updated_date_format' => __('F j, Y g:i a'),
     878        'links_recently_updated_prepend' => '<em>',
     879        'links_recently_updated_append' => '</em>',
     880        'links_recently_updated_time' => 120,
     881        'comment_moderation' => 0,
     882        'moderation_notify' => 1,
     883        'permalink_structure' => '',
     884        'gzipcompression' => 0,
     885        'hack_file' => 0,
     886        'blog_charset' => 'UTF-8',
     887        'moderation_keys' => '',
     888        'active_plugins' => array(),
     889        'home' => $guessurl,
     890        'category_base' => '',
     891        'ping_sites' => 'http://rpc.pingomatic.com/',
     892        'advanced_edit' => 0,
     893        'comment_max_links' => 2,
     894        'gmt_offset' => $gmt_offset,
     895
     896        // 1.5
     897        'default_email_category' => 1,
     898        'recently_edited' => '',
     899        'template' => $template,
     900        'stylesheet' => WP_DEFAULT_THEME,
     901        'comment_whitelist' => 1,
     902        'blacklist_keys' => '',
     903        'comment_registration' => 0,
     904        'html_type' => 'text/html',
     905
     906        // 1.5.1
     907        'use_trackback' => 0,
     908
     909        // 2.0
     910        'default_role' => 'subscriber',
     911        'db_version' => $wp_db_version,
     912
     913        // 2.0.1
     914        'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders,
     915        'upload_path' => '',
     916
     917        // 2.1
     918        'blog_public' => '1',
     919        'default_link_category' => 2,
     920        'show_on_front' => 'posts',
     921
     922        // 2.2
     923        'tag_base' => '',
     924
     925        // 2.5
     926        'show_avatars' => '1',
     927        'avatar_rating' => 'G',
     928        'upload_url_path' => '',
     929        'thumbnail_size_w' => 150,
     930        'thumbnail_size_h' => 150,
     931        'thumbnail_crop' => 1,
     932        'medium_size_w' => 300,
     933        'medium_size_h' => 300,
     934
     935        // 2.6
     936        'avatar_default' => 'mystery',
     937        'enable_app' => 0,
     938        'enable_xmlrpc' => 0,
     939
     940        // 2.7
     941        'large_size_w' => 1024,
     942        'large_size_h' => 1024,
     943        'image_default_link_type' => 'file',
     944        'image_default_size' => '',
     945        'image_default_align' => '',
     946        'close_comments_for_old_posts' => 0,
     947        'close_comments_days_old' => 14,
     948        'thread_comments' => 1,
     949        'thread_comments_depth' => 5,
     950        'page_comments' => 0,
     951        'comments_per_page' => 50,
     952        'default_comments_page' => 'newest',
     953        'comment_order' => 'asc',
     954        'sticky_posts' => array(),
     955        'widget_categories' => array(),
     956        'widget_text' => array(),
     957        'widget_rss' => array(),
     958        'uninstall_plugins' => array(),
     959
     960        // 2.8
     961        'timezone_string' => $timezone_string,
     962
     963        // 2.9
     964        'embed_autourls' => 1,
     965        'embed_size_w' => '',
     966        'embed_size_h' => 600,
     967
     968        // 3.0
     969        'page_for_posts' => 0,
     970        'page_on_front' => 0,
     971
     972        // 3.1
     973        'default_post_format' => 0,
     974        );
     975
     976        // 3.3
     977        if ( ! is_multisite() ) {
     978                $options['initial_db_version'] = ( ! empty( $wp_current_db_version ) && $wp_current_db_version < $wp_db_version )
     979                        ? $wp_current_db_version : $wp_db_version;
     980        }
     981
     982        // 3.0 multisite
     983        if ( is_multisite() ) {
     984                /* translators: blog tagline */
     985                $options[ 'blogdescription' ] = sprintf( __( 'Just another %s site' ), $current_site->site_name );
     986                $options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/';
     987                $options[ 'WPLANG' ] = get_site_option( 'WPLANG' );
     988        }
     989       
     990        return apply_filters( 'network_default_options', $options );
     991}
     992
     993/**
     994 * Returns a list of Multisite options that aren't autoloaded
     995 *
     996 * @return array filtered option names
     997 */
     998function ms_fat_options() {
     999        $option_names = array( 'moderation_keys', 'recently_edited', 'blacklist_keys', 'uninstall_plugins' );
     1000        return apply_filters( 'network_fat_options', $option_names );
     1001}
     1002 No newline at end of file
  • wp-admin/network/site-settings.php

     
    113113        <table class="form-table">
    114114                <?php
    115115                $blog_prefix = $wpdb->get_blog_prefix( $id );
     116               
     117                $default_options = ms_default_options();
    116118                $options = $wpdb->get_results( "SELECT * FROM {$blog_prefix}options WHERE option_name NOT LIKE '\_%' AND option_name NOT LIKE '%user_roles'" );
     119               
    117120                foreach ( $options as $option ) {
    118                         if ( $option->option_name == 'default_role' )
     121                        if ( isset( $default_options[$option->option_name] ) )
     122                                unset( $default_options[$option->option_name] );
     123                }
     124               
     125                if ( ! empty( $default_options ) ) {
     126                        foreach ( $default_options as $name => $value ) {
     127                                $_option = new stdClass();
     128                                $_option->option_name = $name;
     129                                $_option->option_value = $value;
     130                                $_option->autoload = in_array( $name, ms_fat_options() ) ? 'no' : 'yes';
     131                                $options[] = $_option;
     132                        }
     133                }
     134               
     135                foreach ( $options as $option ) {
     136                        if ( 'default_role' === $option->option_name )
    119137                                $editblog_default_role = $option->option_value;
     138                       
    120139                        $disabled = false;
    121140                        $class = 'all-options';
     141                       
    122142                        if ( is_serialized( $option->option_value ) ) {
    123143                                if ( is_serialized_string( $option->option_value ) ) {
    124144                                        $option->option_value = esc_html( maybe_unserialize( $option->option_value ), 'single' );
     
    128148                                        $class = 'all-options disabled';
    129149                                }
    130150                        }
     151                       
    131152                        if ( strpos( $option->option_value, "\n" ) !== false ) {
    132153                        ?>
    133154                                <tr class="form-field">
  • wp-admin/options.php

     
    8787} else {
    8888        $whitelist_options['general'][] = 'new_admin_email';
    8989        $whitelist_options['general'][] = 'WPLANG';
    90         $whitelist_options['general'][] = 'language';
    9190
    9291        if ( apply_filters( 'enable_post_by_email_configuration', true ) )
    9392                $whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);