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
|