Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: update_feedback

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 6 times in this file.

Line Code
893       * 2. Before Maintenance Mode is enabled.
894       * 3. Before WordPress begins copying over the necessary files.
895       * 4. Before Maintenance Mode is disabled.
896       * 5. Before the database is upgraded.
897       *
898       * @since 2.5.0
899       *
900       * @param string $feedback The core update feedback messages.
901       */
902      apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) );
903
904      // Sanity check the unzipped distribution.
905      $distro = '';
906      $roots  = array( '/wordpress/', '/wordpress-mu/' );
907      foreach ( $roots as $root ) {
908           if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) {
909                $distro = $root;
910                break;
911           }
 
Line Code
949      if ( ! $mysql_compat && ! $php_compat ) {
950           return new WP_Error( 'php_mysql_not_compatible', sprintf( __( 'The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.' ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) );
951      } elseif ( ! $php_compat ) {
952           return new WP_Error( 'php_not_compatible', sprintf( __( 'The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_php_version, $php_version ) );
953      } elseif ( ! $mysql_compat ) {
954           return new WP_Error( 'mysql_not_compatible', sprintf( __( 'The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_mysql_version, $mysql_version ) );
955      }
956
957      /** This filter is documented in wp-admin/includes/update-core.php */
958      apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) );
959
960      // Don't copy wp-content, we'll deal with that below
961      // We also copy version.php last so failed updates report their old version
962      $skip              = array( 'wp-content', 'wp-includes/version.php' );
963      $check_is_writable = array();
964
965      // Check to see which files don't really need updating - only available for 3.7 and higher
966      if ( function_exists( 'get_core_checksums' ) ) {
967           // Find the local version of the working directory
 
Line Code
1011                $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
1012
1013                if ( $files_not_writable ) {
1014                     return new WP_Error( 'files_not_writable', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), implode( ', ', $error_data ) );
1015                }
1016           }
1017      }
1018
1019      /** This filter is documented in wp-admin/includes/update-core.php */
1020      apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) );
1021      // Create maintenance file to signal that we are upgrading
1022      $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
1023      $maintenance_file   = $to . '.maintenance';
1024      $wp_filesystem->delete( $maintenance_file );
1025      $wp_filesystem->put_contents( $maintenance_file, $maintenance_string, FS_CHMOD_FILE );
1026
1027      /** This filter is documented in wp-admin/includes/update-core.php */
1028      apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
1029      // Copy new versions of WP files into place.
1030      $result = _copy_dir( $from . $distro, $to, $skip );
1031      if ( is_wp_error( $result ) ) {
1032           $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
1033      }
1034
1035      // Since we know the core files have copied over, we can now copy the version file
1036      if ( ! is_wp_error( $result ) ) {
1037           if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
 
Line Code
1106                     $result = copy_dir( $from . $distro . 'wp-content/languages/', $wp_lang_dir );
1107                     if ( is_wp_error( $result ) ) {
1108                          $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
1109                     }
1110                }
1111           }
1112      }
1113
1114      /** This filter is documented in wp-admin/includes/update-core.php */
1115      apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
1116      // Remove maintenance file, we're done with potential site-breaking changes
1117      $wp_filesystem->delete( $maintenance_file );
1118
1119      // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
1120      if ( '3.5' == $old_wp_version ) {
1121           if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' ) ) {
1122                $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' );
1123           }
1124      }
 
Line Code
1195
1196      // Remove any Genericons example.html's from the filesystem
1197      _upgrade_422_remove_genericons();
1198
1199      // Remove the REST API plugin if its version is Beta 4 or lower
1200      _upgrade_440_force_deactivate_incompatible_plugins();
1201
1202      // Upgrade DB with separate request
1203      /** This filter is documented in wp-admin/includes/update-core.php */
1204      apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
1205      $db_upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' );
1206      wp_remote_post( $db_upgrade_url, array( 'timeout' => 60 ) );
1207
1208      // Clear the cache to prevent an update_option() from saving a stale db_version to the cache
1209      wp_cache_flush();
1210      // (Not all cache back ends listen to 'flush')
1211      wp_cache_delete( 'alloptions', 'options' );
1212
1213      // Remove working directory