web/wp-content/plugins/acf-extended/includes/assets.php (106 lines of code) (raw):

<?php if(!defined('ABSPATH')){ exit; } if(!class_exists('acfe_assets')): class acfe_assets{ public $data = array(); /** * construct */ function __construct(){ // Hooks add_action('init', array($this, 'init')); add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts')); add_action('acf/admin_enqueue_scripts', array($this, 'acf_admin_enqueue_scripts')); add_action('acf/input/admin_enqueue_scripts', array($this, 'acf_input_admin_enqueue_scripts')); add_action('acf/enqueue_scripts', array($this, 'acf_enqueue_scripts'), 99); } /** * init */ function init(){ // vars $version = ACFE_VERSION; $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; // register scripts wp_register_script('acf-extended', acfe_get_url("assets/js/acfe{$min}.js"), array('acf'), $version); wp_register_script('acf-extended-input', acfe_get_url("assets/js/acfe-input{$min}.js"), array('acf-extended', 'acf-input'), $version); wp_register_script('acf-extended-admin', acfe_get_url("assets/js/acfe-admin{$min}.js"), array('acf-extended'), $version); wp_register_script('acf-extended-field-group', acfe_get_url("assets/js/acfe-field-group{$min}.js"), array('acf-extended', 'acf-field-group'), $version); wp_register_script('acf-extended-ui', acfe_get_url("assets/js/acfe-ui{$min}.js"), array('acf-extended'), $version); // register styles wp_register_style('acf-extended', acfe_get_url("assets/css/acfe{$min}.css"), array(), $version); wp_register_style('acf-extended-input', acfe_get_url("assets/css/acfe-input{$min}.css"), array(), $version); wp_register_style('acf-extended-admin', acfe_get_url("assets/css/acfe-admin{$min}.css"), array(), $version); wp_register_style('acf-extended-field-group', acfe_get_url("assets/css/acfe-field-group{$min}.css"), array(), $version); wp_register_style('acf-extended-ui', acfe_get_url("assets/css/acfe-ui{$min}.css"), array(), $version); } /** * admin_enqueue_scripts * * All admin pages */ function admin_enqueue_scripts(){ // admin wp_enqueue_style('acf-extended-admin'); // field groups if(acf_is_screen(array('edit-acf-field-group', 'acf-field-group'))){ wp_enqueue_style('acf-extended-field-group'); } } /** * acf_admin_enqueue_scripts * * acf/admin_enqueue_scripts * * When acf_enqueue_script('acf') is used */ function acf_admin_enqueue_scripts(){ // global wp_enqueue_style('acf-extended'); wp_enqueue_script('acf-extended'); } /** * acf_input_admin_enqueue_scripts * * acf/input/admin_enqueue_scripts * * When acf_enqueue_scripts() is used (including acf-input.js) */ function acf_input_admin_enqueue_scripts(){ // input wp_enqueue_style('acf-extended-input'); wp_enqueue_script('acf-extended-input'); // admin if(is_admin()){ wp_enqueue_script('acf-extended-admin'); } // field group if(acf_is_screen(array('acf-field-group'))){ wp_enqueue_script('acf-extended-field-group'); } } /** * acf_enqueue_scripts * * acf/enqueue_scripts:99 * * When acf_enqueue_script('acf') is used (late) */ function acf_enqueue_scripts(){ // text $text = apply_filters('acfe/localize_text', array( 'Close' => __('Close', 'acfe'), 'Update' => __('Update', 'acfe'), 'Read more' => __('Read more', 'acfe'), 'Details' => __('Details', 'acfe'), 'Debug' => __('Debug', 'acfe'), 'Data has been copied to your clipboard.' => __('Data has been copied to your clipboard.', 'acfe'), 'Please copy the following data to your clipboard.' => __('Please copy the following data to your clipboard.', 'acfe'), )); acf_localize_text($text); // data $data = apply_filters('acfe/localize_data', array( 'version' => ACFE_VERSION, 'home_url' => home_url(), 'is_admin' => is_admin(), 'is_user_logged_in' => is_user_logged_in(), )); // set data $this->set_data($data); // localize acfe_localize_data(); } /** * get_data * * @param $path * @param $default * * @return array|mixed|null */ function get_data($path = null, $default = null){ return !$path ? $this->data : acfe_array_get($this->data, $path, $default); } /** * set_data * * @param $path * @param $value * * @return void */ function set_data($path = null, $value = null){ if($value === null){ $value = $path; $path = null; } if(!$path){ $this->data = array_merge($this->data, $value); }else{ acfe_array_set($this->data, $path, $value); } } /** * unset_data * * @param $path * * @return void */ function unset_data($path = null){ if(!$path){ $this->data = array(); }else{ acfe_array_unset($this->data, $path); } } } acf_new_instance('acfe_assets'); endif; /** * acfe_localize_data * * @return void */ function acfe_localize_data(){ acf_localize_data(array('acfe' => acfe_get_localize_data())); } /** * acfe_get_localize_data * * @return array|false|string[] */ function acfe_get_localize_data($path = null, $default = null){ return acf_get_instance('acfe_assets')->get_data($path, $default); } /** * acfe_set_localize_data * * @param null $path * @param null $value */ function acfe_set_localize_data($path = null, $value = null){ acf_get_instance('acfe_assets')->set_data($path, $value); acfe_localize_data(); } /** * acfe_append_localize_data * * @param $path * @param $value * * @return void * * @deprecated */ function acfe_append_localize_data($path = null, $value = null){ acfe_deprecated_function('acfe_append_localize_data()', '0.9.0.5', 'acfe_set_localize_data()'); acfe_set_localize_data($path, $value); }