File "class-acf-data.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/class-acf-data.php
File
size: 3.25 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!defined('ABSPATH')) {
exit;
}
if (!class_exists('ACF_Data')) {
class ACF_Data
{
var $cid = '';
var $data = array();
var $aliases = array();
var $multisite = false;
function __construct($data = false)
{
$this->cid = acf_uniqid();
if ($data) {
$this->set($data);
}
$this->initialize();
}
function initialize()
{
}
function prop($name = '', $value = null)
{
$this->{$name} = $value;
return $this;
}
function _key($name = '')
{
return isset($this->aliases[$name]) ? $this->aliases[$name] : $name;
}
function has($name = '')
{
$key = $this->_key($name);
return isset($this->data[$key]);
}
function is($key = '')
{
return isset($this->data[$key]);
}
function get($name = false)
{
if ($name === false) {
return $this->data;
} else {
$key = $this->_key($name);
return isset($this->data[$key]) ? $this->data[$key] : null;
}
}
function get_data()
{
return $this->data;
}
function set($name = '', $value = null)
{
if (is_array($name)) {
$this->data = array_merge($this->data, $name);
} else {
$this->data[$name] = $value;
}
return $this;
}
function append($value = null)
{
$this->data[] = $value;
return $this;
}
function remove($name = '')
{
unset($this->data[$name]);
return $this;
}
function reset()
{
$this->data = array();
$this->aliases = array();
}
function count()
{
return count($this->data);
}
function query($args, $operator = 'AND')
{
return wp_list_filter($this->data, $args, $operator);
}
function alias($name = '')
{
$args = func_get_args();
array_shift($args);
foreach ($args as $alias) {
$this->aliases[$alias] = $name;
}
return $this;
}
function switch_site($site_id, $prev_site_id)
{
if (!$this->multisite) {
return;
}
if ($site_id === $prev_site_id) {
return;
}
if (!isset($this->site_data)) {
$this->site_data = array();
$this->site_aliases = array();
}
$this->site_data[$prev_site_id] = $this->data;
$this->site_aliases[$prev_site_id] = $this->aliases;
$this->data = array();
$this->aliases = array();
if (isset($this->site_data[$site_id])) {
$this->data = $this->site_data[$site_id];
$this->aliases = $this->site_aliases[$site_id];
unset($this->site_data[$site_id]);
unset($this->site_aliases[$site_id]);
}
}
}
}