diff --git a/mailpoet/assets/js/src/newsletters/campaign-stats/newsletter-stats-info.tsx b/mailpoet/assets/js/src/newsletters/campaign-stats/newsletter-stats-info.tsx index 212ca3d902..bb53e72c1c 100644 --- a/mailpoet/assets/js/src/newsletters/campaign-stats/newsletter-stats-info.tsx +++ b/mailpoet/assets/js/src/newsletters/campaign-stats/newsletter-stats-info.tsx @@ -34,10 +34,7 @@ const redirectToNewsletterHome = () => { const getEditorLink = (newsletter: NewsletterType) => { let editorHref = `?page=mailpoet-newsletter-editor&id=${newsletter.id}`; - if ( - MailPoet.FeaturesController.isSupported('gutenberg_email_editor') && - newsletter.wp_post_id - ) { + if (newsletter.wp_post_id) { editorHref = MailPoet.getBlockEmailEditorUrl(newsletter.wp_post_id); } return editorHref; diff --git a/mailpoet/assets/js/src/newsletters/listings/standard.jsx b/mailpoet/assets/js/src/newsletters/listings/standard.jsx index 645c1067ac..8d69a9eca5 100644 --- a/mailpoet/assets/js/src/newsletters/listings/standard.jsx +++ b/mailpoet/assets/js/src/newsletters/listings/standard.jsx @@ -76,12 +76,8 @@ const messages = { const columns = [ { - name: MailPoet.FeaturesController.isSupported('gutenberg_email_editor') - ? 'name' - : 'subject', - label: MailPoet.FeaturesController.isSupported('gutenberg_email_editor') - ? __('Name', 'mailpoet') - : __('Subject', 'mailpoet'), + name: 'name', + label: __('Name', 'mailpoet'), sortable: true, }, { @@ -114,10 +110,7 @@ const bulkActions = [ const confirmEdit = (newsletter) => { let editorHref = `?page=mailpoet-newsletter-editor&id=${newsletter.id}`; - if ( - MailPoet.FeaturesController.isSupported('gutenberg_email_editor') && - newsletter.wp_post_id - ) { + if (newsletter.wp_post_id) { editorHref = MailPoet.getBlockEmailEditorUrl(newsletter.wp_post_id); } diff --git a/mailpoet/assets/js/src/newsletters/send.tsx b/mailpoet/assets/js/src/newsletters/send.tsx index f388691c81..c4d95f9929 100644 --- a/mailpoet/assets/js/src/newsletters/send.tsx +++ b/mailpoet/assets/js/src/newsletters/send.tsx @@ -75,10 +75,7 @@ function validateNewsletter(newsletter: NewsLetter) { // Don't validate emails created in the new editor. // The editor uses a different data format and will have own validation and also own send panel. // We are using the send page for the new editor only temporarily. - if ( - MailPoet.FeaturesController.isSupported('gutenberg_email_editor') && - newsletter.wp_post_id !== null - ) { + if (newsletter.wp_post_id !== null) { return undefined; } @@ -881,9 +878,7 @@ class NewsletterSendComponent extends Component< { if (type !== undefined) { diff --git a/mailpoet/lib/Config/Initializer.php b/mailpoet/lib/Config/Initializer.php index dc7b7bf198..f7d8671083 100644 --- a/mailpoet/lib/Config/Initializer.php +++ b/mailpoet/lib/Config/Initializer.php @@ -15,7 +15,6 @@ use MailPoet\EmailEditor\Engine\Email_Editor; use MailPoet\EmailEditor\Integrations\Core\Initializer as CoreEmailEditorIntegration; use MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypesController; use MailPoet\EmailEditor\Integrations\MailPoet\EmailEditor as MailpoetEmailEditorIntegration; -use MailPoet\Features\FeaturesController; use MailPoet\InvalidStateException; use MailPoet\Migrator\Cli as MigratorCli; use MailPoet\PostEditorBlocks\PostEditorBlock; @@ -132,9 +131,6 @@ class Initializer { /** @var BlockTypesController */ private $blockTypesController; - /** @var FeaturesController */ - private $featureController; - /** @var Url */ private $urlHelper; @@ -175,7 +171,6 @@ class Initializer { BlockTypesController $blockTypesController, MailpoetEmailEditorIntegration $mailpoetEmailEditorIntegration, CoreEmailEditorIntegration $coreEmailEditorIntegration, - FeaturesController $featureController, Url $urlHelper ) { $this->rendererFactory = $rendererFactory; @@ -210,7 +205,6 @@ class Initializer { $this->mailpoetEmailEditorIntegration = $mailpoetEmailEditorIntegration; $this->coreEmailEditorIntegration = $coreEmailEditorIntegration; $this->blockTypesController = $blockTypesController; - $this->featureController = $featureController; $this->urlHelper = $urlHelper; } @@ -366,10 +360,8 @@ class Initializer { $this->subscriberActivityTracker->trackActivity(); $this->postEditorBlock->init(); $this->automationEngine->initialize(); - if ($this->featureController->isSupported(FeaturesController::GUTENBERG_EMAIL_EDITOR)) { - $this->blockTypesController->initialize(); - $this->emailEditor->initialize(); - } + $this->blockTypesController->initialize(); + $this->emailEditor->initialize(); $this->wpFunctions->doAction('mailpoet_initialized', MAILPOET_VERSION); } catch (InvalidStateException $e) { return $this->handleRunningMigration($e); diff --git a/mailpoet/lib/EmailEditor/Integrations/MailPoet/EmailEditor.php b/mailpoet/lib/EmailEditor/Integrations/MailPoet/EmailEditor.php index ae97fffc5e..8302ade35f 100644 --- a/mailpoet/lib/EmailEditor/Integrations/MailPoet/EmailEditor.php +++ b/mailpoet/lib/EmailEditor/Integrations/MailPoet/EmailEditor.php @@ -4,7 +4,6 @@ namespace MailPoet\EmailEditor\Integrations\MailPoet; use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\PatternsController; use MailPoet\EmailEditor\Integrations\MailPoet\Templates\TemplatesController; -use MailPoet\Features\FeaturesController; use MailPoet\WP\Functions as WPFunctions; class EmailEditor { @@ -12,8 +11,6 @@ class EmailEditor { private WPFunctions $wp; - private FeaturesController $featuresController; - private EmailApiController $emailApiController; private EditorPageRenderer $editorPageRenderer; @@ -30,7 +27,6 @@ class EmailEditor { public function __construct( WPFunctions $wp, - FeaturesController $featuresController, EmailApiController $emailApiController, EditorPageRenderer $editorPageRenderer, EmailEditorPreviewEmail $emailEditorPreviewEmail, @@ -40,7 +36,6 @@ class EmailEditor { PersonalizationTagManager $personalizationTagManager ) { $this->wp = $wp; - $this->featuresController = $featuresController; $this->emailApiController = $emailApiController; $this->editorPageRenderer = $editorPageRenderer; $this->patternsController = $patternsController; @@ -51,9 +46,6 @@ class EmailEditor { } public function initialize(): void { - if (!$this->featuresController->isSupported(FeaturesController::GUTENBERG_EMAIL_EDITOR)) { - return; - } $this->cli->initialize(); $this->wp->addFilter('mailpoet_email_editor_post_types', [$this, 'addEmailPostType']); $this->wp->addAction('rest_delete_mailpoet_email', [$this->emailApiController, 'trashEmail'], 10, 1); diff --git a/mailpoet/lib/Features/FeaturesController.php b/mailpoet/lib/Features/FeaturesController.php index 8d3177efab..d48619e871 100644 --- a/mailpoet/lib/Features/FeaturesController.php +++ b/mailpoet/lib/Features/FeaturesController.php @@ -6,13 +6,11 @@ use MailPoetVendor\Doctrine\DBAL\Exception\TableNotFoundException; class FeaturesController { const FEATURE_BRAND_TEMPLATES = 'brand_templates'; - const GUTENBERG_EMAIL_EDITOR = 'gutenberg_email_editor'; // Define feature defaults in the array below in the following form: // self::FEATURE_NAME_OF_FEATURE => true, private $defaults = [ self::FEATURE_BRAND_TEMPLATES => false, - self::GUTENBERG_EMAIL_EDITOR => false, ]; /** @var array|null */ diff --git a/mailpoet/lib/Newsletter/NewsletterValidator.php b/mailpoet/lib/Newsletter/NewsletterValidator.php index 718cc244ea..8899a47106 100644 --- a/mailpoet/lib/Newsletter/NewsletterValidator.php +++ b/mailpoet/lib/Newsletter/NewsletterValidator.php @@ -3,7 +3,6 @@ namespace MailPoet\Newsletter; use MailPoet\Entities\NewsletterEntity; -use MailPoet\Features\FeaturesController; use MailPoet\Services\Bridge; use MailPoet\Settings\TrackingConfig; use MailPoet\Validator\ValidationException; @@ -16,23 +15,17 @@ class NewsletterValidator { /** @var TrackingConfig */ private $trackingConfig; - /** @var FeaturesController */ - private $featuresController; - public function __construct( Bridge $bridge, - TrackingConfig $trackingConfig, - FeaturesController $featuresController + TrackingConfig $trackingConfig ) { $this->bridge = $bridge; $this->trackingConfig = $trackingConfig; - $this->featuresController = $featuresController; } public function validate(NewsletterEntity $newsletterEntity): ?string { if ( - $this->featuresController->isSupported(FeaturesController::GUTENBERG_EMAIL_EDITOR) - && $newsletterEntity->getWpPostId() !== null + $newsletterEntity->getWpPostId() !== null ) { // Temporarily skip validation for emails created via Gutenberg editor return null; diff --git a/mailpoet/lib/Newsletter/Renderer/Renderer.php b/mailpoet/lib/Newsletter/Renderer/Renderer.php index b70a1bc5c5..2fc9891f35 100644 --- a/mailpoet/lib/Newsletter/Renderer/Renderer.php +++ b/mailpoet/lib/Newsletter/Renderer/Renderer.php @@ -6,7 +6,6 @@ use MailPoet\Config\Env; use MailPoet\EmailEditor\Engine\Renderer\Renderer as GuntenbergRenderer; use MailPoet\Entities\NewsletterEntity; use MailPoet\Entities\SendingQueueEntity; -use MailPoet\Features\FeaturesController; use MailPoet\Logging\LoggerFactory; use MailPoet\Newsletter\NewslettersRepository; use MailPoet\Newsletter\Renderer\EscapeHelper as EHelper; @@ -45,9 +44,6 @@ class Renderer { /*** @var SendingQueuesRepository */ private $sendingQueuesRepository; - /** @var FeaturesController */ - private $featuresController; - private CapabilitiesManager $capabilitiesManager; public function __construct( @@ -59,7 +55,6 @@ class Renderer { LoggerFactory $loggerFactory, NewslettersRepository $newslettersRepository, SendingQueuesRepository $sendingQueuesRepository, - FeaturesController $featuresController, CapabilitiesManager $capabilitiesManager ) { $this->bodyRenderer = $bodyRenderer; @@ -70,7 +65,6 @@ class Renderer { $this->loggerFactory = $loggerFactory; $this->newslettersRepository = $newslettersRepository; $this->sendingQueuesRepository = $sendingQueuesRepository; - $this->featuresController = $featuresController; $this->capabilitiesManager = $capabilitiesManager; } @@ -88,7 +82,7 @@ class Renderer { $subject = $subject ?: $newsletter->getSubject(); $wpPostEntity = $newsletter->getWpPost(); $wpPost = $wpPostEntity ? $wpPostEntity->getWpPostInstance() : null; - if ($this->featuresController->isSupported(FeaturesController::GUTENBERG_EMAIL_EDITOR) && $wpPost instanceof \WP_Post) { + if ($wpPost instanceof \WP_Post) { $renderedNewsletter = $this->guntenbergRenderer->render($wpPost, $subject, $newsletter->getPreheader(), $language, $metaRobots); } else { $body = (is_array($newsletter->getBody()))