/** * Create WordPress options and set the default values. * * @since 1.5.0 * @uses $wpdb * @uses $wp_db_version */ function populate_options() { global $wpdb, $wp_db_version, $current_site; $guessurl = wp_guess_url(); do_action('populate_options'); if (ini_get('safe_mode')) { // Safe mode can break mkdir() so use a flat structure by default. $uploads_use_yearmonth_folders = 0; } else { $uploads_use_yearmonth_folders = 1; } $options = array('siteurl' => $guessurl, 'blogname' => __('My Site'), 'blogdescription' => __('Just another WordPress site'), 'users_can_register' => 0, 'admin_email' => '*****@*****.**', 'start_of_week' => 1, 'use_balanceTags' => 0, 'use_smilies' => 0, 'require_name_email' => 1, 'comments_notify' => 1, 'posts_per_rss' => 10, 'rss_use_excerpt' => 0, 'mailserver_url' => 'mail.example.com', 'mailserver_login' => '*****@*****.**', 'mailserver_pass' => 'password', 'mailserver_port' => 110, 'default_category' => 1, 'default_comment_status' => 'open', 'default_ping_status' => 'open', 'default_pingback_flag' => 1, 'default_post_edit_rows' => 10, 'posts_per_page' => 10, 'date_format' => __('F j, Y'), 'time_format' => __('g:i a'), 'links_updated_date_format' => __('F j, Y g:i a'), 'links_recently_updated_prepend' => '<em>', 'links_recently_updated_append' => '</em>', 'links_recently_updated_time' => 120, 'comment_moderation' => 0, 'moderation_notify' => 1, 'permalink_structure' => '', 'gzipcompression' => 0, 'hack_file' => 0, 'blog_charset' => 'UTF-8', 'moderation_keys' => '', 'active_plugins' => array(), 'home' => $guessurl, 'category_base' => '', 'ping_sites' => 'http://rpc.pingomatic.com/', 'advanced_edit' => 0, 'comment_max_links' => 2, 'gmt_offset' => date('Z') / 3600, 'default_email_category' => 1, 'recently_edited' => '', 'template' => WP_DEFAULT_THEME, 'stylesheet' => WP_DEFAULT_THEME, 'comment_whitelist' => 1, 'blacklist_keys' => '', 'comment_registration' => 0, 'rss_language' => 'en', 'html_type' => 'text/html', 'use_trackback' => 0, 'default_role' => 'subscriber', 'db_version' => $wp_db_version, 'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders, 'upload_path' => '', 'blog_public' => '1', 'default_link_category' => 2, 'show_on_front' => 'posts', 'tag_base' => '', 'show_avatars' => '1', 'avatar_rating' => 'G', 'upload_url_path' => '', 'thumbnail_size_w' => 150, 'thumbnail_size_h' => 150, 'thumbnail_crop' => 1, 'medium_size_w' => 300, 'medium_size_h' => 300, 'avatar_default' => 'mystery', 'enable_app' => 0, 'enable_xmlrpc' => 0, 'large_size_w' => 1024, 'large_size_h' => 1024, 'image_default_link_type' => 'file', 'image_default_size' => '', 'image_default_align' => '', 'close_comments_for_old_posts' => 0, 'close_comments_days_old' => 14, 'thread_comments' => 1, 'thread_comments_depth' => 5, 'page_comments' => 0, 'comments_per_page' => 50, 'default_comments_page' => 'newest', 'comment_order' => 'asc', 'sticky_posts' => array(), 'widget_categories' => array(), 'widget_text' => array(), 'widget_rss' => array(), 'timezone_string' => '', 'embed_autourls' => 1, 'embed_size_w' => '', 'embed_size_h' => 600, 'page_for_posts' => 0, 'page_on_front' => 0); // 3.0 multisite if (is_multisite()) { /* translators: blog tagline */ $options['blogdescription'] = sprintf(__('Just another %s site'), $current_site->site_name); $options['permalink_structure'] = '/%year%/%monthnum%/%day%/%postname%/'; } // Set autoload to no for these options $fat_options = array('moderation_keys', 'recently_edited', 'blacklist_keys'); $existing_options = $wpdb->get_col("SELECT option_name FROM {$wpdb->options}"); $insert = ''; foreach ($options as $option => $value) { if (in_array($option, $existing_options)) { continue; } if (in_array($option, $fat_options)) { $autoload = 'no'; } else { $autoload = 'yes'; } $option = $wpdb->escape($option); if (is_array($value)) { $value = serialize($value); } $value = $wpdb->escape($value); if (!empty($insert)) { $insert .= ', '; } $insert .= "('{$option}', '{$value}', '{$autoload}')"; } if (!empty($insert)) { $wpdb->query("INSERT INTO {$wpdb->options} (option_name, option_value, autoload) VALUES " . $insert); } // in case it is set, but blank, update "home" if (!__get_option('home')) { update_option('home', $guessurl); } // Delete unused options $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'); foreach ($unusedoptions as $option) { delete_option($option); } // delete obsolete magpie stuff $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?\$'"); }
/** * Create WordPress options and set the default values. * * @since 1.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global int $wp_db_version * @global int $wp_current_db_version */ function populate_options() { global $wpdb, $wp_db_version, $wp_current_db_version; $guessurl = wp_guess_url(); /** * Fires before creating WordPress options and populating their default values. * * @since 2.6.0 */ do_action('populate_options'); if (ini_get('safe_mode')) { // Safe mode can break mkdir() so use a flat structure by default. $uploads_use_yearmonth_folders = 0; } else { $uploads_use_yearmonth_folders = 1; } // If WP_DEFAULT_THEME doesn't exist, fall back to the latest core default theme. $stylesheet = $template = WP_DEFAULT_THEME; $theme = wp_get_theme(WP_DEFAULT_THEME); if (!$theme->exists()) { $theme = WP_Theme::get_core_default_theme(); } // If we can't find a core default theme, WP_DEFAULT_THEME is the best we can do. if ($theme) { $stylesheet = $theme->get_stylesheet(); $template = $theme->get_template(); } $timezone_string = ''; $gmt_offset = 0; /* translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14) or a valid timezone string (America/New_York). See http://us3.php.net/manual/en/timezones.php for all timezone strings supported by PHP. */ $offset_or_tz = _x('0', 'default GMT offset or timezone string'); if (is_numeric($offset_or_tz)) { $gmt_offset = $offset_or_tz; } elseif ($offset_or_tz && in_array($offset_or_tz, timezone_identifiers_list())) { $timezone_string = $offset_or_tz; } $options = array('siteurl' => $guessurl, 'home' => $guessurl, 'blogname' => __('My Site'), 'blogdescription' => __('Just another WordPress site'), 'users_can_register' => 0, 'admin_email' => '*****@*****.**', 'start_of_week' => _x('1', 'start of week'), 'use_balanceTags' => 0, 'use_smilies' => 1, 'require_name_email' => 1, 'comments_notify' => 1, 'posts_per_rss' => 10, 'rss_use_excerpt' => 0, 'mailserver_url' => 'mail.example.com', 'mailserver_login' => '*****@*****.**', 'mailserver_pass' => 'password', 'mailserver_port' => 110, 'default_category' => 1, 'default_comment_status' => 'closed', 'default_ping_status' => 'closed', 'default_pingback_flag' => 0, 'posts_per_page' => 10, 'date_format' => __('Y/m/d'), 'time_format' => __('H:i'), 'links_updated_date_format' => __('Y/m/d H:i'), 'comment_moderation' => 0, 'moderation_notify' => 1, 'permalink_structure' => '', 'hack_file' => 0, 'blog_charset' => 'UTF-8', 'moderation_keys' => '', 'active_plugins' => array(), 'category_base' => '', 'ping_sites' => 'http://rpc.pingomatic.com/', 'comment_max_links' => 2, 'gmt_offset' => $gmt_offset, 'default_email_category' => 1, 'recently_edited' => '', 'template' => $template, 'stylesheet' => $stylesheet, 'comment_whitelist' => 1, 'blacklist_keys' => '', 'comment_registration' => 0, 'html_type' => 'text/html', 'use_trackback' => 0, 'default_role' => 'subscriber', 'db_version' => $wp_db_version, 'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders, 'upload_path' => '', 'blog_public' => '1', 'default_link_category' => 2, 'show_on_front' => 'page', 'tag_base' => '', 'show_avatars' => '1', 'avatar_rating' => 'G', 'upload_url_path' => '', 'thumbnail_size_w' => 150, 'thumbnail_size_h' => 150, 'thumbnail_crop' => 1, 'medium_size_w' => 300, 'medium_size_h' => 300, 'avatar_default' => 'mystery', 'large_size_w' => 1024, 'large_size_h' => 1024, 'image_default_link_type' => 'none', 'image_default_size' => '', 'image_default_align' => '', 'close_comments_for_old_posts' => 0, 'close_comments_days_old' => 14, 'thread_comments' => 1, 'thread_comments_depth' => 5, 'page_comments' => 0, 'comments_per_page' => 50, 'default_comments_page' => 'newest', 'comment_order' => 'asc', 'sticky_posts' => array(), 'widget_categories' => array(), 'widget_text' => array(), 'widget_rss' => array(), 'uninstall_plugins' => array(), 'timezone_string' => $timezone_string, 'page_for_posts' => 0, 'page_on_front' => 2, 'default_post_format' => 0, 'link_manager_enabled' => 0, 'finished_splitting_shared_terms' => 1, 'site_icon' => 0, 'medium_large_size_w' => 768, 'medium_large_size_h' => 0); // 3.3 if (!is_multisite()) { $options['initial_db_version'] = !empty($wp_current_db_version) && $wp_current_db_version < $wp_db_version ? $wp_current_db_version : $wp_db_version; } // 3.0 multisite if (is_multisite()) { /* translators: blog tagline */ $options['blogdescription'] = sprintf(__('Just another %s site'), get_current_site()->site_name); $options['permalink_structure'] = '/%year%/%monthnum%/%day%/%postname%/'; } // Set autoload to no for these options $fat_options = array('moderation_keys', 'recently_edited', 'blacklist_keys', 'uninstall_plugins'); $keys = "'" . implode("', '", array_keys($options)) . "'"; $existing_options = $wpdb->get_col("SELECT option_name FROM {$wpdb->options} WHERE option_name in ( {$keys} )"); $insert = ''; foreach ($options as $option => $value) { if (in_array($option, $existing_options)) { continue; } if (in_array($option, $fat_options)) { $autoload = 'no'; } else { $autoload = 'yes'; } if (is_array($value)) { $value = serialize($value); } if (!empty($insert)) { $insert .= ', '; } $insert .= $wpdb->prepare("(%s, %s, %s)", $option, $value, $autoload); } if (!empty($insert)) { $wpdb->query("INSERT INTO {$wpdb->options} (option_name, option_value, autoload) VALUES " . $insert); } // In case it is set, but blank, update "home". if (!__get_option('home')) { update_option('home', $guessurl); } // Delete unused options. $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', 'links_recently_updated_time', 'links_recently_updated_prepend', 'links_recently_updated_append', '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', 'enable_xmlrpc', 'enable_app', 'embed_autourls', 'default_post_edit_rows', 'gzipcompression', 'advanced_edit'); foreach ($unusedoptions as $option) { delete_option($option); } // Delete obsolete magpie stuff. $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?\$'"); /* * Deletes all expired transients. The multi-table delete syntax is used * to delete the transient record from table a, and the corresponding * transient_timeout record from table b. */ $time = time(); $sql = "DELETE a, b FROM {$wpdb->options} a, {$wpdb->options} b\n\t\tWHERE a.option_name LIKE %s\n\t\tAND a.option_name NOT LIKE %s\n\t\tAND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) )\n\t\tAND b.option_value < %d"; $wpdb->query($wpdb->prepare($sql, $wpdb->esc_like('_transient_') . '%', $wpdb->esc_like('_transient_timeout_') . '%', $time)); if (is_main_site() && is_main_network()) { $sql = "DELETE a, b FROM {$wpdb->options} a, {$wpdb->options} b\n\t\t\tWHERE a.option_name LIKE %s\n\t\t\tAND a.option_name NOT LIKE %s\n\t\t\tAND b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) )\n\t\t\tAND b.option_value < %d"; $wpdb->query($wpdb->prepare($sql, $wpdb->esc_like('_site_transient_') . '%', $wpdb->esc_like('_site_transient_timeout_') . '%', $time)); } }
/** * {@internal Missing Short Description}} * * {@internal Missing Long Description}} * * @since unknown */ function maybe_disable_automattic_widgets() { $plugins = __get_option('active_plugins'); foreach ((array) $plugins as $plugin) { if (basename($plugin) == 'widgets.php') { array_splice($plugins, array_search($plugin, $plugins), 1); update_option('active_plugins', $plugins); break; } } }
function populate_options() { global $wpdb, $wp_db_version; $schema = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https://' : 'http://'; $guessurl = preg_replace('|/wp-admin/.*|i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); add_option('siteurl', $guessurl); add_option('blogname', __('My Blog')); add_option('blogdescription', __('Just another WordPress weblog')); add_option('users_can_register', 0); add_option('admin_email', '*****@*****.**'); add_option('start_of_week', 1); add_option('use_balanceTags', 0); add_option('use_smilies', 1); add_option('require_name_email', 1); add_option('comments_notify', 1); add_option('posts_per_rss', 10); add_option('rss_excerpt_length', 50); add_option('rss_use_excerpt', 0); add_option('mailserver_url', 'mail.example.com'); add_option('mailserver_login', '*****@*****.**'); add_option('mailserver_pass', 'password'); add_option('mailserver_port', 110); add_option('default_category', 1); add_option('default_comment_status', 'open'); add_option('default_ping_status', 'open'); add_option('default_pingback_flag', 1); add_option('default_post_edit_rows', 10); add_option('posts_per_page', 10); add_option('what_to_show', 'posts'); add_option('date_format', __('F j, Y')); add_option('time_format', __('g:i a')); add_option('links_updated_date_format', __('F j, Y g:i a')); add_option('links_recently_updated_prepend', '<em>'); add_option('links_recently_updated_append', '</em>'); add_option('links_recently_updated_time', 120); add_option('comment_moderation', 0); add_option('moderation_notify', 1); add_option('permalink_structure'); add_option('gzipcompression', 0); add_option('hack_file', 0); add_option('blog_charset', 'UTF-8'); add_option('moderation_keys'); add_option('active_plugins'); add_option('home', $guessurl); // in case it is set, but blank, update "home" if (!__get_option('home')) { update_option('home', $guessurl); } add_option('category_base'); add_option('ping_sites', 'http://rpc.pingomatic.com/'); add_option('advanced_edit', 0); add_option('comment_max_links', 2); add_option('gmt_offset', date('Z') / 3600); // 1.5 add_option('default_email_category', 1); add_option('recently_edited'); add_option('use_linksupdate', 0); add_option('template', 'default'); add_option('stylesheet', 'default'); add_option('comment_whitelist', 1); add_option('page_uris'); add_option('blacklist_keys'); add_option('comment_registration', 0); add_option('rss_language', 'en'); add_option('html_type', 'text/html'); // 1.5.1 add_option('use_trackback', 0); // 2.0 add_option('default_role', 'subscriber'); add_option('db_version', $wp_db_version); // 2.0.1 if (ini_get('safe_mode')) { // Safe mode screws up mkdir(), so we must use a flat structure. add_option('uploads_use_yearmonth_folders', 0); add_option('upload_path', 'wp-content'); } else { add_option('uploads_use_yearmonth_folders', 1); add_option('upload_path', 'wp-content/uploads'); } // 2.0.3 add_option('secret', md5(uniqid(microtime()))); // 2.1 add_option('blog_public', '1'); add_option('default_link_category', 2); add_option('show_on_front', 'posts'); // 2.2 add_option('tag_base'); // Delete unused options $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'); foreach ($unusedoptions as $option) { delete_option($option); } // Set up a few options not to load by default $fatoptions = array('moderation_keys', 'recently_edited', 'blacklist_keys'); foreach ($fatoptions as $fatoption) { $wpdb->query("UPDATE {$wpdb->options} SET `autoload` = 'no' WHERE option_name = '{$fatoption}'"); } }
<p class="step"><a class="button button-large" href="upgrade.php?step=1&backto=<?php echo $goback; ?> "><?php _e('Update WordPress Database'); ?> </a> </p> <?php break; case 1: wp_upgrade(); $backto = !empty($_GET['backto']) ? wp_unslash(urldecode($_GET['backto'])) : __get_option('home') . '/'; $backto = esc_url($backto); $backto = wp_validate_redirect($backto, __get_option('home') . '/'); ?> <h2><?php _e('Update Complete'); ?> </h2> <p><?php _e('Your WordPress database has been successfully updated!'); ?> </p> <p class="step"><a class="button button-large" href="<?php echo $backto; ?> "><?php _e('Continue'); ?>
<p><?php _e('This file upgrades you from any previous version of WordPress to the latest. It may take a while though, so be patient.'); ?></p> <h2 class="step"><a href="upgrade.php?step=1&backto=<?php echo $goback; ?>"><?php _e('Upgrade WordPress »'); ?></a></h2> <?php break; case 1: $wp_current_db_version = __get_option('db_version'); if ( $wp_db_version != $wp_current_db_version ) { wp_cache_flush(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); } if ( empty( $_GET['backto'] ) ) $backto = __get_option('home'); else $backto = attribute_escape(stripslashes($_GET['backto'])); ?> <h2><?php _e('Step 1'); ?></h2> <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"), $backto); ?></p> <!-- <pre> <?php printf(__('%s queries'), $wpdb->num_queries); ?> <?php printf(__('%s seconds'), timer_stop(0)); ?> </pre> --> <?php
/** * Update the WordPress database. * * [--network] * : Update databases for all sites on a network * * [--dry-run] * : Compare database versions without performing the update. * * @subcommand update-db */ function update_db($_, $assoc_args) { global $wpdb, $wp_db_version, $wp_current_db_version; $network = Utils\get_flag_value($assoc_args, 'network'); if ($network && !is_multisite()) { WP_CLI::error('This is not a multisite install.'); } $dry_run = Utils\get_flag_value($assoc_args, 'dry-run'); if ($dry_run) { WP_CLI::log('Performing a dry run, with no database modification.'); } if ($network) { $iterator_args = array('table' => $wpdb->blogs, 'where' => array('spam' => 0, 'deleted' => 0, 'archived' => 0)); $it = new \WP_CLI\Iterators\Table($iterator_args); $success = $total = 0; foreach ($it as $blog) { $total++; $url = $blog->domain . $blog->path; $process = WP_CLI::launch_self('core update-db', array(), array(), false, true, array('url' => $url, 'dry-run' => $dry_run)); if (0 == $process->return_code) { // See if we can parse the stdout if (preg_match('#Success: (.+)#', $process->stdout, $matches)) { $message = "{$matches[1]} on {$url}"; } else { $message = "Database upgraded successfully on {$url}"; } WP_CLI::log($message); $success++; } else { WP_CLI::warning("Database failed to upgrade on {$url}"); } } if (!$dry_run && $total && $success == $total) { update_site_option('wpmu_upgrade_site', $wp_db_version); } WP_CLI::success(sprintf('WordPress database upgraded on %d/%d sites', $success, $total)); } else { require_once ABSPATH . 'wp-admin/includes/upgrade.php'; $wp_current_db_version = __get_option('db_version'); if ($wp_db_version != $wp_current_db_version) { if (!$dry_run) { wp_upgrade(); } WP_CLI::success("WordPress database upgraded successfully from db version {$wp_current_db_version} to {$wp_db_version}"); } else { WP_CLI::success("WordPress database already at latest db version {$wp_db_version}"); } } }
function make_site_theme() { // Name the theme after the blog. $theme_name = __get_option('blogname'); $template = sanitize_title($theme_name); $site_dir = ABSPATH . "wp-content/themes/{$template}"; // If the theme already exists, nothing to do. if (is_dir($site_dir)) { return false; } // We must be able to write to the themes dir. if (!is_writable(ABSPATH . "wp-content/themes")) { return false; } umask(0); if (!mkdir($site_dir, 0777)) { return false; } if (file_exists(ABSPATH . 'wp-layout.css')) { if (!make_site_theme_from_oldschool($theme_name, $template)) { // TODO: rm -rf the site theme directory. return false; } } else { if (!make_site_theme_from_default($theme_name, $template)) { // TODO: rm -rf the site theme directory. return false; } } // Make the new site theme active. $current_template = __get_option('template'); if ($current_template == 'default') { update_option('template', $template); update_option('stylesheet', $template); } return $template; }
/** * Create WordPress options and set the default values. * * @since 1.5.0 * @uses $wpdb * @uses $wp_db_version */ function populate_options() { global $wpdb, $wp_db_version; $guessurl = wp_guess_url(); do_action('populate_options'); add_option('siteurl', $guessurl); add_option('blogname', __('My Blog')); add_option('blogdescription', __('Just another WordPress weblog')); add_option('users_can_register', 0); add_option('admin_email', '*****@*****.**'); add_option('start_of_week', 1); add_option('use_balanceTags', 0); add_option('use_smilies', 1); add_option('require_name_email', 1); add_option('comments_notify', 1); add_option('posts_per_rss', 10); add_option('rss_excerpt_length', 50); add_option('rss_use_excerpt', 0); add_option('mailserver_url', 'mail.example.com'); add_option('mailserver_login', '*****@*****.**'); add_option('mailserver_pass', 'password'); add_option('mailserver_port', 110); add_option('default_category', 1); add_option('default_comment_status', 'open'); add_option('default_ping_status', 'open'); add_option('default_pingback_flag', 1); add_option('default_post_edit_rows', 10); add_option('posts_per_page', 10); add_option('what_to_show', 'posts'); add_option('date_format', __('F j, Y')); add_option('time_format', __('g:i a')); add_option('links_updated_date_format', __('F j, Y g:i a')); add_option('links_recently_updated_prepend', '<em>'); add_option('links_recently_updated_append', '</em>'); add_option('links_recently_updated_time', 120); add_option('comment_moderation', 0); add_option('moderation_notify', 1); add_option('permalink_structure'); add_option('gzipcompression', 0); add_option('hack_file', 0); add_option('blog_charset', 'UTF-8'); add_option('moderation_keys'); add_option('active_plugins'); add_option('home', $guessurl); // in case it is set, but blank, update "home" if ( !__get_option('home') ) update_option('home', $guessurl); add_option('category_base'); add_option('ping_sites', 'http://rpc.pingomatic.com/'); add_option('advanced_edit', 0); add_option('comment_max_links', 2); add_option('gmt_offset', date('Z') / 3600); // 1.5 add_option('default_email_category', 1); add_option('recently_edited'); add_option('use_linksupdate', 0); add_option('template', 'default'); add_option('stylesheet', 'default'); add_option('comment_whitelist', 1); add_option('page_uris'); add_option('blacklist_keys'); add_option('comment_registration', 0); add_option('rss_language', 'en'); add_option('html_type', 'text/html'); // 1.5.1 add_option('use_trackback', 0); // 2.0 add_option('default_role', 'subscriber'); add_option('db_version', $wp_db_version); // 2.0.1 if ( ini_get('safe_mode') ) { // Safe mode screws up mkdir(), so we must use a flat structure. add_option('uploads_use_yearmonth_folders', 0); add_option('upload_path', WP_CONTENT_DIR); } else { add_option('uploads_use_yearmonth_folders', 1); add_option('upload_path', WP_CONTENT_DIR . '/uploads'); } // 2.0.3 add_option('secret', wp_generate_password(64)); // 2.1 add_option('blog_public', '1'); add_option('default_link_category', 2); add_option('show_on_front', 'posts'); // 2.2 add_option('tag_base'); // 2.5 add_option('show_avatars', '1'); add_option('avatar_rating', 'G'); add_option('upload_url_path', ''); add_option('thumbnail_size_w', 150); add_option('thumbnail_size_h', 150); add_option('thumbnail_crop', 1); add_option('medium_size_w', 300); add_option('medium_size_h', 300); // 2.6 add_option('avatar_default', 'mystery'); add_option('enable_app', 0); add_option('enable_xmlrpc', 0); // 2.7 add_option('large_size_w', 1024); add_option('large_size_h', 1024); add_option('image_default_link_type', 'file'); add_option('image_default_size', ''); add_option('image_default_align', ''); add_option('close_comments_for_old_posts', 0); add_option('close_comments_days_old', 14); add_option('thread_comments', 0); add_option('thread_comments_depth', 5); add_option('page_comments', 1); add_option('comments_per_page', 50); add_option('default_comments_page', 'newest'); add_option('comment_order', 'asc'); add_option('use_ssl', 0); add_option('sticky_posts', array()); add_option('widget_categories', array()); add_option('widget_text', array()); add_option('widget_rss', array()); add_option('update_core', array()); add_option('dismissed_update_core', array()); // Delete unused options $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'); foreach ($unusedoptions as $option) : delete_option($option); endforeach; // Set up a few options not to load by default $fatoptions = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' ); foreach ($fatoptions as $fatoption) : $wpdb->query("UPDATE $wpdb->options SET `autoload` = 'no' WHERE option_name = '$fatoption'"); endforeach; }
</a></h2> <?php break; case 1: wp_cache_flush(); make_db_current_silent(); upgrade_all(); wp_cache_flush(); ?> <h2><?php _e('Step 1'); ?> </h2> <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"), __get_option('home') . '/'); ?> </p> <!-- <pre> <?php printf(__('%s queries'), $wpdb->num_queries); ?> <?php printf(__('%s seconds'), timer_stop(0)); ?> </pre> -->
/** * Create WordPress options and set the default values. * * @since 1.5.0 * @uses $wpdb * @uses $wp_db_version */ function populate_options() { global $wpdb, $wp_db_version, $current_site, $wp_current_db_version; $guessurl = wp_guess_url(); do_action('populate_options'); if ( ini_get('safe_mode') ) { // Safe mode can break mkdir() so use a flat structure by default. $uploads_use_yearmonth_folders = 0; } else { $uploads_use_yearmonth_folders = 1; } $template = WP_DEFAULT_THEME; // If default theme is a child theme, we need to get its template $theme = wp_get_theme( $template ); if ( ! $theme->errors() ) $template = $theme->get_template(); $timezone_string = ''; $gmt_offset = 0; /* translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14) or a valid timezone string (America/New_York). See http://us3.php.net/manual/en/timezones.php for all timezone strings supported by PHP. */ $offset_or_tz = _x( '0', 'default GMT offset or timezone string' ); if ( is_numeric( $offset_or_tz ) ) $gmt_offset = $offset_or_tz; elseif ( $offset_or_tz && in_array( $offset_or_tz, timezone_identifiers_list() ) ) $timezone_string = $offset_or_tz; $options = array( 'siteurl' => $guessurl, 'blogname' => __('My Site'), /* translators: blog tagline */ 'blogdescription' => __('Just another WordPress site'), 'users_can_register' => 0, 'admin_email' => '*****@*****.**', /* translators: default start of the week. 0 = Sunday, 1 = Monday */ 'start_of_week' => _x( '1', 'start of week' ), 'use_balanceTags' => 0, 'use_smilies' => 1, 'require_name_email' => 1, 'comments_notify' => 1, 'posts_per_rss' => 10, 'rss_use_excerpt' => 0, 'mailserver_url' => 'mail.example.com', 'mailserver_login' => '*****@*****.**', 'mailserver_pass' => 'password', 'mailserver_port' => 110, 'default_category' => 1, 'default_comment_status' => 'open', 'default_ping_status' => 'open', 'default_pingback_flag' => 1, 'posts_per_page' => 10, /* translators: default date format, see http://php.net/date */ 'date_format' => __('F j, Y'), /* translators: default time format, see http://php.net/date */ 'time_format' => __('g:i a'), /* translators: links last updated date format, see http://php.net/date */ 'links_updated_date_format' => __('F j, Y g:i a'), 'links_recently_updated_prepend' => '<em>', 'links_recently_updated_append' => '</em>', 'links_recently_updated_time' => 120, 'comment_moderation' => 0, 'moderation_notify' => 1, 'permalink_structure' => '', 'gzipcompression' => 0, 'hack_file' => 0, 'blog_charset' => 'UTF-8', 'moderation_keys' => '', 'active_plugins' => array(), 'home' => $guessurl, 'category_base' => '', 'ping_sites' => 'http://rpc.pingomatic.com/', 'advanced_edit' => 0, 'comment_max_links' => 2, 'gmt_offset' => $gmt_offset, // 1.5 'default_email_category' => 1, 'recently_edited' => '', 'template' => $template, 'stylesheet' => WP_DEFAULT_THEME, 'comment_whitelist' => 1, 'blacklist_keys' => '', 'comment_registration' => 0, 'html_type' => 'text/html', // 1.5.1 'use_trackback' => 0, // 2.0 'default_role' => 'subscriber', 'db_version' => $wp_db_version, // 2.0.1 'uploads_use_yearmonth_folders' => $uploads_use_yearmonth_folders, 'upload_path' => '', // 2.1 'blog_public' => '1', 'default_link_category' => 2, 'show_on_front' => 'posts', // 2.2 'tag_base' => '', // 2.5 'show_avatars' => '1', 'avatar_rating' => 'G', 'upload_url_path' => '', 'thumbnail_size_w' => 150, 'thumbnail_size_h' => 150, 'thumbnail_crop' => 1, 'medium_size_w' => 300, 'medium_size_h' => 300, // 2.6 'avatar_default' => 'mystery', // 2.7 'large_size_w' => 1024, 'large_size_h' => 1024, 'image_default_link_type' => 'file', 'image_default_size' => '', 'image_default_align' => '', 'close_comments_for_old_posts' => 0, 'close_comments_days_old' => 14, 'thread_comments' => 1, 'thread_comments_depth' => 5, 'page_comments' => 0, 'comments_per_page' => 50, 'default_comments_page' => 'newest', 'comment_order' => 'asc', 'sticky_posts' => array(), 'widget_categories' => array(), 'widget_text' => array(), 'widget_rss' => array(), 'uninstall_plugins' => array(), // 2.8 'timezone_string' => $timezone_string, // 3.0 'page_for_posts' => 0, 'page_on_front' => 0, // 3.1 'default_post_format' => 0, // 3.5 'link_manager_enabled' => 0, ); // 3.3 if ( ! is_multisite() ) { $options['initial_db_version'] = ! empty( $wp_current_db_version ) && $wp_current_db_version < $wp_db_version ? $wp_current_db_version : $wp_db_version; } // 3.0 multisite if ( is_multisite() ) { /* translators: blog tagline */ $options[ 'blogdescription' ] = sprintf(__('Just another %s site'), $current_site->site_name ); $options[ 'permalink_structure' ] = '/%year%/%monthnum%/%day%/%postname%/'; } // Set autoload to no for these options $fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys', 'uninstall_plugins' ); $existing_options = $wpdb->get_col("SELECT option_name FROM $wpdb->options"); $insert = ''; foreach ( $options as $option => $value ) { if ( in_array($option, $existing_options) ) continue; if ( in_array($option, $fat_options) ) $autoload = 'no'; else $autoload = 'yes'; $option = $wpdb->escape($option); if ( is_array($value) ) $value = serialize($value); $value = $wpdb->escape($value); if ( !empty($insert) ) $insert .= ', '; $insert .= "('$option', '$value', '$autoload')"; } if ( !empty($insert) ) $wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert); // in case it is set, but blank, update "home" if ( !__get_option('home') ) update_option('home', $guessurl); // Delete unused options $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', 'enable_xmlrpc', 'enable_app', 'autoembed_urls', 'default_post_edit_rows', ); foreach ( $unusedoptions as $option ) delete_option($option); // delete obsolete magpie stuff $wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'"); }