/** * Constructor */ function __construct($plugin_file_path) { parent::__construct(EZP_CS_Constants::PLUGIN_SLUG); $this->add_class_action('plugins_loaded', 'plugins_loaded_handler'); $entity_table_present = EZP_CS_Query_Utility::is_table_present(EZP_CS_JSON_Entity_Base::DEFAULT_TABLE_NAME); if ($entity_table_present) { $global = EZP_CS_Global_Entity::get_instance(); $config = EZP_CS_Config_Entity::get_by_id($global->config_index); $coming_soon_mode_on = $config->coming_soon_mode_on; $in_preview = isset($_REQUEST['ezp_cs_preview']) && $_REQUEST['ezp_cs_preview'] == 'true'; } else { // On activation so we don't have the tables yet $coming_soon_mode_on = false; $in_preview = false; } // RSR TODO - is_admin() just says if admin panel is attempting to be displayed - NOT to see if someone is an admin if (is_admin() && !$in_preview) { //EZP_CS_Utility::debug("admin true"); if ($coming_soon_mode_on) { $this->add_class_action("admin_notices", "display_admin_notice"); } //- Hook Handlers register_activation_hook($plugin_file_path, array('EZP_CS', 'activate')); register_deactivation_hook($plugin_file_path, array('EZP_CS', 'deactivate')); register_uninstall_hook($plugin_file_path, array('EZP_CS', 'uninstall')); //- Actions $this->add_class_action('admin_init', 'admin_init_handler'); $this->add_class_action('admin_menu', 'add_to_admin_menu'); $this->add_class_action('wp_ajax_EZP_CS_export_all_subscribers', 'ws_export_all_subscribers'); $this->add_class_action('wp_ajax_EZP_CS_purge_contact', 'ws_purge_contact'); $this->add_class_action('wp_ajax_EZP_CS_test', 'ws_test'); $this->add_class_action('wp_ajax_EZP_CS_copy_template', 'ws_copy_template'); } else { //EZP_CS_Utility::debug("admin false"); if ($coming_soon_mode_on || $in_preview) { EZP_CS_Utility::debug("displaying coming soon page"); $this->add_class_action('template_redirect', 'display_coming_soon_page'); } } }