Wordpress 3.7
[autoinstalls/wordpress.git] / wp-admin / includes / upgrade.php
index 0d17d8fce4d4ac1060364c54a380ae97a6e871cf..b1b85555e3c393d47aed918c3f644bd309ff6f6b 100644 (file)
@@ -402,6 +402,9 @@ function upgrade_all() {
        if ( $wp_current_db_version < 22422 )
                upgrade_350();
 
+       if ( $wp_current_db_version < 25824 )
+               upgrade_370();
+
        maybe_disable_link_manager();
 
        maybe_disable_automattic_widgets();
@@ -1208,6 +1211,17 @@ function upgrade_350() {
                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 network level changes
  *
@@ -1215,6 +1229,20 @@ function upgrade_350() {
  */
 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' );
@@ -1978,6 +2006,22 @@ function pre_schema_upgrade() {
                $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" );
+               }
+       }
 }
 
 /**