File "class-acf-ajax.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/ajax/class-acf-ajax.php
File
size: 2.26 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!defined('ABSPATH')) {
exit;
}
if (!class_exists('ACF_Ajax')) {
class ACF_Ajax
{
var $action = '';
var $request;
var $public = false;
function __construct()
{
$this->initialize();
$this->add_actions();
}
function has($key = '')
{
return isset($this->request[$key]);
}
function get($key = '')
{
return isset($this->request[$key]) ? $this->request[$key] : null;
}
function set($key = '', $value = null)
{
$this->request[$key] = $value;
return $this;
}
function initialize()
{
}
function add_actions()
{
add_action("wp_ajax_{$this->action}", array($this, 'request'));
if ($this->public) {
add_action("wp_ajax_nopriv_{$this->action}", array($this, 'request'));
}
}
function request()
{
$this->request = wp_unslash($_REQUEST);
$error = $this->verify_request($this->request);
if (is_wp_error($error)) {
$this->send($error);
}
$this->send($this->get_response($this->request));
}
function verify_request($request)
{
if (!acf_verify_ajax()) {
return new WP_Error('acf_invalid_nonce', __('Invalid nonce.', 'acf'), array('status' => 404));
}
return true;
}
function get_response($request)
{
return true;
}
function send($response)
{
if (is_wp_error($response)) {
$this->send_error($response);
} else {
wp_send_json($response);
}
}
function send_error($error)
{
$error_data = $error->get_error_data();
if (is_array($error_data) && isset($error_data['status'])) {
$status_code = $error_data['status'];
} else {
$status_code = 500;
}
wp_send_json(array('code' => $error->get_error_code(), 'message' => $error->get_error_message(), 'data' => $error->get_error_data()), $status_code);
}
}
}