Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
advanced-custom-fields
/
includes
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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(); }