/**
 * Fix compatibility issue with Sensei's select2
 *
 * Sensei uses select2, just like Awesome Support. However, instead of loading select2's assets only where it is used
 * by Sensei, they load the assets everywhere, which messes us with our own instances of select2 if the versions of
 * select2 used by Awesome Support and Sensei don't match.
 *
 * This function will de-register Sensei's select2 on Awesome Support's pages.
 *
 * @since 3.3.2
 * @return void
 */
function wpas_remove_sensei_select2_assets()
{
    // Only make changes on our pages. Don't want to mess up even more with other stuff
    if (!wpas_is_plugin_page()) {
        return;
    }
    // Make sure that ACF Pro is installed and active
    if (!class_exists('Sensei_Main')) {
        return;
    }
    wp_deregister_script('sensei-core-select2');
    wp_deregister_style('sensei-core-select2');
}
 /**
  * Register and enqueues public-facing JavaScript files.
  *
  * @since    1.0.2
  */
 public function enqueue_scripts()
 {
     wp_register_script('wpas-plugin-script', WPAS_URL . 'assets/public/js/public-dist.js', array('jquery'), WPAS_VERSION, true);
     if (!is_admin() && wpas_is_plugin_page()) {
         wp_enqueue_script('wpas-plugin-script');
     }
     wp_localize_script('wpas-plugin-script', 'wpas', $this->get_javascript_object());
 }
 /**
  * Add the custom file types to the WordPress whitelist
  *
  * @since 3.2
  *
  * @param array $mimes Allowed mime types
  *
  * @return array Our custom mime types list
  */
 public function custom_mime_types($mimes)
 {
     /* We don't want to allow those extra file types on other pages that the plugin ones */
     if (!wpas_is_plugin_page()) {
         return $mimes;
     }
     $filetypes = explode(',', $this->get_allowed_filetypes());
     if (!empty($filetypes)) {
         require_once WPAS_PATH . 'includes/file-uploader/mime-types.php';
         foreach ($filetypes as $type) {
             $mimes[$type] = wpas_get_mime_type($type);
         }
     }
     return $mimes;
 }
/**
 * Add a custom admin footer text
 *
 * @since 3.2.8
 *
 * @param string $text Footer text
 *
 * @return string
 */
function wpas_admin_footer_text($text)
{
    if (!is_admin() || !wpas_is_plugin_page()) {
        return $text;
    }
    return sprintf(__('If you like Awesome Support <a %s>please leave us a %s rating</a>. Many thanks from ThemeAvenue in advance :)', 'awesome-support'), 'href="https://wordpress.org/support/view/plugin-reviews/awesome-support?rate=5#postform" target="_blank"', '&#9733&#9733&#9733&#9733&#9733');
}
Example #5
0
 /**
  * Register and enqueue admin-specific JavaScript.
  *
  * @since     1.0.0
  * @return    null    Return early if no settings page is registered.
  */
 public function enqueue_admin_scripts()
 {
     if (!wpas_is_plugin_page()) {
         return;
     }
     if ('ticket' == get_post_type()) {
         wp_dequeue_script('autosave');
     }
     $page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING);
     $action = filter_input(INPUT_GET, 'action', FILTER_SANITIZE_STRING);
     if ('wpas-about' === $page) {
         wp_enqueue_script('wpas-admin-about-linkify', WPAS_URL . 'assets/admin/js/vendor/linkify.min.js', array('jquery'), WPAS_VERSION);
         wp_enqueue_script('wpas-admin-about-linkify-jquery', WPAS_URL . 'assets/admin/js/vendor/linkify-jquery.min.js', array('jquery'), WPAS_VERSION);
         wp_enqueue_script('wpas-admin-about-moment', WPAS_URL . 'assets/admin/js/vendor/moment.min.js', array('jquery'), WPAS_VERSION);
         wp_enqueue_script('wpas-admin-about-script', WPAS_URL . 'assets/admin/js/admin-about.js', array('jquery'), WPAS_VERSION);
     }
     wp_enqueue_script('wpas-select2', WPAS_URL . 'assets/admin/js/vendor/select2.min.js', array('jquery'), '4.0.0', true);
     wp_enqueue_script('wpas-admin-script', WPAS_URL . 'assets/admin/js/admin.js', array('jquery', 'wpas-select2'), WPAS_VERSION);
     wp_enqueue_script('wpas-admin-tabletojson', WPAS_URL . 'assets/admin/js/vendor/jquery.tabletojson.min.js', array('jquery'), WPAS_VERSION);
     if ('edit' === $action && 'ticket' == get_post_type()) {
         wp_enqueue_script('wpas-admin-reply', WPAS_URL . 'assets/admin/js/admin-reply.js', array('jquery'), WPAS_VERSION);
         wp_enqueue_script('wpas-autolinker', WPAS_URL . 'assets/public/vendor/Autolinker/Autolinker.min.js', null, '0.19.0', true);
         wp_localize_script('wpas-admin-reply', 'wpasL10n', array('alertDelete' => __('Are you sure you want to delete this reply?', 'awesome-support'), 'alertNoTinyMCE' => __('No instance of TinyMCE found. Please use wp_editor on this page at least once: http://codex.wordpress.org/Function_Reference/wp_editor', 'awesome-support'), 'alertNoContent' => __("You can't submit an empty reply", 'awesome-support')));
     }
 }
 /**
  * Register and enqueue admin-specific JavaScript.
  *
  * @since     1.0.0
  * @return    null    Return early if no settings page is registered.
  */
 public function enqueue_admin_scripts()
 {
     if (!wpas_is_plugin_page()) {
         return;
     }
     if ('ticket' == get_post_type()) {
         wp_dequeue_script('autosave');
     }
     $page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING);
     $action = filter_input(INPUT_GET, 'action', FILTER_SANITIZE_STRING);
     if ('wpas-about' === $page) {
         add_thickbox();
         wp_enqueue_script('wpas-admin-about-script', WPAS_URL . 'assets/admin/js/admin-about.js', array('jquery'), WPAS_VERSION);
     }
     wp_enqueue_script('wpas-select2', WPAS_URL . 'assets/admin/js/vendor/select2.min.js', array('jquery'), '3.5.2', true);
     wp_enqueue_script('wpas-admin-script', WPAS_URL . 'assets/admin/js/admin.js', array('jquery', 'wpas-select2'), WPAS_VERSION);
     wp_enqueue_script('wpas-admin-tabletojson', WPAS_URL . 'assets/admin/js/vendor/jquery.tabletojson.min.js', array('jquery'), WPAS_VERSION);
     if ('edit' === $action && 'ticket' == get_post_type()) {
         wp_enqueue_script('wpas-admin-reply', WPAS_URL . 'assets/admin/js/admin-reply.js', array('jquery'), WPAS_VERSION);
         wp_localize_script('wpas-admin-reply', 'wpasL10n', array('alertDelete' => __('Are you sure you want to delete this reply?', 'wpas'), 'alertNoTinyMCE' => __('No instance of TinyMCE found. Please use wp_editor on this page at least once: http://codex.wordpress.org/Function_Reference/wp_editor', 'wpas')));
     }
 }
