Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Hook Reference
  • Docs Home

Packages

  • Abandoned-Cart-Pro-for-WooCommerce
    • Admin
      • Action
      • Activate-plugin
      • Component
      • I18N
      • Import-Pro
      • License
      • Menu
      • Notices
      • Popup-Modal
        • Cart-Detail
      • Recover
      • Report
      • Setting
      • Settings
      • SMS
      • Tab
      • Template
    • Ajax-Functions
    • Classes
    • Common-Functions
    • Database-Layer
    • Encrypt-Decrypt-Data
    • Frontend
      • Cart-Capture
      • Cart-Populate
      • Coupon
      • Place-Order
    • Setting
    • Update
  • None

Classes

  • EDD_AC_WOO_Plugin_Updater
  • Wcap_Abandoned_Cart_Details
  • Wcap_Abandoned_Cart_List
  • Wcap_Abandoned_Orders_Table
  • Wcap_Abandoned_Trash_Orders_Table
  • Wcap_Actions
  • Wcap_Actions_Handler
  • Wcap_Activate_Plugin
  • wcap_active_license_notice
  • Wcap_Add_Cart_Popup_Modal
  • Wcap_Add_Settings
  • Wcap_Admin_Recovery
  • Wcap_Adv_settings
  • Wcap_Aes
  • Wcap_Aes_Ctr
  • Wcap_Ajax
  • Wcap_All_Component
  • Wcap_Atc_Dashboard
  • Wcap_Cart_Updated
  • Wcap_Common
  • Wcap_Coupon
  • Wcap_Dashboard
  • Wcap_Dashboard_Report
  • Wcap_Dashboard_Report_Action
  • Wcap_Dashboard_Widget
  • WCAP_Dashboard_Widget_Heartbeat
  • Wcap_Dashboard_Widget_Report
  • WCAP_DB_Layer
  • Wcap_Default_Settings
  • Wcap_Display_Notices
  • Wcap_EDD
  • Wcap_Eent_Email_List
  • Wcap_Email_Settings
  • Wcap_Email_Template_Fields
  • Wcap_Email_Template_List
  • Wcap_Import_Lite_to_Pro
  • Wcap_Load_Hooks
  • Wcap_Load_Scripts
  • Wcap_Localization
  • WCAP_Manual_Email
  • Wcap_Menu
  • WCAP_On_Placed_Order
  • Wcap_Order_Received
  • Wcap_Personal_Data_Eraser
  • Wcap_Personal_Data_Export
  • Wcap_Populate_Cart_Of_User
  • Wcap_Print_And_CSV
  • Wcap_Product_Report_List
  • Wcap_Product_Report_Table
  • Wcap_Recover_Orders_Table
  • Wcap_Recover_Trash_Orders_Table
  • Wcap_Recovered_Order_List
  • Wcap_Send_Manual_Email
  • Wcap_Sent_Emails_Table
  • Wcap_SMS
  • Wcap_SMS_Templates
  • Wcap_Templates_Table
  • Wcap_Tiny_Mce
  • WCAP_Tiny_Url
  • Wcap_Tracking_msg
  • Wcap_TS_deactivate
  • Wcap_TS_Faq_Support
  • Wcap_TS_Tracker
  • Wcap_TS_tracking
  • Wcap_TS_Welcome
  • Wcap_TS_Woo_Active
  • Wcap_Update_Check
  • Woocommerce_Abandon_Cart

Functions

  • wcap_add_notification_meta
  • wcap_get_notification_meta
  • wcap_get_notification_meta_by_key
  • wcap_get_template_status
  • wcap_update_notification_meta
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 
<?php
/**
 * It will add the necessary action and filter for the Email template editor.
 * @author   Tyche Softwares.
 * @package Abandoned-Cart-Pro-for-WooCommerce/Admin/Template
 * @since 5.0
 */
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) exit;

