Add subscribers import/export pages classes
[MAILPOET-2200]
This commit is contained in:
committed by
M. Shull
parent
f8e178e6e7
commit
81d06065be
24
lib/AdminPages/Pages/SubscribersExport.php
Normal file
24
lib/AdminPages/Pages/SubscribersExport.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace MailPoet\AdminPages\Pages;
|
||||
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
||||
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class SubscribersExport {
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
function __construct(PageRenderer $page_renderer) {
|
||||
$this->page_renderer = $page_renderer;
|
||||
}
|
||||
|
||||
function render() {
|
||||
$export = new ImportExportFactory(ImportExportFactory::EXPORT_ACTION);
|
||||
$data = $export->bootstrap();
|
||||
$data['sub_menu'] = 'mailpoet-subscribers';
|
||||
$this->page_renderer->displayPage('subscribers/importExport/export.html', $data);
|
||||
}
|
||||
}
|
40
lib/AdminPages/Pages/SubscribersImport.php
Normal file
40
lib/AdminPages/Pages/SubscribersImport.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace MailPoet\AdminPages\Pages;
|
||||
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Form\Block;
|
||||
use MailPoet\Models\ModelValidator;
|
||||
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
||||
use MailPoet\Util\Installation;
|
||||
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class SubscribersImport {
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
/** @var Installation */
|
||||
private $installation;
|
||||
|
||||
function __construct(PageRenderer $page_renderer, Installation $installation) {
|
||||
$this->page_renderer = $page_renderer;
|
||||
$this->installation = $installation;
|
||||
}
|
||||
|
||||
function render() {
|
||||
$import = new ImportExportFactory(ImportExportFactory::IMPORT_ACTION);
|
||||
$data = $import->bootstrap();
|
||||
$data = array_merge($data, [
|
||||
'date_types' => Block\Date::getDateTypes(),
|
||||
'date_formats' => Block\Date::getDateFormats(),
|
||||
'month_names' => Block\Date::getMonthNames(),
|
||||
'sub_menu' => 'mailpoet-subscribers',
|
||||
'role_based_emails' => json_encode(ModelValidator::ROLE_EMAILS),
|
||||
]);
|
||||
|
||||
$data['is_new_user'] = $this->installation->isNewInstallation();
|
||||
|
||||
$this->page_renderer->displayPage('subscribers/importExport/import.html', $data);
|
||||
}
|
||||
}
|
@@ -14,20 +14,18 @@ use MailPoet\AdminPages\Pages\RevenueTrackingPermission;
|
||||
use MailPoet\AdminPages\Pages\Segments;
|
||||
use MailPoet\AdminPages\Pages\Settings;
|
||||
use MailPoet\AdminPages\Pages\Subscribers;
|
||||
use MailPoet\AdminPages\Pages\SubscribersExport;
|
||||
use MailPoet\AdminPages\Pages\SubscribersImport;
|
||||
use MailPoet\AdminPages\Pages\Update;
|
||||
use MailPoet\AdminPages\Pages\WelcomeWizard;
|
||||
use MailPoet\AdminPages\Pages\WooCommerceListImport;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Form\Block;
|
||||
use MailPoet\Form\Renderer as FormRenderer;
|
||||
use MailPoet\Listing;
|
||||
use MailPoet\Models\Form;
|
||||
use MailPoet\Models\ModelValidator;
|
||||
use MailPoet\Models\Segment;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Settings\Pages;
|
||||
use MailPoet\Subscribers\ImportExport\ImportExportFactory;
|
||||
use MailPoet\Util\Installation;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
use MailPoet\Util\License\License;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@@ -51,9 +49,6 @@ class Menu {
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
/** @var Installation */
|
||||
private $installation;
|
||||
|
||||
/** @var ContainerWrapper */
|
||||
private $container;
|
||||
|
||||
@@ -64,14 +59,12 @@ class Menu {
|
||||
WPFunctions $wp,
|
||||
ServicesChecker $servicesChecker,
|
||||
PageRenderer $page_renderer,
|
||||
Installation $installation,
|
||||
ContainerWrapper $containerWrapper
|
||||
) {
|
||||
$this->access_control = $access_control;
|
||||
$this->wp = $wp;
|
||||
$this->servicesChecker = $servicesChecker;
|
||||
$this->page_renderer = $page_renderer;
|
||||
$this->installation = $installation;
|
||||
$this->container = $containerWrapper;
|
||||
}
|
||||
|
||||
@@ -467,26 +460,11 @@ class Menu {
|
||||
}
|
||||
|
||||
function import() {
|
||||
$import = new ImportExportFactory(ImportExportFactory::IMPORT_ACTION);
|
||||
$data = $import->bootstrap();
|
||||
$data = array_merge($data, [
|
||||
'date_types' => Block\Date::getDateTypes(),
|
||||
'date_formats' => Block\Date::getDateFormats(),
|
||||
'month_names' => Block\Date::getMonthNames(),
|
||||
'sub_menu' => 'mailpoet-subscribers',
|
||||
'role_based_emails' => json_encode(ModelValidator::ROLE_EMAILS),
|
||||
]);
|
||||
|
||||
$data['is_new_user'] = $this->installation->isNewInstallation();
|
||||
|
||||
$this->page_renderer->displayPage('subscribers/importExport/import.html', $data);
|
||||
$this->container->get(SubscribersImport::class)->render();
|
||||
}
|
||||
|
||||
function export() {
|
||||
$export = new ImportExportFactory(ImportExportFactory::EXPORT_ACTION);
|
||||
$data = $export->bootstrap();
|
||||
$data['sub_menu'] = 'mailpoet-subscribers';
|
||||
$this->page_renderer->displayPage('subscribers/importExport/export.html', $data);
|
||||
$this->container->get(SubscribersExport::class)->render();
|
||||
}
|
||||
|
||||
function formEditor() {
|
||||
|
@@ -41,6 +41,8 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Segments::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Settings::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Subscribers::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersExport::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersImport::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Update::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\WooCommerceListImport::class);
|
||||
|
@@ -8,8 +8,6 @@ use MailPoet\Config\AccessControl;
|
||||
use MailPoet\Config\Menu;
|
||||
use MailPoet\Config\ServicesChecker;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Util\Installation;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class MenuTest extends \MailPoetTest {
|
||||
@@ -88,13 +86,11 @@ class MenuTest extends \MailPoetTest {
|
||||
|
||||
private function getMenu(PageRenderer $renderer) {
|
||||
$wp = new WPFunctions;
|
||||
$settings = new SettingsController;
|
||||
return new Menu(
|
||||
new AccessControl(),
|
||||
$wp,
|
||||
new ServicesChecker,
|
||||
$renderer,
|
||||
new Installation($settings, $wp),
|
||||
ContainerWrapper::getInstance()
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user