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
801       * 2. Before Maintenance Mode is enabled.
802       * 3. Before WordPress begins copying over the necessary files.
803       * 4. Before Maintenance Mode is disabled.
804       * 5. Before the database is upgraded.
805       *
806       * @since 2.5.0
807       *
808       * @param string $feedback The core update feedback messages.
809       */
810      apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) );
811
812      // Sanity check the unzipped distribution.
813      $distro = '';
814      $roots = array( '/wordpress/', '/wordpress-mu/' );
815      foreach ( $roots as $root ) {
816           if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) {
817                $distro = $root;
818                break;
819           }
 
Line Code
859
860      if ( !$mysql_compat && !$php_compat )
861           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 ) );
862      elseif ( !$php_compat )
863           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 ) );
864      elseif ( !$mysql_compat )
865           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 ) );
866
867      /** This filter is documented in wp-admin/includes/update-core.php */
868      apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) );
869
870      // Don't copy wp-content, we'll deal with that below
871      // We also copy version.php last so failed updates report their old version
872      $skip = array( 'wp-content', 'wp-includes/version.php' );
873      $check_is_writable = array();
874
875      // Check to see which files don't really need updating - only available for 3.7 and higher
876      if ( function_exists( 'get_core_checksums' ) ) {
877           // Find the local version of the working directory
 
Line Code
911                // Store package-relative paths (the key) of non-writable files in the WP_Error object.
912                $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
913
914                if ( $files_not_writable )
915                     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 ) );
916           }
917      }
918
919      /** This filter is documented in wp-admin/includes/update-core.php */
920      apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) );
921      // Create maintenance file to signal that we are upgrading
922      $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
923      $maintenance_file = $to . '.maintenance';
924      $wp_filesystem->delete($maintenance_file);
925      $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
926
927      /** This filter is documented in wp-admin/includes/update-core.php */
928      apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
929      // Copy new versions of WP files into place.
930      $result = _copy_dir( $from . $distro, $to, $skip );
931      if ( is_wp_error( $result ) )
932           $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
933
934      // Since we know the core files have copied over, we can now copy the version file
935      if ( ! is_wp_error( $result ) ) {
936           if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
937                $wp_filesystem->delete( $from, true );
 
Line Code
994                if ( $wp_lang_dir ) {
995                     $result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);
996                     if ( is_wp_error( $result ) )
997                          $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
998                }
999           }
1000      }
1001
1002      /** This filter is documented in wp-admin/includes/update-core.php */
1003      apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
1004      // Remove maintenance file, we're done with potential site-breaking changes
1005      $wp_filesystem->delete( $maintenance_file );
1006
1007      // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
1008      if ( '3.5' == $old_wp_version ) {
1009           if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' )  ) {
1010                $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' );
1011           }
1012      }
 
Line Code
1069                continue;
1070           $wp_filesystem->delete($old_file, true);
1071      }
1072
1073      // Remove any Genericons example.html's from the filesystem
1074      _upgrade_422_remove_genericons();
1075
1076      // Upgrade DB with separate request
1077      /** This filter is documented in wp-admin/includes/update-core.php */
1078      apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
1079      $db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
1080      wp_remote_post($db_upgrade_url, array('timeout' => 60));
1081
1082      // Clear the cache to prevent an update_option() from saving a stale db_version to the cache
1083      wp_cache_flush();
1084      // (Not all cache backends listen to 'flush')
1085      wp_cache_delete( 'alloptions', 'options' );
1086
1087      // Remove working directory