diff --git a/mailpoet/lib/AdminPages/Pages/EmailEditor.php b/mailpoet/lib/AdminPages/Pages/EmailEditor.php new file mode 100644 index 0000000000..ef0fd12928 --- /dev/null +++ b/mailpoet/lib/AdminPages/Pages/EmailEditor.php @@ -0,0 +1,20 @@ +pageRenderer = $pageRenderer; + } + + public function render() { + $this->pageRenderer->displayPage('email_editor.html', []); + } +} diff --git a/mailpoet/lib/Config/Menu.php b/mailpoet/lib/Config/Menu.php index 8a94267029..7a1a2f6c26 100644 --- a/mailpoet/lib/Config/Menu.php +++ b/mailpoet/lib/Config/Menu.php @@ -7,6 +7,7 @@ use MailPoet\AdminPages\Pages\AutomationAnalytics; use MailPoet\AdminPages\Pages\AutomationEditor; use MailPoet\AdminPages\Pages\AutomationTemplates; use MailPoet\AdminPages\Pages\DynamicSegments; +use MailPoet\AdminPages\Pages\EmailEditor as EmailEditorPage; use MailPoet\AdminPages\Pages\ExperimentalFeatures; use MailPoet\AdminPages\Pages\FormEditor; use MailPoet\AdminPages\Pages\Forms; @@ -36,6 +37,7 @@ class Menu { const EMAILS_PAGE_SLUG = 'mailpoet-newsletters'; const FORMS_PAGE_SLUG = 'mailpoet-forms'; const EMAIL_EDITOR_PAGE_SLUG = 'mailpoet-newsletter-editor'; + const EMAIL_EDITOR_V2_PAGE_SLUG = 'mailpoet-email-editor'; const FORM_EDITOR_PAGE_SLUG = 'mailpoet-form-editor'; const HOMEPAGE_PAGE_SLUG = 'mailpoet-homepage'; const FORM_TEMPLATES_PAGE_SLUG = 'mailpoet-form-editor-template-selection'; @@ -267,6 +269,19 @@ class Menu { ] ); + // newsletter editor + $this->wp->addSubmenuPage( + self::EMAILS_PAGE_SLUG, + $this->setPageTitle(__('Email', 'mailpoet')), + esc_html__('Email Editor', 'mailpoet'), + AccessControl::PERMISSION_MANAGE_EMAILS, + self::EMAIL_EDITOR_V2_PAGE_SLUG, + [ + $this, + 'emailEditor', + ] + ); + $this->registerAutomationMenu(); // Forms page @@ -650,6 +665,10 @@ class Menu { $this->container->get(NewsletterEditor::class)->render(); } + public function emailEditor() { + $this->container->get(EmailEditorPage::class)->render(); + } + public function import() { $this->container->get(SubscribersImport::class)->render(); } diff --git a/mailpoet/lib/DI/ContainerConfigurator.php b/mailpoet/lib/DI/ContainerConfigurator.php index a174a82d96..5827f315dd 100644 --- a/mailpoet/lib/DI/ContainerConfigurator.php +++ b/mailpoet/lib/DI/ContainerConfigurator.php @@ -37,6 +37,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\AdminPages\Pages\AutomationEditor::class)->setPublic(true); $container->autowire(\MailPoet\AdminPages\Pages\AutomationAnalytics::class)->setPublic(true); $container->autowire(\MailPoet\AdminPages\Pages\DynamicSegments::class)->setPublic(true); + $container->autowire(\MailPoet\AdminPages\Pages\EmailEditor::class)->setPublic(true); $container->autowire(\MailPoet\AdminPages\Pages\ExperimentalFeatures::class)->setPublic(true); $container->autowire(\MailPoet\AdminPages\Pages\FormEditor::class)->setPublic(true); $container->autowire(\MailPoet\AdminPages\Pages\Forms::class)->setPublic(true); diff --git a/mailpoet/views/email_editor.html b/mailpoet/views/email_editor.html new file mode 100644 index 0000000000..2dc3279941 --- /dev/null +++ b/mailpoet/views/email_editor.html @@ -0,0 +1 @@ +