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
810       * 2. Before Maintenance Mode is enabled.
811       * 3. Before WordPress begins copying over the necessary files.
812       * 4. Before Maintenance Mode is disabled.
813       * 5. Before the database is upgraded.
814       *
815       * @since 2.5.0
816       *
817       * @param string $feedback The core update feedback messages.
818       */
819      apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) );
820
821      // Sanity check the unzipped distribution.
822      $distro = '';
823      $roots = array( '/wordpress/', '/wordpress-mu/' );
824      foreach ( $roots as $root ) {
825           if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) {
826                $distro = $root;
827                break;
828           }
 
Line Code
868
869      if ( !$mysql_compat && !$php_compat )
870           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 ) );
871      elseif ( !$php_compat )
872           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 ) );
873      elseif ( !$mysql_compat )
874           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 ) );
875
876      /** This filter is documented in wp-admin/includes/update-core.php */
877      apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) );
878
879      // Don't copy wp-content, we'll deal with that below
880      // We also copy version.php last so failed updates report their old version
881      $skip = array( 'wp-content', 'wp-includes/version.php' );
882      $check_is_writable = array();
883
884      // Check to see which files don't really need updating - only available for 3.7 and higher
885      if ( function_exists( 'get_core_checksums' ) ) {
886           // Find the local version of the working directory
 
Line Code
920                // Store package-relative paths (the key) of non-writable files in the WP_Error object.
921                $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
922
923                if ( $files_not_writable )
924                     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 ) );
925           }
926      }
927
928      /** This filter is documented in wp-admin/includes/update-core.php */
929      apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) );
930      // Create maintenance file to signal that we are upgrading
931      $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
932      $maintenance_file = $to . '.maintenance';
933      $wp_filesystem->delete($maintenance_file);
934      $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
935
936      /** This filter is documented in wp-admin/includes/update-core.php */
937      apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
938      // Copy new versions of WP files into place.
939      $result = _copy_dir( $from . $distro, $to, $skip );
940      if ( is_wp_error( $result ) )
941           $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
942
943      // Since we know the core files have copied over, we can now copy the version file
944      if ( ! is_wp_error( $result ) ) {
945           if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
946                $wp_filesystem->delete( $from, true );
 
Line Code
1003                if ( $wp_lang_dir ) {
1004                     $result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);
1005                     if ( is_wp_error( $result ) )
1006                          $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
1007                }
1008           }
1009      }
1010
1011      /** This filter is documented in wp-admin/includes/update-core.php */
1012      apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
1013      // Remove maintenance file, we're done with potential site-breaking changes
1014      $wp_filesystem->delete( $maintenance_file );
1015
1016      // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
1017      if ( '3.5' == $old_wp_version ) {
1018           if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' )  ) {
1019                $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' );
1020           }
1021      }
 
Line Code
1081
1082      // Remove any Genericons example.html's from the filesystem
1083      _upgrade_422_remove_genericons();
1084
1085      // Remove the REST API plugin if its version is Beta 4 or lower
1086      _upgrade_440_force_deactivate_incompatible_plugins();
1087
1088      // Upgrade DB with separate request
1089      /** This filter is documented in wp-admin/includes/update-core.php */
1090      apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
1091      $db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
1092      wp_remote_post($db_upgrade_url, array('timeout' => 60));
1093
1094      // Clear the cache to prevent an update_option() from saving a stale db_version to the cache
1095      wp_cache_flush();
1096      // (Not all cache backends listen to 'flush')
1097      wp_cache_delete( 'alloptions', 'options' );
1098
1099      // Remove working directory