Example #7
0
/**
 * Register and enqueue admin-specific style sheet.
 *
 * @since     1.0.0
 * @return    null    Return early if no settings page is registered.
 */
function wpas_enqueue_assets_back_end()
{
    // Make sure we only enqueue on our plugin's pages
    if (wpas_is_plugin_page()) {
        // Styles
        wp_enqueue_style('wpas-select2');
        wp_enqueue_style('wpas-flexboxgrid');
        wp_enqueue_style('wpas-admin-styles');
        if (isset($_GET['action']) && 'edit' === $_GET['action']) {
            wp_enqueue_style('wpas-simple-hint');
        }
        // Scripts
        if ('ticket' == get_post_type()) {
            wp_dequeue_script('autosave');
        }
        $page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING);
        $action = filter_input(INPUT_GET, 'action', FILTER_SANITIZE_STRING);
        if ('wpas-about' === $page) {
            wp_enqueue_script('wpas-admin-about-linkify');
            wp_enqueue_script('wpas-admin-about-linkify-jquery');
            wp_enqueue_script('wpas-admin-about-moment');
            wp_enqueue_script('wpas-admin-about-script');
        }
        wp_enqueue_script('wpas-select2');
        wp_enqueue_script('wpas-admin-script');
        wp_enqueue_script('wpas-admin-tabletojson');
        wp_enqueue_script('wpas-users');
        wp_enqueue_script('wpas-admin-helpers_functions');
        wp_enqueue_script('wpas-admin-upload');
        if ('edit' === $action && 'ticket' == get_post_type()) {
            wp_enqueue_script('wpas-admin-reply');
            wp_enqueue_script('wpas-autolinker');
        }
    }
}
/**
 * Add free addon notice
 *
 * After the plugin has been activated, we display a notice to admins telling them that they can get a free addon for
 * Awesome Support.
 *
 * @since 3.3.3
 * @return void
 */
function wpas_free_addon_notice()
{
    // Only show this message to admins
    if (!current_user_can('administrator')) {
        return;
    }
    // Don't show the notice if user already claimed the addon
    if (wpas_is_free_addon_page_dismissed()) {
        return;
    }
    // Only show the notice on the plugin pages
    if (!wpas_is_plugin_page()) {
        return;
    }
    // No need to show the notice on the free addon page itself
    if (isset($_GET['page']) && 'wpas-optin' === $_GET['page']) {
        return;
    }
    WPAS()->admin_notices->add_notice('updated', 'wpas_get_free_addon', wp_kses(sprintf(__('Hey! Did you know you can get a <strong>free add-on for unlimited sites</strong> (a $61.00 USD value) for Awesome Support? <a href="%1$s">Click here to read more</a>.', 'awesome-support'), add_query_arg(array('post_type' => 'ticket', 'page' => 'wpas-optin'), admin_url('edit.php'))), array('strong' => array(), 'a' => array('href' => array()))));
}