/** * Enqueue scripts. */ public function admin_scripts() { global $post; $screen = get_current_screen(); $screen_id = $screen ? $screen->id : ''; $status = get_option('axiscomposer_status_options', array()); $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; // Register Scripts wp_register_script('axiscomposer-admin', AC()->plugin_url() . '/assets/js/admin/admin' . $suffix . '.js', array('jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip'), AC_VERSION); wp_register_script('ac-admin-meta-boxes', AC()->plugin_url() . '/assets/js/admin/meta-boxes' . $suffix . '.js', array('jquery', 'jquery-blockui', 'wp-color-picker', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'jquery-ui-droppable', 'jquery-tiptip', 'ac-enhanced-select', 'plupload-all', 'stupidtable'), AC_VERSION); wp_register_script('jquery-blockui', AC()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array('jquery'), '2.70', true); wp_register_script('jquery-tiptip', AC()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js', array('jquery'), AC_VERSION, true); wp_register_script('zeroclipboard', AC()->plugin_url() . '/assets/js/zeroclipboard/jquery.zeroclipboard' . $suffix . '.js', array('jquery'), AC_VERSION); wp_register_script('stupidtable', AC()->plugin_url() . '/assets/js/stupidtable/stupidtable' . $suffix . '.js', array('jquery'), AC_VERSION); wp_register_script('serializejson', AC()->plugin_url() . '/assets/js/jquery-serializejson/jquery.serializejson' . $suffix . '.js', array('jquery'), '2.6.1'); wp_register_script('select2', AC()->plugin_url() . '/assets/js/select2/select2' . $suffix . '.js', array('jquery'), '3.5.4'); wp_register_script('ac-backbone-modal', AC()->plugin_url() . '/assets/js/admin/backbone-modal' . $suffix . '.js', array('underscore', 'backbone', 'wp-util'), AC_VERSION); wp_register_script('ac-enhanced-select', AC()->plugin_url() . '/assets/js/admin/enhanced-select' . $suffix . '.js', array('jquery', 'select2'), AC_VERSION); wp_localize_script('ac-enhanced-select', 'ac_enhanced_select_params', array('ajax_url' => admin_url('admin-ajax.php'), 'search_post_types_nonce' => wp_create_nonce('search-post-types'), 'i18n_matches_1' => _x('One result is available, press enter to select it.', 'enhanced select', 'axiscomposer'), 'i18n_matches_n' => _x('%qty% results are available, use up and down arrow keys to navigate.', 'enhanced select', 'axiscomposer'), 'i18n_no_matches' => _x('No matches found', 'enhanced select', 'axiscomposer'), 'i18n_ajax_error' => _x('Loading failed', 'enhanced select', 'axiscomposer'), 'i18n_input_too_short_1' => _x('Please enter 1 or more characters', 'enhanced select', 'axiscomposer'), 'i18n_input_too_short_n' => _x('Please enter %qty% or more characters', 'enhanced select', 'axiscomposer'), 'i18n_input_too_long_1' => _x('Please delete 1 character', 'enhanced select', 'axiscomposer'), 'i18n_input_too_long_n' => _x('Please delete %qty% characters', 'enhanced select', 'axiscomposer'), 'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'axiscomposer'), 'i18n_selection_too_long_n' => _x('You can only select %qty% items', 'enhanced select', 'axiscomposer'), 'i18n_load_more' => _x('Loading more results…', 'enhanced select', 'axiscomposer'), 'i18n_searching' => _x('Searching…', 'enhanced select', 'axiscomposer'))); // AxisComposer admin pages if (in_array($screen_id, ac_get_screen_ids())) { wp_enqueue_script('iris'); wp_enqueue_script('axiscomposer-admin'); wp_enqueue_script('ac-enhanced-select'); wp_enqueue_script('jquery-ui-sortable'); wp_enqueue_script('jquery-ui-autocomplete'); $params = array('ajax_url' => admin_url('admin-ajax.php')); wp_localize_script('axiscomposer-admin', 'axiscomposer_admin', $params); } // Meta boxes if (in_array($screen_id, ac_get_allowed_screen_types())) { wp_register_script('ac-admin-pagebuilder-meta-boxes', AC()->plugin_url() . '/assets/js/admin/meta-boxes-pagebuilder' . $suffix . '.js', array('ac-admin-meta-boxes', 'ac-backbone-modal', 'shortcode', 'serializejson', 'media-models'), AC_VERSION); wp_register_script('ac-admin-pagebuilder-meta-boxes-position', AC()->plugin_url() . '/assets/js/admin/meta-boxes-pagebuilder-position' . $suffix . '.js', array('ac-admin-meta-boxes'), AC_VERSION); wp_enqueue_script('ac-admin-pagebuilder-meta-boxes'); wp_enqueue_script('ac-admin-pagebuilder-meta-boxes-position'); $params = array('post_id' => isset($post->ID) ? $post->ID : '', 'ajax_url' => admin_url('admin-ajax.php'), 'plugin_url' => AC()->plugin_url(), 'debug_mode' => true === AC_BUILDER_DEBUG_MODE ? 'no' : 'yes', 'modal_item_nonce' => wp_create_nonce('modal-item'), 'i18n_css_error' => esc_js(__('Please enter in a value without any invalid or special characters.', 'axiscomposer')), 'i18n_gist_error' => esc_js(__('Please enter in a value without any whitespace or special characters.', 'axiscomposer')), 'i18n_no_layout' => esc_js(__('The current number of cells does not allow any layout variations.', 'axiscomposer')), 'i18n_add_one_cell' => esc_js(__('You need to add at least one cell', 'axiscomposer')), 'i18n_remove_one_cell' => esc_js(__('You need to remove at least one cell', 'axiscomposer')), 'i18n_select_cell_layout' => esc_js(__('Select a cell layout', 'axiscomposer')), 'i18n_trash_elements_title' => esc_js(__('Permanently Delete all Canvas Elements', 'axiscomposer')), 'i18n_trash_elements_least' => esc_js(sprintf(__('You need to add at least one canvas element below for this action. %sYour history session has beeen reset :)%s', 'axiscomposer'), '<br /><mark class="yes">', '</mark>')), 'i18n_trash_elements_notice' => esc_js(sprintf(__('All Page Builder content will be permanently lost and cannot be undone. %sAre you positive you want to delete all canvas elements?%s', 'axiscomposer'), '<br /><mark class="no">', '</mark>')), 'i18n_backbone_loading_falied' => esc_js(__('Loading failed - Your session timed out. Please reload the page and try again.', 'axiscomposer')), 'i18n_backbone_dismiss_button' => esc_js(__('Dismiss', 'axiscomposer'))); wp_localize_script('ac-admin-pagebuilder-meta-boxes', 'axiscomposer_admin_meta_boxes_pagebuilder', $params); } if (in_array($screen_id, ac_get_layout_supported_screens())) { wp_register_script('ac-admin-layout-meta-boxes', AC()->plugin_url() . '/assets/js/admin/meta-boxes-layout' . $suffix . '.js', array('ac-admin-meta-boxes'), AC_VERSION); wp_enqueue_script('ac-admin-layout-meta-boxes'); } // System status if ('axiscomposer_page_ac-status' === $screen_id) { wp_enqueue_script('zeroclipboard'); } // Widgets Specific if (in_array($screen_id, array('widgets')) && 'yes' === get_option('axiscomposer_sidebar_enabled', 'yes')) { wp_register_script('ac-admin-sidebars', AC()->plugin_url() . '/assets/js/admin/sidebars' . $suffix . '.js', array('ac-backbone-modal'), AC_VERSION); wp_enqueue_script('ac-admin-sidebars'); wp_localize_script('ac-admin-sidebars', 'axiscomposer_admin_sidebars', array('ajax_url' => admin_url('admin-ajax.php'), 'delete_custom_sidebar_nonce' => wp_create_nonce('delete-custom-sidebar'))); } // Iconfonts Specific if (in_array($screen_id, array('axiscomposer_page_ac-iconfont'))) { wp_enqueue_media(); wp_register_script('ac-admin-iconfont', AC()->plugin_url() . '/assets/js/admin/iconfont' . $suffix . '.js', array('jquery', 'underscore', 'backbone'), AC_VERSION); wp_enqueue_script('media-upload'); wp_enqueue_script('ac-admin-iconfont'); $params = array('ajax_url' => admin_url('admin-ajax.php'), 'add_custom_iconfont_nonce' => wp_create_nonce('add-custom-iconfont'), 'delete_custom_iconfont_nonce' => wp_create_nonce('delete-custom-iconfont')); wp_localize_script('ac-admin-iconfont', 'axiscomposer_admin_iconfont', $params); } }
/** * Test ac_get_layout_supported_screens() * * @since 1.0.0 */ public function test_ac_get_layout_supported_screens() { $expected_screens = array('post', 'page', 'portfolio', 'jetpack-portfolio'); $this->assertEquals($expected_screens, ac_get_layout_supported_screens()); }
/** * Add AC Meta boxes. */ public function add_meta_boxes() { // Portfolio add_meta_box('postexcerpt', __('Portfolio short description', 'axiscomposer'), 'AC_Meta_Box_Portfolio_Short_Description::output', 'portfolio', 'normal'); add_meta_box('axiscomposer-portfolio-breadcrumb', __('Breadcrumb hierarchy', 'axiscomposer'), 'AC_Meta_Box_Portfolio_Breadcrumb::output', 'portfolio', 'side', 'default'); // Layouts foreach (ac_get_layout_supported_screens() as $type) { if (post_type_exists($type)) { $post_type_object = get_post_type_object($type); add_meta_box('axiscomposer-layout-data', sprintf(__('%s Layout', 'axiscomposer'), $post_type_object->labels->singular_name), 'AC_Meta_Box_Layout_Data::output', $type, 'side', 'default'); } } // Page Builder foreach (ac_get_allowed_screen_types() as $type) { add_meta_box('axiscomposer-pagebuilder', __('Page Builder', 'axiscomposer'), 'AC_Meta_Box_Page_Builder_Data::output', $type, 'normal', 'high'); add_filter('postbox_classes_' . $type . '_axiscomposer-pagebuilder', 'AC_Meta_Box_Page_Builder_Data::postbox_classes'); } }