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'); }
public function __construct() { // required files require_once FUE_INC_DIR . '/fue_functions.php'; require_once FUE_INC_DIR . '/class.fue.php'; self::$triggers = array('purchase' => __('purchase date', 'wc_followup_emails'), 'first_purchase' => __('first purchase', 'wc_followup_emails'), 'cart' => __('added to cart', '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')); 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 if (get_option('woocommerce_followup_db_version') < $this->db_version) { add_action('fue_addons_loaded', array(&$this, 'install')); } // 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')); // account form add_action('woocommerce_before_my_account', array(&$this, 'my_account')); // @since 2.2.1 support custom order statuses add_action('init', array(&$this, 'hook_statuses')); /*// capture payment complete events from woocommerce add_action('woocommerce_order_status_completed', array(&$this, 'new_order')); add_action('woocommerce_order_status_processing', array(&$this, 'new_order')); // @since 2.1.4 add_action('woocommerce_order_status_pending', array(&$this, 'new_order')); add_action('woocommerce_order_status_failed', array(&$this, 'new_order')); add_action('woocommerce_order_status_on-hold', array(&$this, 'new_order')); add_action('woocommerce_order_status_refunded', array(&$this, 'new_order')); add_action('woocommerce_order_status_cancelled', array(&$this, 'new_order')); */ //add_action('woocommerce_order_status_changed', array(&$this, 'new_order'), 10, 3); // 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')); // 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_before_cart_item_quantity_zero', array(&$this, 'cart_item_removed')); // load addons add_action('plugins_loaded', array(&$this, 'load_addons')); do_action('fue_init'); }