oont-contents/plugins/advanced-custom-fields/includes/ajax/class-acf-ajax-user-setting.php
2025-02-08 15:10:23 +01:00

53 lines
1.1 KiB
PHP

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! class_exists( 'ACF_Ajax_User_Setting' ) ) :
class ACF_Ajax_User_Setting extends ACF_Ajax {
/**
* The AJAX action name.
*
* @var string
*/
public $action = 'acf/ajax/user_setting';
/**
* Prevents access for non-logged in users.
*
* @var boolean
*/
public $public = false;
/**
* 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.
*/
public function get_response( $request ) {
if ( ! acf_current_user_can_admin() ) {
return new WP_Error( 'acf_invalid_permissions', __( 'Sorry, you do not have permission to do that.', 'acf' ) );
}
// update
if ( $this->has( 'value' ) ) {
return acf_update_user_setting( $this->get( 'name' ), $this->get( 'value' ) );
// get
} else {
return acf_get_user_setting( $this->get( 'name' ) );
}
}
}
acf_new_instance( 'ACF_Ajax_User_Setting' );
endif; // class_exists check