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
901       * 2. Before Maintenance Mode is enabled.
902       * 3. Before WordPress begins copying over the necessary files.
903       * 4. Before Maintenance Mode is disabled.
904       * 5. Before the database is upgraded.
905       *
906       * @since 2.5.0
907       *
908       * @param string $feedback The core update feedback messages.
909       */
910      apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) );
911
912      // Sanity check the unzipped distribution.
913      $distro = '';
914      $roots  = array( '/wordpress/', '/wordpress-mu/' );
915      foreach ( $roots as $root ) {
916           if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) {
917                $distro = $root;
918                break;
919           }
 
Line Code
1012                     /* translators: 1: WordPress version number, 2: The PHP extension name needed. */
1013                     __( 'The update cannot be installed because WordPress %1$s requires the %2$s PHP extension.' ),
1014                     $wp_version,
1015                     'JSON'
1016                )
1017           );
1018      }
1019
1020      /** This filter is documented in wp-admin/includes/update-core.php */
1021      apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) );
1022
1023      // Don't copy wp-content, we'll deal with that below.
1024      // We also copy version.php last so failed updates report their old version.
1025      $skip              = array( 'wp-content', 'wp-includes/version.php' );
1026      $check_is_writable = array();
1027
1028      // Check to see which files don't really need updating - only available for 3.7 and higher.
1029      if ( function_exists( 'get_core_checksums' ) ) {
1030           // Find the local version of the working directory.
 
Line Code
1074                $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
1075
1076                if ( $files_not_writable ) {
1077                     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 ) );
1078                }
1079           }
1080      }
1081
1082      /** This filter is documented in wp-admin/includes/update-core.php */
1083      apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) );
1084      // Create maintenance file to signal that we are upgrading.
1085      $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
1086      $maintenance_file   = $to . '.maintenance';
1087      $wp_filesystem->delete( $maintenance_file );
1088      $wp_filesystem->put_contents( $maintenance_file, $maintenance_string, FS_CHMOD_FILE );
1089
1090      /** This filter is documented in wp-admin/includes/update-core.php */
1091      apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
1092      // Copy new versions of WP files into place.
1093      $result = _copy_dir( $from . $distro, $to, $skip );
1094      if ( is_wp_error( $result ) ) {
1095           $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
1096      }
1097
1098      // Since we know the core files have copied over, we can now copy the version file.
1099      if ( ! is_wp_error( $result ) ) {
1100           if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
 
Line Code
1171                     $result = copy_dir( $from . $distro . 'wp-content/languages/', $wp_lang_dir );
1172                     if ( is_wp_error( $result ) ) {
1173                          $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
1174                     }
1175                }
1176           }
1177      }
1178
1179      /** This filter is documented in wp-admin/includes/update-core.php */
1180      apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
1181      // Remove maintenance file, we're done with potential site-breaking changes.
1182      $wp_filesystem->delete( $maintenance_file );
1183
1184      // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
1185      if ( '3.5' == $old_wp_version ) {
1186           if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' ) ) {
1187                $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' );
1188           }
1189      }
 
Line Code
1264
1265      // Remove any Genericons example.html's from the filesystem.
1266      _upgrade_422_remove_genericons();
1267
1268      // Remove the REST API plugin if its version is Beta 4 or lower.
1269      _upgrade_440_force_deactivate_incompatible_plugins();
1270
1271      // Upgrade DB with separate request.
1272      /** This filter is documented in wp-admin/includes/update-core.php */
1273      apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
1274      $db_upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' );
1275      wp_remote_post( $db_upgrade_url, array( 'timeout' => 60 ) );
1276
1277      // Clear the cache to prevent an update_option() from saving a stale db_version to the cache.
1278      wp_cache_flush();
1279      // Not all cache back ends listen to 'flush'.
1280      wp_cache_delete( 'alloptions', 'options' );
1281
1282      // Remove working directory.