' . __('Only use this screen once you have updated to a new version of WordPress through Dashboard > Updates. Clicking the Update Network button will step through each site in the network, five at a time, and make sure any database updates are applied.') . '
' .
'' . __('If a version update to core has not happened, clicking this button won’t affect anything.') . '
' .
'' . __('If this process fails for any reason, users logging in to their sites will force the same update.') . '
' .
'' . __('For more information:') . '
' .
'' . __('Documentation on Update Network') . '
' .
'' . __('Support Forums') . '
'
);
require_once('../admin-header.php');
if ( ! current_user_can( 'manage_network' ) )
wp_die( __( 'You do not have permission to access this page.' ) );
echo '';
screen_icon('tools');
echo '
' . __( 'Update Network' ) . '
';
$action = isset($_GET['action']) ? $_GET['action'] : 'show';
switch ( $action ) {
case "upgrade":
$n = ( isset($_GET['n']) ) ? intval($_GET['n']) : 0;
if ( $n < 5 ) {
global $wp_db_version;
update_site_option( 'wpmu_upgrade_site', $wp_db_version );
}
$blogs = $wpdb->get_results( "SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' AND spam = '0' AND deleted = '0' AND archived = '0' ORDER BY registered DESC LIMIT {$n}, 5", ARRAY_A );
if ( empty( $blogs ) ) {
echo '
' . __( 'All done!' ) . '
';
break;
}
echo "
";
foreach ( (array) $blogs as $details ) {
$siteurl = get_blog_option( $details['blog_id'], 'siteurl' );
echo "- $siteurl
";
$response = wp_remote_get( trailingslashit( $siteurl ) . "wp-admin/upgrade.php?step=upgrade_db", array( 'timeout' => 120, 'httpversion' => '1.1' ) );
if ( is_wp_error( $response ) )
wp_die( sprintf( __( 'Warning! Problem updating %1$s. Your server may not be able to connect to sites running on it. Error message: %2$s' ), $siteurl, $response->get_error_message() ) );
do_action( 'after_mu_upgrade', $response );
do_action( 'wpmu_upgrade_site', $details[ 'blog_id' ] );
}
echo "
";
?>