Exemplo n.º 1
0
 public function __construct()
 {
     // required files
     require_once FUE_INC_DIR . '/fue_functions.php';
     require_once FUE_INC_DIR . '/class.fue.php';
     self::$triggers = array('first_purchase' => __('after first purchase', 'wc_followup_emails'), 'cart' => __('after added to cart', 'wc_followup_emails'), 'after_last_purchase' => __('after last purchase', 'wc_followup_emails'), 'order_total_above' => __('after order total is above', 'wc_followup_emails'), 'order_total_below' => __('after order total is below', 'wc_followup_emails'), 'purchase_above_one' => __('after customer purchased more than one time', 'wc_followup_emails'), 'total_orders' => __('after total orders by customer', 'wc_followup_emails'), 'total_purchases' => __('after total purchase amount by customer', 'wc_followup_emails'));
     self::$email_types = array('normal' => __('Product/Category Email', 'wc_followup_emails'), 'generic' => __('Storewide Email', 'wc_followup_emails'), 'signup' => __('User Signup Email', 'wc_followup_emails'), 'manual' => __('Manual Email', 'wc_followup_emails'), 'customer' => __('Customer Email', 'wc_followup_emails'), 'reminder' => __('Reminder Email', 'wc_followup_emails'));
     self::$email_type_triggers = array('normal' => array('cart'), 'generic' => array('first_purchase', 'cart'), 'signup' => array(), 'manual' => array(), 'customer' => array('after_last_purchase', 'order_total_above', 'order_total_below', 'purchase_above_one', 'total_orders', 'total_purchases'), 'reminder' => array());
     self::$durations = array('minutes' => __('minutes', 'wc_followup_emails'), 'hours' => __('hours', 'wc_followup_emails'), 'days' => __('days', 'wc_followup_emails'), 'weeks' => __('weeks', 'wc_followup_emails'), 'months' => __('months', 'wc_followup_emails'), 'years' => __('years', 'wc_followup_emails'), 'date' => __('on this date', 'wc_followup_emails'));
     // install
     register_activation_hook(__FILE__, array($this, 'install'));
     // uninstall
     register_deactivation_hook(__FILE__, array($this, 'uninstall'));
     // Upgrade
     add_action('plugins_loaded', array($this, 'update_db'));
     add_action('init', 'FUE::initial_order_import');
     // menu
     add_action('admin_menu', array($this, 'menu'), 20);
     // settings styles and scripts
     add_action('admin_enqueue_scripts', array($this, 'settings_scripts'));
     // new cron event
     add_filter('cron_schedules', array($this, 'cron_schedules'));
     // cron action
     add_action('sfn_followup_emails', array($this, 'send_emails'));
     add_action('sfn_optimize_tables', array($this, 'optimize_tables'));
     // send manual emails
     add_action('admin_post_sfn_followup_send_manual', array($this, 'send_manual'));
     // account form
     add_shortcode('woocommerce_followup_optout', array($this, 'my_account'));
     // @since 2.2.1 support custom order statuses
     add_action('init', array($this, 'hook_statuses'));
     // after user signs up
     add_action('user_register', array($this, 'user_register'));
     // settings actions
     add_action('admin_post_sfn_followup_new', array($this, 'create_email'));
     add_action('admin_post_sfn_followup_edit', array($this, 'update_email'));
     add_action('admin_post_sfn_followup_save_priorities', array($this, 'update_priorities'));
     add_action('admin_post_sfn_followup_save_settings', array($this, 'update_settings'));
     add_action('admin_post_sfn_followup_activation', array($this, 'activation'));
     add_action('admin_post_fue_activate_addon', array($this, 'activate_addon'));
     add_action('admin_post_fue_deactivate_addon', array($this, 'deactivate_addon'));
     // test email
     add_action('wp_ajax_sfn_test_email', array('FUE', 'send_test_email'));
     // find dupes/similar follow-ups
     add_action('wp_ajax_sfn_fe_find_dupes', array($this, 'find_dupes'));
     // email search
     add_action('wp_ajax_fue_email_query', array($this, 'email_query'));
     // get post custom fields
     add_action('wp_ajax_fue_get_custom_fields', array($this, 'get_custom_fields'));
     // catch unsubscribe request
     add_action('template_redirect', array($this, 'unsubscribe_request'));
     add_action('template_redirect', array($this, 'update_my_account'));
     // shortcode for the unsubscribe page
     add_shortcode('woocommerce_followup_unsubscribe', array($this, 'unsubscribe_form'));
     // add to cart
     add_action('woocommerce_cart_updated', array($this, 'cart_updated'));
     add_action('woocommerce_cart_emptied', array($this, 'cart_emptied'));
     //add_action( 'woocommerce_before_cart_item_quantity_zero', array($this, 'cart_item_removed') );
     // load addons
     add_action('plugins_loaded', array($this, 'load_addons'));
     add_filter('woocommerce_json_search_found_products', array($this, 'found_products'));
     do_action('fue_init');
 }