/** * Initialize method, called on <i>init</i> action. * <ul> * <li>setting up all ajax hooks</li> * <li>adding shortcodes</li> * <li>registering post types</li> * <li>registering textdomain for i18n</li> * <li>registering and enqueueing styles and scripts</li> * <li>catching and processing contest double-optin based on $_GET parameters</li> * </ul> */ function init() { // ajax hooks add_action('wp_ajax_contesthopper_process', array('CH_Widget', 'process')); add_action('wp_ajax_nopriv_contesthopper_process', array('CH_Widget', 'process')); add_action('wp_ajax_ch_mailchimp_list', array('CH_Page_Contest', 'field_mailchimp_list_ajax')); add_action('wp_ajax_ch_campaignmonitor_client', array('CH_Page_Contest', 'field_campaignmonitor_client_ajax')); add_action('wp_ajax_ch_campaignmonitor_list', array('CH_Page_Contest', 'field_campaignmonitor_list_ajax')); add_action('wp_ajax_ch_aweber_code', array('CH_Page_Contest', 'field_aweber_code_ajax')); add_action('wp_ajax_ch_aweber_list', array('CH_Page_Contest', 'field_aweber_list_ajax')); add_action('wp_ajax_ch_getresponse_list', array('CH_Page_Contest', 'field_getresponse_list_ajax')); // register shortcode add_shortcode('contesthopper', array('CH_Widget', 'html')); // register post type $array = array('public' => false, 'exclude_from_search' => true); register_post_type(self::post_type, $array); // register i18n domain load_plugin_textdomain('contesthopper', false, dirname(plugin_basename(__FILE__)) . '/languages/'); // register styles & scripts wp_enqueue_script('jquery'); wp_register_style('ch_css_base', self::$plugin_url . '/css/ch_base.css'); wp_enqueue_style('ch_css_base'); wp_register_style('ch_css_jquery_ui', self::$plugin_url . '/css/jquery-ui-1.9.1.custom.min.css'); wp_register_script('ch_js_widget', self::$plugin_url . '/js/ch_widget.js', array('jquery')); wp_register_script('ch_js_datetimepicker', self::$plugin_url . '/js/jquery-ui-timepicker-addon.min.js', array('jquery', 'jquery-ui-core', 'jquery-ui-slider', 'jquery-ui-datepicker')); // catch and process double optin if (isset($_GET['contesthopper_confirm'])) { CH_Widget::process_optin($_GET['contesthopper_confirm']); $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"]; $url = remove_query_arg('contesthopper_confirm', $url); wp_safe_redirect($url); die; } }