ACF_Ajax_Upgrade::get_response
Returns the response data to sent back.
Method of the class: ACF_Ajax_Upgrade{}
No Hooks.
Returns
true|false|WP_Error. True if successful, or WP_Error on failure.
Usage
$ACF_Ajax_Upgrade = new ACF_Ajax_Upgrade(); $ACF_Ajax_Upgrade->get_response( $request );
- $request(array) (required)
- The request args.
Changelog
| Since 5.7.2 | Introduced. |
ACF_Ajax_Upgrade::get_response() ACF Ajax Upgrade::get response code ACF 6.8.8
public function get_response( $request ) {
if ( ! current_user_can( acf_get_setting( 'capability' ) ) ) {
return new WP_Error( 'upgrade_error', __( 'Sorry, you do not have permission to do that.', 'acf' ) );
}
// Switch blog.
$switched = false;
if ( isset( $request['blog_id'] ) ) {
if ( ! is_super_admin() ) {
return new WP_Error( 'upgrade_error', __( 'Sorry, you do not have permission to do that.', 'acf' ) );
}
$blog_id = absint( $request['blog_id'] );
if ( ! $blog_id || ! get_site( $blog_id ) ) {
return new WP_Error( 'upgrade_error', __( 'Invalid site ID.', 'acf' ) );
}
switch_to_blog( $blog_id );
$switched = true;
}
// Bail early if no upgrade available.
if ( ! acf_has_upgrade() ) {
if ( $switched ) {
restore_current_blog();
}
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();
if ( $switched ) {
restore_current_blog();
}
// Return error or success.
if ( $error ) {
return new WP_Error( 'upgrade_error', $error );
}
return true;
}