Add NewsletterEditor page class
[MAILPOET-2200]
This commit is contained in:
committed by
M. Shull
parent
28f5c18b06
commit
c11b2313af
58
lib/AdminPages/Pages/NewsletterEditor.php
Normal file
58
lib/AdminPages/Pages/NewsletterEditor.php
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace MailPoet\AdminPages\Pages;
|
||||||
|
|
||||||
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
|
use MailPoet\Config\Menu;
|
||||||
|
use MailPoet\Models\Subscriber;
|
||||||
|
use MailPoet\Newsletter\Shortcodes\ShortcodesHelper;
|
||||||
|
use MailPoet\Services\Bridge;
|
||||||
|
use MailPoet\Settings\SettingsController;
|
||||||
|
use MailPoet\Settings\UserFlagsController;
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
|
if (!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
|
class NewsletterEditor {
|
||||||
|
/** @var PageRenderer */
|
||||||
|
private $page_renderer;
|
||||||
|
|
||||||
|
/** @var SettingsController */
|
||||||
|
private $settings;
|
||||||
|
|
||||||
|
/** @var UserFlagsController */
|
||||||
|
private $user_flags;
|
||||||
|
|
||||||
|
/** @var WPFunctions */
|
||||||
|
private $wp;
|
||||||
|
|
||||||
|
function __construct(
|
||||||
|
PageRenderer $page_renderer,
|
||||||
|
SettingsController $settings,
|
||||||
|
UserFlagsController $user_flags,
|
||||||
|
WPFunctions $wp
|
||||||
|
) {
|
||||||
|
$this->page_renderer = $page_renderer;
|
||||||
|
$this->settings = $settings;
|
||||||
|
$this->user_flags = $user_flags;
|
||||||
|
$this->wp = $wp;
|
||||||
|
}
|
||||||
|
|
||||||
|
function render() {
|
||||||
|
$subscriber = Subscriber::getCurrentWPUser();
|
||||||
|
$subscriber_data = $subscriber ? $subscriber->asArray() : [];
|
||||||
|
$data = [
|
||||||
|
'shortcodes' => ShortcodesHelper::getShortcodes(),
|
||||||
|
'settings' => $this->settings->getAll(),
|
||||||
|
'editor_tutorial_seen' => $this->user_flags->get('editor_tutorial_seen'),
|
||||||
|
'current_wp_user' => array_merge($subscriber_data, $this->wp->wpGetCurrentUser()->to_array()),
|
||||||
|
'sub_menu' => Menu::MAIN_PAGE_SLUG,
|
||||||
|
'mss_active' => Bridge::isMPSendingServiceEnabled(),
|
||||||
|
];
|
||||||
|
$this->wp->wpEnqueueMedia();
|
||||||
|
$this->wp->wpEnqueueScript('tinymce-wplink', $this->wp->includesUrl('js/tinymce/plugins/wplink/plugin.js'));
|
||||||
|
$this->wp->wpEnqueueStyle('editor', $this->wp->includesUrl('css/editor.css'));
|
||||||
|
|
||||||
|
$this->page_renderer->displayPage('newsletter/editor.html', $data);
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@ namespace MailPoet\Config;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\AdminPages\PageRenderer;
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
use MailPoet\AdminPages\Pages\Help;
|
use MailPoet\AdminPages\Pages\Help;
|
||||||
|
use MailPoet\AdminPages\Pages\NewsletterEditor;
|
||||||
use MailPoet\AdminPages\Pages\Newsletters;
|
use MailPoet\AdminPages\Pages\Newsletters;
|
||||||
use MailPoet\AdminPages\Pages\Settings;
|
use MailPoet\AdminPages\Pages\Settings;
|
||||||
use MailPoet\AdminPages\Pages\WelcomeWizard;
|
use MailPoet\AdminPages\Pages\WelcomeWizard;
|
||||||
@ -18,11 +19,9 @@ use MailPoet\Models\Form;
|
|||||||
use MailPoet\Models\ModelValidator;
|
use MailPoet\Models\ModelValidator;
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Newsletter\Shortcodes\ShortcodesHelper;
|
|
||||||
use MailPoet\Services\Bridge;
|
use MailPoet\Services\Bridge;
|
||||||
use MailPoet\Settings\Pages;
|
use MailPoet\Settings\Pages;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Settings\UserFlagsController;
|
|
||||||
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
||||||
use MailPoet\Util\Installation;
|
use MailPoet\Util\Installation;
|
||||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
@ -35,8 +34,6 @@ if (!defined('ABSPATH')) exit;
|
|||||||
class Menu {
|
class Menu {
|
||||||
const MAIN_PAGE_SLUG = 'mailpoet-newsletters';
|
const MAIN_PAGE_SLUG = 'mailpoet-newsletters';
|
||||||
|
|
||||||
/** @var Renderer */
|
|
||||||
public $renderer;
|
|
||||||
public $mp_api_key_valid;
|
public $mp_api_key_valid;
|
||||||
public $premium_key_valid;
|
public $premium_key_valid;
|
||||||
|
|
||||||
@ -48,8 +45,6 @@ class Menu {
|
|||||||
/** @var FeaturesController */
|
/** @var FeaturesController */
|
||||||
private $features_controller;
|
private $features_controller;
|
||||||
|
|
||||||
/** @var UserFlagsController */
|
|
||||||
private $user_flags;
|
|
||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
private $wp;
|
private $wp;
|
||||||
/** @var ServicesChecker */
|
/** @var ServicesChecker */
|
||||||
@ -75,7 +70,6 @@ class Menu {
|
|||||||
FeaturesController $featuresController,
|
FeaturesController $featuresController,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
ServicesChecker $servicesChecker,
|
ServicesChecker $servicesChecker,
|
||||||
UserFlagsController $user_flags,
|
|
||||||
PageRenderer $page_renderer,
|
PageRenderer $page_renderer,
|
||||||
Listing\PageLimit $listing_page_limit,
|
Listing\PageLimit $listing_page_limit,
|
||||||
Installation $installation,
|
Installation $installation,
|
||||||
@ -86,7 +80,6 @@ class Menu {
|
|||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $featuresController;
|
$this->features_controller = $featuresController;
|
||||||
$this->servicesChecker = $servicesChecker;
|
$this->servicesChecker = $servicesChecker;
|
||||||
$this->user_flags = $user_flags;
|
|
||||||
$this->page_renderer = $page_renderer;
|
$this->page_renderer = $page_renderer;
|
||||||
$this->listing_page_limit = $listing_page_limit;
|
$this->listing_page_limit = $listing_page_limit;
|
||||||
$this->installation = $installation;
|
$this->installation = $installation;
|
||||||
@ -584,21 +577,7 @@ class Menu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function newletterEditor() {
|
function newletterEditor() {
|
||||||
$subscriber = Subscriber::getCurrentWPUser();
|
$this->container->get(NewsletterEditor::class)->render();
|
||||||
$subscriber_data = $subscriber ? $subscriber->asArray() : [];
|
|
||||||
$data = [
|
|
||||||
'shortcodes' => ShortcodesHelper::getShortcodes(),
|
|
||||||
'settings' => $this->settings->getAll(),
|
|
||||||
'editor_tutorial_seen' => $this->user_flags->get('editor_tutorial_seen'),
|
|
||||||
'current_wp_user' => array_merge($subscriber_data, $this->wp->wpGetCurrentUser()->to_array()),
|
|
||||||
'sub_menu' => self::MAIN_PAGE_SLUG,
|
|
||||||
'mss_active' => Bridge::isMPSendingServiceEnabled(),
|
|
||||||
];
|
|
||||||
$this->wp->wpEnqueueMedia();
|
|
||||||
$this->wp->wpEnqueueScript('tinymce-wplink', $this->wp->includesUrl('js/tinymce/plugins/wplink/plugin.js'));
|
|
||||||
$this->wp->wpEnqueueStyle('editor', $this->wp->includesUrl('css/editor.css'));
|
|
||||||
|
|
||||||
$this->page_renderer->displayPage('newsletter/editor.html', $data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function import() {
|
function import() {
|
||||||
|
@ -31,6 +31,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
// AdminPages
|
// AdminPages
|
||||||
$container->autowire(\MailPoet\AdminPages\PageRenderer::class);
|
$container->autowire(\MailPoet\AdminPages\PageRenderer::class);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\Help::class);
|
$container->autowire(\MailPoet\AdminPages\Pages\Help::class);
|
||||||
|
$container->autowire(\MailPoet\AdminPages\Pages\NewsletterEditor::class);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\Newsletters::class);
|
$container->autowire(\MailPoet\AdminPages\Pages\Newsletters::class);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\Settings::class);
|
$container->autowire(\MailPoet\AdminPages\Pages\Settings::class);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class);
|
$container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class);
|
||||||
|
@ -11,7 +11,6 @@ use MailPoet\DI\ContainerWrapper;
|
|||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Listing\PageLimit;
|
use MailPoet\Listing\PageLimit;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Settings\UserFlagsController;
|
|
||||||
use MailPoet\Util\Installation;
|
use MailPoet\Util\Installation;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
@ -98,7 +97,6 @@ class MenuTest extends \MailPoetTest {
|
|||||||
new FeaturesController(),
|
new FeaturesController(),
|
||||||
$wp,
|
$wp,
|
||||||
new ServicesChecker,
|
new ServicesChecker,
|
||||||
new UserFlagsController,
|
|
||||||
$renderer,
|
$renderer,
|
||||||
new PageLimit($wp),
|
new PageLimit($wp),
|
||||||
new Installation($settings, $wp),
|
new Installation($settings, $wp),
|
||||||
|
Reference in New Issue
Block a user