if ( !class_exists('Wcap_Tiny_Mce' ) ) {
    /**
     * It will add the necessary action and filter for the Email template editor.
     */
    class Wcap_Tiny_Mce{

        /**
         * It will add the filters for adding the new buttons in the email template editor.
         * 
         * @hook admin_init
         * @since 3.0
         */
        public static function wcap_add_tiny_mce_button_and_plugin() {
            
            /**
             * Only hook up these filters if we're in the admin panel, and the current user has permission
             * to edit posts and pages.
             */
            if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
                return;
            }
            if ( !isset( $_GET['page'] ) || $_GET['page'] != "woocommerce_ac_page" ) {
                return;
            }
            if ( 'true' == get_user_option( 'rich_editing' ) ) {
                remove_filter( 'the_excerpt', 'wpautop' );

                add_filter( 'tiny_mce_before_init', array( 'Wcap_Tiny_Mce', 'wcap_format_tiny_MCE' ) );
                add_filter( 'mce_buttons',          array( 'Wcap_Tiny_Mce', 'wcap_filter_mce_button' ) );
                add_filter( 'mce_external_plugins', array( 'Wcap_Tiny_Mce', 'wcap_filter_mce_plugin' ) );
            }
            if ( isset( $_GET['page'] ) && 'woocommerce_ac_page' == $_GET['page'] ){
                if( session_id() === '' ){
                    //session has not started
                    if ( is_plugin_active( 'agilecrm/index.php' ) ) {
                        @session_start();
                    } else {
                        session_start();
                    }
                }
            }
        }

        /**
         * It will add the necessary fields for the Template editor
         * @hook tiny_mce_before_init
         * @param array $in List of contain field
         * @return array $in Contain all the fields
         * @since 3.0
         */
        public static function wcap_format_tiny_MCE( $in ) {
            add_editor_style();
            $in['force_root_block']             = false;
            $in['valid_children']               = '+body[style]';
            $in['remove_linebreaks']            = false;
            $in['gecko_spellcheck']             = false;
            $in['keep_styles']                  = true;
            $in['accessibility_focus']          = true;
            $in['tabfocus_elements']            = 'major-publishing-actions';
            $in['media_strict']                 = false;
            $in['paste_remove_styles']          = false;
            $in['paste_remove_spans']           = false;
            $in['paste_strip_class_attributes'] = 'none';
            $in['paste_text_use_dialog']        = true;
            $in['wpeditimage_disable_captions'] = true;
            $in['wpautop']                      = false;
            $in['apply_source_formatting']      = true;
            $in['cleanup']                      = true;
            $in['convert_newlines_to_brs']      = FALSE;
            $in['fullpage_default_xml_pi']      = false;
            $in['convert_urls']                 = false;
            // Do not remove redundant BR tags
            $in['remove_redundant_brs']         = false;

            return $in;
        }

        /**
         * It will add new button in the template editor.
         * @hook mce_buttons
         * @param array $buttons List of button
         * @return array $buttons List of button
         * @since 3.0
         */
        public static function wcap_filter_mce_button( $buttons ) {
            // add a separation before our button, here our button's id is &quot;mygallery_button&quot;
            array_push( $buttons, 'abandoncart_pro', '|' );
            array_push( $buttons, 'abandoncart_pro_css', '|' );
            return $buttons;
        }

        /**
         * It will add the action for new added button in the template editor.
         * @hook mce_external_plugins
         * @param array $plugins List attched action
         * @return array $plugins List of attached action
         * @since 3.0
         */
        public static function wcap_filter_mce_plugin( $plugins ) {
            // this plugin file will work the magic of our button
            $plugins['abandoncart_pro']     = WCAP_PLUGIN_URL . '/assets/js/admin/abandoncart_plugin_button.min.js';
            $plugins['abandoncart_pro_css'] = WCAP_PLUGIN_URL . '/assets/js/admin/abandoncart_plugin_button_css.min.js';
            return $plugins;
        }
    }
}
API documentation generated by ApiGen