57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit; // Exit if accessed directly
 | |
| }
 | |
| 
 | |
| if ( ! class_exists( 'ACF_Ajax_Upgrade' ) ) :
 | |
| 
 | |
| 	class ACF_Ajax_Upgrade extends ACF_Ajax {
 | |
| 
 | |
| 		/** @var string The AJAX action name */
 | |
| 		var $action = 'acf/ajax/upgrade';
 | |
| 
 | |
| 		/**
 | |
| 		 * get_response
 | |
| 		 *
 | |
| 		 * Returns the response data to sent back.
 | |
| 		 *
 | |
| 		 * @date    31/7/18
 | |
| 		 * @since   5.7.2
 | |
| 		 *
 | |
| 		 * @param   array $request The request args.
 | |
| 		 * @return  mixed The response data or WP_Error.
 | |
| 		 */
 | |
| 		function get_response( $request ) {
 | |
| 
 | |
| 			// Switch blog.
 | |
| 			if ( isset( $request['blog_id'] ) ) {
 | |
| 				switch_to_blog( $request['blog_id'] );
 | |
| 			}
 | |
| 
 | |
| 			// Bail early if no upgrade avaiable.
 | |
| 			if ( ! acf_has_upgrade() ) {
 | |
| 				return new WP_Error( 'upgrade_error', __( 'No updates available.', 'acf' ) );
 | |
| 			}
 | |
| 
 | |
| 			// Listen for output.
 | |
| 			ob_start();
 | |
| 
 | |
| 			// Run upgrades.
 | |
| 			acf_upgrade_all();
 | |
| 
 | |
| 			// Store output.
 | |
| 			$error = ob_get_clean();
 | |
| 
 | |
| 			// Return error or success.
 | |
| 			if ( $error ) {
 | |
| 				return new WP_Error( 'upgrade_error', $error );
 | |
| 			}
 | |
| 			return true;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	acf_new_instance( 'ACF_Ajax_Upgrade' );
 | |
| 
 | |
| endif; // class_exists check
 |