/** * Add Contextual help tabs. */ public function add_tabs() { $screen = get_current_screen(); if (!$screen || !in_array($screen->id, ac_get_screen_ids())) { return; } $screen->add_help_tab(array('id' => 'axiscomposer_support_tab', 'title' => __('Help & Support', 'axiscomposer'), 'content' => '<h2>' . __('Help & Support', 'axiscomposer') . '</h2>' . '<p>' . sprintf(__('Should you need help understanding, using, or extending AxisComposer, %1$splease read our documentation%2$s. You will find all kinds of resources including snippets, tutorials and much more.', 'axiscomposer'), '<a href="https://docs.axisthemes.com/documentation/plugins/axiscomposer/?utm_source=helptab&utm_medium=product&utm_content=docs&utm_campaign=axiscomposerplugin">', '</a>') . '</p>' . '<p>' . sprintf(__('For further assistance with AxisComposer core you can use the %1$scommunity forum%2$s. If you need help with premium extensions sold by AxisThemes, please %3$suse our helpdesk%4$s.', 'axiscomposer'), '<a href="https://wordpress.org/support/plugin/axiscomposer">', '</a>', '<a href="https://axisthemes.com/my-account/tickets/?utm_source=helptab&utm_medium=product&utm_content=tickets&utm_campaign=axiscomposerplugin">', '</a>') . '</p>' . '<p>' . __('Before asking for help we recommend checking the system status page to identify any problems with your configuration.', 'axiscomposer') . '</p>' . '<p><a href="' . admin_url('admin.php?page=ac-status') . '" class="button button-primary">' . __('System status', 'axiscomposer') . '</a> <a href="' . 'https://wordpress.org/support/plugin/axiscomposer' . '" class="button">' . __('Community forum', 'axiscomposer') . '</a> <a href="' . 'https://axisthemes.com/my-account/tickets/?utm_source=helptab&utm_medium=product&utm_content=tickets&utm_campaign=axiscomposerplugin' . '" class="button">' . __('AxisThemes helpdesk', 'axiscomposer') . '</a></p>')); $screen->add_help_tab(array('id' => 'axiscomposer_bugs_tab', 'title' => __('Found a bug?', 'axiscomposer'), 'content' => '<h2>' . __('Found a bug?', 'axiscomposer') . '</h2>' . '<p>' . sprintf(__('If you find a bug within AxisComposer core you can create a ticket via <a href="%s">Github issues</a>. Ensure you read the <a href="%s">contribution guide</a> prior to submitting your report. To help us solve your issue, please be as descriptive as possible and include your <a href="%s">system status report</a>.', 'axiscomposer'), 'https://github.com/axisthemes/axiscomposer/issues?state=open', 'https://github.com/axisthemes/axiscomposer/blob/master/.github/CONTRIBUTING.md', admin_url('admin.php?page=ac-status')) . '</p>' . '<p><a href="' . 'https://github.com/axisthemes/axiscomposer/issues?state=open' . '" class="button button-primary">' . __('Report a bug', 'axiscomposer') . '</a> <a href="' . admin_url('admin.php?page=ac-status') . '" class="button">' . __('System status', 'axiscomposer') . '</a></p>')); $screen->set_help_sidebar('<p><strong>' . __('For more information:', 'axiscomposer') . '</strong></p>' . '<p><a href="' . 'https://www.axisthemes.com/axiscomposer/?utm_source=helptab&utm_medium=product&utm_content=about&utm_campaign=axiscomposerplugin' . '" target="_blank">' . __('About AxisComposer', 'axiscomposer') . '</a></p>' . '<p><a href="' . 'https://wordpress.org/plugins/axiscomposer/' . '" target="_blank">' . __('WordPress.org project', 'axiscomposer') . '</a></p>' . '<p><a href="' . 'https://github.com/axisthemes/axiscomposer' . '" target="_blank">' . __('Github project', 'axiscomposer') . '</a></p>' . '<p><a href="' . 'https://www.axisthemes.com/product-category/themes/axiscomposer/?utm_source=helptab&utm_medium=product&utm_content=acthemes&utm_campaign=axiscomposerplugin' . '" target="_blank">' . __('Official themes', 'axiscomposer') . '</a></p>' . '<p><a href="' . 'https://www.axisthemes.com/product-category/extensions/axiscomposer/?utm_source=helptab&utm_medium=product&utm_content=acextensions&utm_campaign=axiscomposerplugin' . '" target="_blank">' . __('Official extensions', 'axiscomposer') . '</a></p>'); }
/** * Change the admin footer text on AxisComposer admin pages. * @param string $footer_text * @return string */ public function admin_footer_text($footer_text) { if (!current_user_can('manage_axiscomposer') || !function_exists('ac_get_screen_ids')) { return; } $current_screen = get_current_screen(); $ac_pages = ac_get_screen_ids(); // Check to make sure we're on a AxisComposer admin page if (isset($current_screen->id) && apply_filters('axiscomposer_display_admin_footer_text', in_array($current_screen->id, $ac_pages))) { // Change the footer text if (!get_option('axiscomposer_admin_footer_text_rated')) { $footer_text = sprintf(__('If you like <strong>AxisComposer</strong> please leave us a %s★★★★★%s rating. A huge thanks in advance!', 'axiscomposer'), '<a href="https://wordpress.org/support/view/plugin-reviews/axiscomposer?filter=5#postform" target="_blank" class="ac-rating-link" data-rated="' . esc_attr__('Thanks :)', 'axiscomposer') . '">', '</a>'); ac_enqueue_js("\n\t\t\t\t\tjQuery( 'a.ac-rating-link' ).click( function() {\n\t\t\t\t\t\tjQuery.post( '" . AC()->ajax_url() . "', { action: 'axiscomposer_rated' } );\n\t\t\t\t\t\tjQuery( this ).parent().text( jQuery( this ).data( 'rated' ) );\n\t\t\t\t\t});\n\t\t\t\t"); } else { $footer_text = __('Thank you for creating with AxisComposer.', 'axiscomposer'); } } return $footer_text; }
/** * 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); } }