wp_cache_flush();
+ /**
+ * Fires after a site is fully installed.
+ *
+ * @since 3.9.0
+ *
+ * @param WP_User $user The site owner.
+ */
+ do_action( 'wp_install', $user );
+
return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message);
}
endif;
*
* @param int $user_id User ID.
*/
-function wp_install_defaults($user_id) {
- global $wpdb, $wp_rewrite, $current_site, $table_prefix;
+function wp_install_defaults( $user_id ) {
+ global $wpdb, $wp_rewrite, $table_prefix;
// Default category
$cat_name = __('Uncategorized');
$wpdb->insert( $wpdb->term_taxonomy, array('term_id' => $cat_id, 'taxonomy' => 'category', 'description' => '', 'parent' => 0, 'count' => 1));
$cat_tt_id = $wpdb->insert_id;
- // Default link category
- $cat_name = __('Blogroll');
- /* translators: Default link category slug */
- $cat_slug = sanitize_title(_x('Blogroll', 'Default link category slug'));
-
- if ( global_terms_enabled() ) {
- $blogroll_id = $wpdb->get_var( $wpdb->prepare( "SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $cat_slug ) );
- if ( $blogroll_id == null ) {
- $wpdb->insert( $wpdb->sitecategories, array('cat_ID' => 0, 'cat_name' => $cat_name, 'category_nicename' => $cat_slug, 'last_updated' => current_time('mysql', true)) );
- $blogroll_id = $wpdb->insert_id;
- }
- update_option('default_link_category', $blogroll_id);
- } else {
- $blogroll_id = 2;
- }
-
- $wpdb->insert( $wpdb->terms, array('term_id' => $blogroll_id, 'name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0) );
- $wpdb->insert( $wpdb->term_taxonomy, array('term_id' => $blogroll_id, 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 7));
- $blogroll_tt_id = $wpdb->insert_id;
-
- // Now drop in some default links
- $default_links = array();
- $default_links[] = array( 'link_url' => __( 'http://codex.wordpress.org/' ),
- 'link_name' => __( 'Documentation' ),
- 'link_rss' => '',
- 'link_notes' => '');
-
- $default_links[] = array( 'link_url' => __( 'http://wordpress.org/news/' ),
- 'link_name' => __( 'WordPress Blog' ),
- 'link_rss' => __( 'http://wordpress.org/news/feed/' ),
- 'link_notes' => '');
-
- $default_links[] = array( 'link_url' => __( 'http://wordpress.org/support/' ),
- 'link_name' => _x( 'Support Forums', 'default link' ),
- 'link_rss' => '',
- 'link_notes' =>'');
-
- $default_links[] = array( 'link_url' => 'http://wordpress.org/extend/plugins/',
- 'link_name' => _x( 'Plugins', 'Default link to wordpress.org/extend/plugins/' ),
- 'link_rss' => '',
- 'link_notes' =>'');
-
- $default_links[] = array( 'link_url' => 'http://wordpress.org/extend/themes/',
- 'link_name' => _x( 'Themes', 'Default link to wordpress.org/extend/themes/' ),
- 'link_rss' => '',
- 'link_notes' =>'');
-
- $default_links[] = array( 'link_url' => __( 'http://wordpress.org/support/forum/requests-and-feedback' ),
- 'link_name' => __( 'Feedback' ),
- 'link_rss' => '',
- 'link_notes' =>'');
-
- $default_links[] = array( 'link_url' => __( 'http://planet.wordpress.org/' ),
- 'link_name' => __( 'WordPress Planet' ),
- 'link_rss' => '',
- 'link_notes' =>'');
-
- foreach ( $default_links as $link ) {
- $wpdb->insert( $wpdb->links, $link);
- $wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => $blogroll_tt_id, 'object_id' => $wpdb->insert_id) );
- }
-
// First post
$now = date('Y-m-d H:i:s');
$now_gmt = gmdate('Y-m-d H:i:s');
$first_post = get_site_option( 'first_post' );
if ( empty($first_post) )
- $first_post = stripslashes( __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' ) );
+ $first_post = __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' );
$first_post = str_replace( "SITE_URL", esc_url( network_home_url() ), $first_post );
- $first_post = str_replace( "SITE_NAME", $current_site->site_name, $first_post );
+ $first_post = str_replace( "SITE_NAME", get_current_site()->site_name, $first_post );
} else {
$first_post = __('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!');
}
// Default comment
$first_comment_author = __('Mr WordPress');
- $first_comment_url = 'http://wordpress.org/';
- $first_comment = __('Hi, this is a comment.<br />To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.');
+ $first_comment_url = 'https://wordpress.org/';
+ $first_comment = __('Hi, this is a comment.
+To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.');
if ( is_multisite() ) {
$first_comment_author = get_site_option( 'first_comment_author', $first_comment_author );
$first_comment_url = get_site_option( 'first_comment_url', network_home_url() );
...or something like this:
-<blockquote>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickies to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.</blockquote>
+<blockquote>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.</blockquote>
As a new WordPress user, you should go to <a href=\"%s\">your dashboard</a> to delete this page and create new pages for your content. Have fun!" ), admin_url() );
if ( is_multisite() )
update_option( 'widget_archives', array ( 2 => array ( 'title' => '', 'count' => 0, 'dropdown' => 0 ), '_multiwidget' => 1 ) );
update_option( 'widget_categories', array ( 2 => array ( 'title' => '', 'count' => 0, 'hierarchical' => 0, 'dropdown' => 0 ), '_multiwidget' => 1 ) );
update_option( 'widget_meta', array ( 2 => array ( 'title' => '' ), '_multiwidget' => 1 ) );
- update_option( 'sidebars_widgets', array ( 'wp_inactive_widgets' => array ( ), 'sidebar-1' => array ( 0 => 'search-2', 1 => 'recent-posts-2', 2 => 'recent-comments-2', 3 => 'archives-2', 4 => 'categories-2', 5 => 'meta-2', ), 'sidebar-2' => array ( ), 'sidebar-3' => array ( ), 'sidebar-4' => array ( ), 'sidebar-5' => array ( ), 'array_version' => 3 ) );
+ update_option( 'sidebars_widgets', array ( 'wp_inactive_widgets' => array (), 'sidebar-1' => array ( 0 => 'search-2', 1 => 'recent-posts-2', 2 => 'recent-comments-2', 3 => 'archives-2', 4 => 'categories-2', 5 => 'meta-2', ), 'sidebar-2' => array (), 'sidebar-3' => array (), 'array_version' => 3 ) );
if ( ! is_multisite() )
update_user_meta( $user_id, 'show_welcome_panel', 1 );
* @param string $password User's Password.
*/
function wp_new_blog_notification($blog_title, $blog_url, $user_id, $password) {
- $user = new WP_User($user_id);
+ $user = new WP_User( $user_id );
$email = $user->user_email;
$name = $user->user_login;
$message = sprintf(__("Your new WordPress site has been successfully set up at:
We hope you enjoy your new site. Thanks!
--The WordPress Team
-http://wordpress.org/
+https://wordpress.org/
"), $blog_url, $name, $password);
@wp_mail($email, __('New WordPress Site'), $message);
else
$wpdb->query( "INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());" );
}
+
+ /**
+ * Fires after a site is fully upgraded.
+ *
+ * @since 3.9.0
+ *
+ * @param int $wp_db_version The new $wp_db_version.
+ * @param int $wp_current_db_version The old (current) $wp_db_version.
+ */
+ do_action( 'wp_upgrade', $wp_db_version, $wp_current_db_version );
}
endif;
if ( $wp_current_db_version < 20080 )
upgrade_340();
+ if ( $wp_current_db_version < 22422 )
+ upgrade_350();
+
+ if ( $wp_current_db_version < 25824 )
+ upgrade_370();
+
+ if ( $wp_current_db_version < 26148 )
+ upgrade_372();
+
+ if ( $wp_current_db_version < 26691 )
+ upgrade_380();
+
+ maybe_disable_link_manager();
+
maybe_disable_automattic_widgets();
update_option( 'db_version', $wp_db_version );
foreach ($categories as $category) {
if ('' == $category->category_nicename) {
$newtitle = sanitize_title($category->cat_name);
- $wpdb>update( $wpdb->categories, array('category_nicename' => $newtitle), array('cat_ID' => $category->cat_ID) );
+ $wpdb->update( $wpdb->categories, array('category_nicename' => $newtitle), array('cat_ID' => $category->cat_ID) );
}
}
$time_difference = $all_options->time_difference;
$server_time = time()+date('Z');
- $weblogger_time = $server_time + $time_difference*3600;
+ $weblogger_time = $server_time + $time_difference * HOUR_IN_SECONDS;
$gmt_time = time();
- $diff_gmt_server = ($gmt_time - $server_time) / 3600;
- $diff_weblogger_server = ($weblogger_time - $server_time) / 3600;
+ $diff_gmt_server = ($gmt_time - $server_time) / HOUR_IN_SECONDS;
+ $diff_weblogger_server = ($weblogger_time - $server_time) / HOUR_IN_SECONDS;
$diff_gmt_weblogger = $diff_gmt_server - $diff_weblogger_server;
$gmt_offset = -$diff_gmt_weblogger;
$users = $wpdb->get_results("SELECT * FROM $wpdb->users");
foreach ( $users as $user ) :
if ( !empty( $user->user_firstname ) )
- update_user_meta( $user->ID, 'first_name', $wpdb->escape($user->user_firstname) );
+ update_user_meta( $user->ID, 'first_name', wp_slash($user->user_firstname) );
if ( !empty( $user->user_lastname ) )
- update_user_meta( $user->ID, 'last_name', $wpdb->escape($user->user_lastname) );
+ update_user_meta( $user->ID, 'last_name', wp_slash($user->user_lastname) );
if ( !empty( $user->user_nickname ) )
- update_user_meta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) );
+ update_user_meta( $user->ID, 'nickname', wp_slash($user->user_nickname) );
if ( !empty( $user->user_level ) )
update_user_meta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level );
if ( !empty( $user->user_icq ) )
- update_user_meta( $user->ID, 'icq', $wpdb->escape($user->user_icq) );
+ update_user_meta( $user->ID, 'icq', wp_slash($user->user_icq) );
if ( !empty( $user->user_aim ) )
- update_user_meta( $user->ID, 'aim', $wpdb->escape($user->user_aim) );
+ update_user_meta( $user->ID, 'aim', wp_slash($user->user_aim) );
if ( !empty( $user->user_msn ) )
- update_user_meta( $user->ID, 'msn', $wpdb->escape($user->user_msn) );
+ update_user_meta( $user->ID, 'msn', wp_slash($user->user_msn) );
if ( !empty( $user->user_yim ) )
- update_user_meta( $user->ID, 'yim', $wpdb->escape($user->user_icq) );
+ update_user_meta( $user->ID, 'yim', wp_slash($user->user_icq) );
if ( !empty( $user->user_description ) )
- update_user_meta( $user->ID, 'description', $wpdb->escape($user->user_description) );
+ update_user_meta( $user->ID, 'description', wp_slash($user->user_description) );
if ( isset( $user->user_idmode ) ):
$idmode = $user->user_idmode;
foreach ( $link_cats as $category) {
$cat_id = (int) $category->cat_id;
$term_id = 0;
- $name = $wpdb->escape($category->cat_name);
+ $name = wp_slash($category->cat_name);
$slug = sanitize_title($name);
$term_group = 0;
if ( $wp_current_db_version < 8000 )
populate_roles_260();
-
- if ( $wp_current_db_version < 8201 ) {
- update_option('enable_app', 1);
- update_option('enable_xmlrpc', 1);
- }
}
/**
}
}
+/**
+ * Execute changes made in WordPress 3.5.
+ *
+ * @since 3.5.0
+ */
+function upgrade_350() {
+ global $wp_current_db_version, $wpdb;
+
+ if ( $wp_current_db_version < 22006 && $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) )
+ update_option( 'link_manager_enabled', 1 ); // Previously set to 0 by populate_options()
+
+ if ( $wp_current_db_version < 21811 && is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+ $meta_keys = array();
+ foreach ( array_merge( get_post_types(), get_taxonomies() ) as $name ) {
+ if ( false !== strpos( $name, '-' ) )
+ $meta_keys[] = 'edit_' . str_replace( '-', '_', $name ) . '_per_page';
+ }
+ if ( $meta_keys ) {
+ $meta_keys = implode( "', '", $meta_keys );
+ $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('$meta_keys')" );
+ }
+ }
+
+ if ( $wp_current_db_version < 22422 && $term = get_term_by( 'slug', 'post-format-standard', 'post_format' ) )
+ wp_delete_term( $term->term_id, 'post_format' );
+}
+
+/**
+ * Execute changes made in WordPress 3.7.
+ *
+ * @since 3.7.0
+ */
+function upgrade_370() {
+ global $wp_current_db_version;
+ if ( $wp_current_db_version < 25824 )
+ wp_clear_scheduled_hook( 'wp_auto_updates_maybe_update' );
+}
+
+/**
+ * Execute changes made in WordPress 3.7.2.
+ *
+ * @since 3.7.2
+ * @since 3.8.0
+ */
+function upgrade_372() {
+ global $wp_current_db_version;
+ if ( $wp_current_db_version < 26148 )
+ wp_clear_scheduled_hook( 'wp_maybe_auto_update' );
+}
+
+/**
+ * Execute changes made in WordPress 3.8.0.
+ *
+ * @since 3.8.0
+ */
+function upgrade_380() {
+ global $wp_current_db_version;
+ if ( $wp_current_db_version < 26691 ) {
+ deactivate_plugins( array( 'mp6/mp6.php' ), true );
+ }
+}
/**
* Execute network level changes
*
*/
function upgrade_network() {
global $wp_current_db_version, $wpdb;
+
+ // Always
+ if ( is_main_network() ) {
+ // 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();
+ $wpdb->query("DELETE a, b FROM $wpdb->sitemeta a, $wpdb->sitemeta b WHERE
+ a.meta_key LIKE '\_site\_transient\_%' AND
+ a.meta_key NOT LIKE '\_site\_transient\_timeout\_%' AND
+ b.meta_key = CONCAT( '_site_transient_timeout_', SUBSTRING( a.meta_key, 17 ) )
+ AND b.meta_value < $time");
+ }
+
// 2.8
if ( $wp_current_db_version < 11549 ) {
$wpmu_sitewide_plugins = get_site_option( 'wpmu_sitewide_plugins' );
delete_site_option( 'allowed_themes' );
}
}
+
+ // 3.5
+ if ( $wp_current_db_version < 21823 )
+ update_site_option( 'ms_files_rewriting', '1' );
+
+ // 3.5.2
+ if ( $wp_current_db_version < 24448 ) {
+ $illegal_names = get_site_option( 'illegal_names' );
+ if ( is_array( $illegal_names ) && count( $illegal_names ) === 1 ) {
+ $illegal_name = reset( $illegal_names );
+ $illegal_names = explode( ' ', $illegal_name );
+ update_site_option( 'illegal_names', $illegal_names );
+ }
+ }
}
// The functions we use to actually do stuff
if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting )
$option = untrailingslashit( $option );
- @ $kellogs = unserialize( $option );
- if ( $kellogs !== false )
- return $kellogs;
- else
- return $option;
+ return maybe_unserialize( $option );
}
/**
$queries = explode( ';', $queries );
$queries = array_filter( $queries );
}
+
+ /**
+ * Filter the dbDelta SQL queries.
+ *
+ * @since 3.3.0
+ *
+ * @param array $queries An array of dbDelta SQL queries.
+ */
$queries = apply_filters( 'dbdelta_queries', $queries );
$cqueries = array(); // Creation Queries
// Unrecognized query type
}
}
+
+ /**
+ * Filter the dbDelta SQL queries for creating tables and/or databases.
+ *
+ * Queries filterable via this hook contain "CREATE TABLE" or "CREATE DATABASE".
+ *
+ * @since 3.3.0
+ *
+ * @param array $cqueries An array of dbDelta create SQL queries.
+ */
$cqueries = apply_filters( 'dbdelta_create_queries', $cqueries );
+
+ /**
+ * Filter the dbDelta SQL queries for inserting or updating.
+ *
+ * Queries filterable via this hook contain "INSERT INTO" or "UPDATE".
+ *
+ * @since 3.3.0
+ *
+ * @param array $iqueries An array of dbDelta insert or update SQL queries.
+ */
$iqueries = apply_filters( 'dbdelta_insert_queries', $iqueries );
$global_tables = $wpdb->tables( 'global' );
foreach ( $cqueries as $table => $qry ) {
// Upgrade global tables only for the main site. Don't upgrade at all if DO_NOT_UPGRADE_GLOBAL_TABLES is defined.
- if ( in_array( $table, $global_tables ) && ( !is_main_site() || defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) )
+ if ( in_array( $table, $global_tables ) && ( !is_main_site() || defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) ) {
+ unset( $cqueries[ $table ], $for_update[ $table ] );
continue;
+ }
// Fetch the table column structure from the database
- $wpdb->suppress_errors();
+ $suppress = $wpdb->suppress_errors();
$tablefields = $wpdb->get_results("DESCRIBE {$table};");
- $wpdb->suppress_errors( false );
+ $wpdb->suppress_errors( $suppress );
if ( ! $tablefields )
continue;
// Get the default value from the array
//echo "{$cfields[strtolower($tablefield->Field)]}<br>";
- if (preg_match("| DEFAULT '(.*)'|i", $cfields[strtolower($tablefield->Field)], $matches)) {
+ if (preg_match("| DEFAULT '(.*?)'|i", $cfields[strtolower($tablefield->Field)], $matches)) {
$default_value = $matches[1];
if ($tablefield->Default != $default_value) {
// Add a query to change the column's default value
foreach ( (array) $indices as $index ) {
// Push a query line into $cqueries that adds the index to that table
$cqueries[] = "ALTER TABLE {$table} ADD $index";
- $for_update[$table.'.'.$fieldname] = 'Added index '.$table.' '.$index;
+ $for_update[] = 'Added index ' . $table . ' ' . $index;
}
// Remove the original table creation query from processing
}
/**
- * {@internal Missing Short Description}}
- *
- * {@internal Missing Long Description}}
+ * Disables the Automattic widgets plugin, which was merged into core.
*
* @since 2.2.0
*/
}
}
+/**
+ * Disables the Link Manager on upgrade, if at the time of upgrade, no links exist in the DB.
+ *
+ * @since 3.5.0
+ */
+function maybe_disable_link_manager() {
+ global $wp_current_db_version, $wpdb;
+
+ if ( $wp_current_db_version >= 22006 && get_option( 'link_manager_enabled' ) && ! $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) )
+ update_option( 'link_manager_enabled', 0 );
+}
+
/**
* Runs before the schema is upgraded.
*
* @since 2.9.0
*/
function pre_schema_upgrade() {
- global $wp_current_db_version, $wp_db_version, $wpdb;
+ global $wp_current_db_version, $wpdb;
// Upgrade versions prior to 2.9
if ( $wp_current_db_version < 11557 ) {
$wpdb->query("ALTER TABLE $wpdb->options DROP INDEX option_name");
}
+ // Multisite schema upgrades.
+ if ( $wp_current_db_version < 25448 && is_multisite() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && is_main_network() ) {
+
+ // Upgrade verions prior to 3.7
+ if ( $wp_current_db_version < 25179 ) {
+ // New primary key for signups.
+ $wpdb->query( "ALTER TABLE $wpdb->signups ADD signup_id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST" );
+ $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain" );
+ }
+
+ if ( $wp_current_db_version < 25448 ) {
+ // Convert archived from enum to tinyint.
+ $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived varchar(1) NOT NULL default '0'" );
+ $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived tinyint(2) NOT NULL default 0" );
+ }
+ }
}
/**