Nessuna descrizione

SubscribersImport.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace MailPoet\AdminPages\Pages;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\AdminPages\PageRenderer;
  5. use MailPoet\Form\Block;
  6. use MailPoet\Models\ModelValidator;
  7. use MailPoet\Subscribers\ImportExport\ImportExportFactory;
  8. use MailPoet\Util\Installation;
  9. class SubscribersImport {
  10. /** @var PageRenderer */
  11. private $pageRenderer;
  12. /** @var Installation */
  13. private $installation;
  14. /** @var Block\Date */
  15. private $dateBlock;
  16. public function __construct(
  17. PageRenderer $pageRenderer,
  18. Installation $installation,
  19. Block\Date $dateBlock
  20. ) {
  21. $this->pageRenderer = $pageRenderer;
  22. $this->installation = $installation;
  23. $this->dateBlock = $dateBlock;
  24. }
  25. public function render() {
  26. $import = new ImportExportFactory(ImportExportFactory::IMPORT_ACTION);
  27. $data = $import->bootstrap();
  28. $data = array_merge($data, [
  29. 'date_types' => $this->dateBlock->getDateTypes(),
  30. 'date_formats' => $this->dateBlock->getDateFormats(),
  31. 'month_names' => $this->dateBlock->getMonthNames(),
  32. 'sub_menu' => 'mailpoet-subscribers',
  33. 'role_based_emails' => json_encode(ModelValidator::ROLE_EMAILS),
  34. ]);
  35. $data['is_new_user'] = $this->installation->isNewInstallation();
  36. $this->pageRenderer->displayPage('subscribers/importExport/import.html', $data);
  37. }
  38. }