wp = $wp; $this->phpVersionWarnings = new PHPVersionWarnings(); $this->afterMigrationNotice = new AfterMigrationNotice(); $this->unauthorizedEmailsNotice = new UnauthorizedEmailNotice(SettingsController::getInstance(), $wp); $this->unauthorizedEmailsInNewslettersNotice = new UnauthorizedEmailInNewslettersNotice(SettingsController::getInstance(), $wp); $this->inactiveSubscribersNotice = new InactiveSubscribersNotice(SettingsController::getInstance(), $wp); $this->blackFridayNotice = new BlackFridayNotice(); $this->headersAlreadySentNotice = new HeadersAlreadySentNotice(SettingsController::getInstance(), $wp); } public function init() { $excludeWizard = [ 'mailpoet-welcome-wizard', 'mailpoet-woocommerce-setup', ]; $this->wp->addAction('wp_ajax_dismissed_notice_handler', [ $this, 'ajaxDismissNoticeHandler', ]); $this->phpVersionWarnings->init( phpversion(), Menu::isOnMailPoetAdminPage($excludeWizard) ); $this->afterMigrationNotice->init( Menu::isOnMailPoetAdminPage($excludeWizard) ); $this->unauthorizedEmailsNotice->init( Menu::isOnMailPoetAdminPage($excludeWizard) ); $this->unauthorizedEmailsInNewslettersNotice->init( Menu::isOnMailPoetAdminPage($exclude = null, $pageId = 'mailpoet-newsletters') ); $this->inactiveSubscribersNotice->init( Menu::isOnMailPoetAdminPage($excludeWizard) ); $this->blackFridayNotice->init( Menu::isOnMailPoetAdminPage($excludeWizard) ); $this->headersAlreadySentNotice->init( Menu::isOnMailPoetAdminPage($excludeWizard) ); } public function ajaxDismissNoticeHandler() { if (!isset($_POST['type'])) return; switch ($_POST['type']) { case (PHPVersionWarnings::OPTION_NAME): $this->phpVersionWarnings->disable(); break; case (AfterMigrationNotice::OPTION_NAME): $this->afterMigrationNotice->disable(); break; case (BlackFridayNotice::OPTION_NAME): $this->blackFridayNotice->disable(); break; case (HeadersAlreadySentNotice::OPTION_NAME): $this->headersAlreadySentNotice->disable(); break; case (InactiveSubscribersNotice::OPTION_NAME): $this->inactiveSubscribersNotice->disable(); break; } } }