WordPress.org

Make WordPress Core

Ticket #21546: site-settings.diff

File site-settings.diff, 21.5 KB (added by wonderboymusic, 21 months 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);