add_help_tab( array(
	'id'      => 'overview',
	'title'   => __('Overview'),
	'content' =>
		'
' . __('Only use this screen once you have updated to a new version of WordPress through Updates/Available Updates (via the Network Administration navigation menu or the Toolbar). Clicking the Upgrade 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.') . '
'
) );
get_current_screen()->set_help_sidebar(
	'' . __('For more information:') . '
' .
	'' . __('Documentation on Upgrade Network') . '
' .
	'' . __('Support Forums') . '
'
);
require_once( ABSPATH . 'wp-admin/admin-header.php' );
if ( ! current_user_can( 'upgrade_network' ) ) {
	wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 );
}
echo '';
echo '
' . __( 'Upgrade Network' ) . '
';
$action = isset($_GET['action']) ? $_GET['action'] : 'show';
switch ( $action ) {
	case "upgrade":
		$n = ( isset($_GET['n']) ) ? intval($_GET['n']) : 0;
		if ( $n < 5 ) {
			/**
			 * @global string $wp_db_version
			 */
			global $wp_db_version;
			update_site_option( 'wpmu_upgrade_site', $wp_db_version );
		}
		$site_ids = get_sites( array(
			'spam'       => 0,
			'deleted'    => 0,
			'archived'   => 0,
			'network_id' => get_current_network_id(),
			'number'     => 5,
			'offset'     => $n,
			'fields'     => 'ids',
			'order'      => 'DESC',
			'orderby'    => 'id',
		) );
		if ( empty( $site_ids ) ) {
			echo '
' . __( 'All done!' ) . '
';
			break;
		}
		echo "
";
		foreach ( (array) $site_ids as $site_id ) {
			switch_to_blog( $site_id );
			$siteurl = site_url();
			$upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' );
			restore_current_blog();
			echo "- $siteurl";
			$response = wp_remote_get( $upgrade_url, array(
				'timeout'     => 120,
				'httpversion' => '1.1',
				'sslverify'   => false,
			) );
			if ( is_wp_error( $response ) ) {
				wp_die( sprintf(
					/* translators: 1: site url, 2: server error message */
					__( '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() . ''
				) );
			}
			/**
			 * Fires after the Multisite DB upgrade for each site is complete.
			 *
			 * @since MU (3.0.0)
			 *
			 * @param array|WP_Error $response The upgrade response array or WP_Error on failure.
			 */
			do_action( 'after_mu_upgrade', $response );
			/**
			 * Fires after each site has been upgraded.
			 *
			 * @since MU (3.0.0)
			 *
			 * @param int $site_id The Site ID.
			 */
			do_action( 'wpmu_upgrade_site', $site_id );
		}
		echo "
";
		?>