public function __construct()
 {
     parent::__construct();
     // called from jobs window
     add_action('wp_ajax_wpla_jobs_load_tasks', array(&$this, 'jobs_load_tasks'));
     add_action('wp_ajax_wpla_jobs_run_task', array(&$this, 'jobs_run_task'));
     add_action('wp_ajax_wpla_jobs_complete_job', array(&$this, 'jobs_complete_job'));
     // called from category tree
     add_action('wp_ajax_wpla_get_amazon_categories_tree', array(&$this, 'ajax_get_amazon_categories_tree'));
     // logfile viewer
     add_action('wp_ajax_wpla_tail_log', array(&$this, 'ajax_wpla_tail_log'));
     // product matcher
     add_action('wp_ajax_wpla_match_product', array(&$this, 'ajax_wpla_match_product'));
     add_action('wp_ajax_wpla_show_product_matches', array(&$this, 'ajax_wpla_show_product_matches'));
     // profile selector
     add_action('wp_ajax_wpla_select_profile', array(&$this, 'ajax_wpla_select_profile'));
     add_action('wp_ajax_wpla_show_profile_selection', array(&$this, 'ajax_wpla_show_profile_selection'));
     // load market details
     add_action('wp_ajax_wpla_load_market_details', array(&$this, 'ajax_wpla_load_market_details'));
     // load feed template data
     add_action('wp_ajax_wpla_load_template_data_for_profile', array(&$this, 'ajax_wpla_load_template_data_for_profile'));
     add_action('wp_ajax_wpla_load_template_data_for_product', array(&$this, 'ajax_wpla_load_template_data_for_product'));
     // import preview
     add_action('wp_ajax_wpla_get_import_preview_table', array(&$this, 'ajax_wpla_get_import_preview_table'));
     // apply lowest price
     add_action('wp_ajax_wpla_use_lowest_price', array(&$this, 'ajax_wpla_use_lowest_price'));
     add_action('wp_ajax_wpla_apply_lowest_price', array(&$this, 'ajax_wpla_apply_lowest_price'));
     // repricing tool
     add_action('wp_ajax_wpla_update_price_column', array(&$this, 'ajax_wpla_update_price_column'));
     // pricing changelog / details info
     add_action('wp_ajax_wpla_view_pnq_log', array(&$this, 'ajax_wpla_view_pnq_log'));
     add_action('wp_ajax_wpla_view_pricing_info', array(&$this, 'ajax_wpla_view_pricing_info'));
 }
 public function __construct()
 {
     parent::__construct();
     self::$PLUGIN_URL = WPLA_URL;
     self::$PLUGIN_DIR = WPLA_PATH;
     // add link to settings on plugins page
     add_action('plugin_action_links', array(&$this, 'onWpPluginActionLinks'), 10, 4);
     // required for saving custom screen options
     add_filter('set-screen-option', array(&$this, 'set_screen_option_handler'), 100, 3);
 }
 public function __construct()
 {
     parent::__construct();
     self::$PLUGIN_URL = WPLA_URL;
     self::$PLUGIN_DIR = WPLA_PATH;
     $this->main_admin_menu_label = get_option('wpla_admin_menu_label', $this->app_name);
     $this->main_admin_menu_label = $this->main_admin_menu_label ? $this->main_admin_menu_label : $this->app_name;
     $this->main_admin_menu_slug = sanitize_key(str_replace(' ', '-', $this->main_admin_menu_label));
     add_action('admin_menu', array(&$this, 'onWpAdminMenu'), 20);
     if (is_admin()) {
         add_action('plugins_loaded', array(&$this, 'handleSubmit'));
     }
 }