File "class-acf-field.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/fields/class-acf-field.php
File size: 4.19 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

if (!class_exists('acf_field')) {
    class acf_field
    {
        var $name = '', $label = '', $category = 'basic', $defaults = array(), $l10n = array(), $public = true;
        function __construct()
        {
            $this->initialize();
            acf_register_field_type_info(array('label' => $this->label, 'name' => $this->name, 'category' => $this->category, 'public' => $this->public));
            $this->add_field_filter('acf/load_value', array($this, 'load_value'), 10, 3);
            $this->add_field_filter('acf/update_value', array($this, 'update_value'), 10, 3);
            $this->add_field_filter('acf/format_value', array($this, 'format_value'), 10, 3);
            $this->add_field_filter('acf/validate_value', array($this, 'validate_value'), 10, 4);
            $this->add_field_action('acf/delete_value', array($this, 'delete_value'), 10, 3);
            $this->add_field_filter('acf/validate_field', array($this, 'validate_field'), 10, 1);
            $this->add_field_filter('acf/load_field', array($this, 'load_field'), 10, 1);
            $this->add_field_filter('acf/update_field', array($this, 'update_field'), 10, 1);
            $this->add_field_filter('acf/duplicate_field', array($this, 'duplicate_field'), 10, 1);
            $this->add_field_action('acf/delete_field', array($this, 'delete_field'), 10, 1);
            $this->add_field_action('acf/render_field', array($this, 'render_field'), 9, 1);
            $this->add_field_action('acf/render_field_settings', array($this, 'render_field_settings'), 9, 1);
            $this->add_field_filter('acf/prepare_field', array($this, 'prepare_field'), 10, 1);
            $this->add_field_filter('acf/translate_field', array($this, 'translate_field'), 10, 1);
            $this->add_action('acf/input/admin_enqueue_scripts', array($this, 'input_admin_enqueue_scripts'), 10, 0);
            $this->add_action('acf/input/admin_head', array($this, 'input_admin_head'), 10, 0);
            $this->add_action('acf/input/form_data', array($this, 'input_form_data'), 10, 1);
            $this->add_filter('acf/input/admin_l10n', array($this, 'input_admin_l10n'), 10, 1);
            $this->add_action('acf/input/admin_footer', array($this, 'input_admin_footer'), 10, 1);
            $this->add_action('acf/field_group/admin_enqueue_scripts', array($this, 'field_group_admin_enqueue_scripts'), 10, 0);
            $this->add_action('acf/field_group/admin_head', array($this, 'field_group_admin_head'), 10, 0);
            $this->add_action('acf/field_group/admin_footer', array($this, 'field_group_admin_footer'), 10, 0);
        }
        function initialize()
        {
        }
        function add_filter($tag = '', $function_to_add = '', $priority = 10, $accepted_args = 1)
        {
            if (!is_callable($function_to_add)) {
                return;
            }
            add_filter($tag, $function_to_add, $priority, $accepted_args);
        }
        function add_field_filter($tag = '', $function_to_add = '', $priority = 10, $accepted_args = 1)
        {
            $tag .= '/type=' . $this->name;
            $this->add_filter($tag, $function_to_add, $priority, $accepted_args);
        }
        function add_action($tag = '', $function_to_add = '', $priority = 10, $accepted_args = 1)
        {
            if (!is_callable($function_to_add)) {
                return;
            }
            add_action($tag, $function_to_add, $priority, $accepted_args);
        }
        function add_field_action($tag = '', $function_to_add = '', $priority = 10, $accepted_args = 1)
        {
            $tag .= '/type=' . $this->name;
            $this->add_action($tag, $function_to_add, $priority, $accepted_args);
        }
        function validate_field($field)
        {
            if (!is_array($this->defaults)) {
                return $field;
            }
            foreach ($this->defaults as $k => $v) {
                if (!isset($field[$k])) {
                    $field[$k] = $v;
                }
            }
            return $field;
        }
        function input_admin_l10n($l10n)
        {
            if (empty($this->l10n)) {
                return $l10n;
            }
            $l10n[$this->name] = $this->l10n;
            return $l10n;
        }
    }
}