File "assets.php"

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

Download   Open   Edit   Advanced Editor   Back

<?php

if (!defined('ABSPATH')) {
    exit;
}
if (!class_exists('ACF_Assets')) {
    class ACF_Assets
    {
        public $text = array();
        public $data = array();
        private $enqueue = array();
        public function __construct()
        {
            add_action('init', array($this, 'register_scripts'));
        }
        public function __call($name, $arguments)
        {
            switch ($name) {
                case 'admin_enqueue_scripts':
                case 'admin_print_scripts':
                case 'admin_head':
                case 'admin_footer':
                case 'admin_print_footer_scripts':
                    _doing_it_wrong(__FUNCTION__, 'The ACF_Assets class should not be accessed directly.', '5.9.0');
            }
        }
        public function add_text($text)
        {
            foreach ((array) $text as $k => $v) {
                $this->text[$k] = $v;
            }
        }
        public function add_data($data)
        {
            foreach ((array) $data as $k => $v) {
                $this->data[$k] = $v;
            }
        }
        public function register_scripts()
        {
            $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
            $version = acf_get_setting('version');
            wp_register_script('acf', acf_get_url('assets/build/js/acf' . $suffix . '.js'), array('jquery'), $version);
            wp_register_script('acf-input', acf_get_url('assets/build/js/acf-input' . $suffix . '.js'), array('jquery', 'jquery-ui-sortable', 'jquery-ui-resizable', 'acf'), $version);
            wp_register_script('acf-field-group', acf_get_url('assets/build/js/acf-field-group' . $suffix . '.js'), array('acf-input'), $version);
            wp_register_style('acf-global', acf_get_url('assets/build/css/acf-global.css'), array('dashicons'), $version);
            wp_register_style('acf-input', acf_get_url('assets/build/css/acf-input.css'), array('acf-global'), $version);
            wp_register_style('acf-field-group', acf_get_url('assets/build/css/acf-field-group.css'), array('acf-input'), $version);
            do_action('acf/register_scripts', $version, $suffix);
        }
        public function enqueue_script($name)
        {
            wp_enqueue_script($name);
            $this->add_actions();
        }
        public function enqueue_style($name)
        {
            wp_enqueue_style($name);
        }
        private function add_actions()
        {
            if (acf_has_done('ACF_Assets::add_actions')) {
                return;
            }
            $this->add_action('admin_enqueue_scripts', 'enqueue_scripts', 20);
            $this->add_action('admin_print_scripts', 'print_scripts', 20);
            $this->add_action('admin_print_footer_scripts', 'print_footer_scripts', 20);
        }
        public function add_action($action, $method, $priority = 10, $accepted_args = 1)
        {
            $replacements = array('customizer' => array('admin_enqueue_scripts' => 'admin_enqueue_scripts', 'admin_print_scripts' => 'customize_controls_print_scripts', 'admin_head' => 'customize_controls_print_scripts', 'admin_footer' => 'customize_controls_print_footer_scripts', 'admin_print_footer_scripts' => 'customize_controls_print_footer_scripts'), 'login' => array('admin_enqueue_scripts' => 'login_enqueue_scripts', 'admin_print_scripts' => 'login_head', 'admin_head' => 'login_head', 'admin_footer' => 'login_footer', 'admin_print_footer_scripts' => 'login_footer'), 'wp' => array('admin_enqueue_scripts' => 'wp_enqueue_scripts', 'admin_print_scripts' => 'wp_print_scripts', 'admin_head' => 'wp_head', 'admin_footer' => 'wp_footer', 'admin_print_footer_scripts' => 'wp_print_footer_scripts'));
            if (did_action('customize_controls_init')) {
                $context = 'customizer';
            } elseif (did_action('login_form_register')) {
                $context = 'login';
            } elseif (is_admin()) {
                $context = 'admin';
            } else {
                $context = 'wp';
            }
            if (isset($replacements[$context][$action])) {
                $action = $replacements[$context][$action];
            }
            if (did_action($action)) {
                $doing = acf_doing_action($action);
                if ($doing && $doing < $priority) {
                } else {
                    return call_user_func(array($this, $method));
                }
            }
            add_action($action, array($this, $method), $priority, $accepted_args);
        }
        public function enqueue($args = array())
        {
            $args = wp_parse_args($args, array('input' => true, 'uploader' => false));
            if ($args['input']) {
                $this->enqueue[] = 'input';
            }
            if ($args['uploader']) {
                $this->enqueue[] = 'uploader';
            }
            $this->add_actions();
        }
        public function enqueue_uploader()
        {
            if (acf_has_done('ACF_Assets::enqueue_uploader')) {
                return;
            }
            if (current_user_can('upload_files')) {
                wp_enqueue_media();
            }
            $this->add_action('admin_footer', 'print_uploader_scripts', 1);
            do_action('acf/enqueue_uploader');
        }
        public function enqueue_scripts()
        {
            if (in_array('input', $this->enqueue)) {
                wp_enqueue_script('acf-input');
                wp_enqueue_style('acf-input');
            }
            if (in_array('uploader', $this->enqueue)) {
                $this->enqueue_uploader();
            }
            acf_localize_text(array('Are you sure?' => __('Are you sure?', 'acf'), 'Yes' => __('Yes', 'acf'), 'No' => __('No', 'acf'), 'Remove' => __('Remove', 'acf'), 'Cancel' => __('Cancel', 'acf')));
            if (wp_script_is('acf-input')) {
                acf_localize_text(array('The changes you made will be lost if you navigate away from this page' => __('The changes you made will be lost if you navigate away from this page', 'acf'), 'Validation successful' => __('Validation successful', 'acf'), 'Validation failed' => __('Validation failed', 'acf'), '1 field requires attention' => __('1 field requires attention', 'acf'), '%d fields require attention' => __('%d fields require attention', 'acf'), 'Edit field group' => __('Edit field group', 'acf')));
                do_action('acf/input/admin_enqueue_scripts');
            }
            do_action('acf/admin_enqueue_scripts');
            do_action('acf/enqueue_scripts');
            $text = array();
            foreach ($this->text as $k => $v) {
                if (str_replace('.verb', '', $k) !== $v) {
                    $text[$k] = $v;
                }
            }
            if ($text) {
                wp_localize_script('acf', 'acfL10n', $text);
            }
        }
        public function print_scripts()
        {
            if (wp_script_is('acf-input')) {
                do_action('acf/input/admin_head');
                do_action('acf/input/admin_print_scripts');
            }
            do_action('acf/admin_head');
            do_action('acf/admin_print_scripts');
        }
        public function print_footer_scripts()
        {
            global $wp_version;
            if (!wp_script_is('acf')) {
                return;
            }
            acf_localize_data(array('admin_url' => admin_url(), 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('acf_nonce'), 'acf_version' => acf_get_setting('version'), 'wp_version' => $wp_version, 'browser' => acf_get_browser(), 'locale' => acf_get_locale(), 'rtl' => is_rtl(), 'screen' => acf_get_form_data('screen'), 'post_id' => acf_get_form_data('post_id'), 'validation' => acf_get_form_data('validation'), 'editor' => acf_is_block_editor() ? 'block' : 'classic'));
            printf("<script>\n%s\n</script>\n", 'acf.data = ' . wp_json_encode($this->data) . ';');
            if (wp_script_is('acf-input')) {
                $compat_l10n = apply_filters('acf/input/admin_l10n', array());
                if ($compat_l10n) {
                    printf("<script>\n%s\n</script>\n", 'acf.l10n = ' . wp_json_encode($compat_l10n) . ';');
                }
                do_action('acf/input/admin_footer');
                do_action('acf/input/admin_print_footer_scripts');
            }
            do_action('acf/admin_footer');
            do_action('acf/admin_print_footer_scripts');
            printf("<script>\n%s\n</script>\n", "acf.doAction( 'prepare' );");
        }
        public function print_uploader_scripts()
        {
            ?>
		<div id="acf-hidden-wp-editor" style="display: none;">
			<?php 
            wp_editor('', 'acf_content');
            ?>
		</div>
			<?php 
            do_action('acf/admin_print_uploader_scripts');
        }
    }
    acf_new_instance('ACF_Assets');
}
function acf_localize_text($text)
{
    return acf_get_instance('ACF_Assets')->add_text($text);
}
function acf_localize_data($data)
{
    return acf_get_instance('ACF_Assets')->add_data($data);
}
function acf_enqueue_script($name)
{
    return acf_get_instance('ACF_Assets')->enqueue_script($name);
}
function acf_enqueue_scripts($args = array())
{
    return acf_get_instance('ACF_Assets')->enqueue($args);
}
function acf_enqueue_uploader()
{
    return acf_get_instance('ACF_Assets')->enqueue_uploader();
}