Brak opisu

WelcomeWizard.php 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace MailPoet\AdminPages\Pages;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\AdminPages\PageRenderer;
  5. use MailPoet\Config\Menu;
  6. use MailPoet\Config\MP2Migrator;
  7. use MailPoet\Features\FeaturesController;
  8. use MailPoet\Services\Bridge;
  9. use MailPoet\Settings\SettingsController;
  10. use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
  11. use MailPoet\WooCommerce\Helper as WooCommerceHelper;
  12. use MailPoet\WP\Functions as WPFunctions;
  13. class WelcomeWizard {
  14. /** @var PageRenderer */
  15. private $pageRenderer;
  16. /** @var SettingsController */
  17. private $settings;
  18. /** @var WooCommerceHelper */
  19. private $woocommerceHelper;
  20. /** @var WPFunctions */
  21. private $wp;
  22. /** @var FeaturesController */
  23. private $featuresController;
  24. /** @var SubscribersFeature */
  25. private $subscribersFeature;
  26. public function __construct(
  27. PageRenderer $pageRenderer,
  28. SettingsController $settings,
  29. WooCommerceHelper $woocommerceHelper,
  30. WPFunctions $wp,
  31. FeaturesController $featuresController,
  32. SubscribersFeature $subscribersFeature
  33. ) {
  34. $this->pageRenderer = $pageRenderer;
  35. $this->settings = $settings;
  36. $this->woocommerceHelper = $woocommerceHelper;
  37. $this->wp = $wp;
  38. $this->featuresController = $featuresController;
  39. $this->subscribersFeature = $subscribersFeature;
  40. }
  41. public function render() {
  42. if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
  43. $data = [
  44. 'is_mp2_migration_complete' => (bool)$this->settings->get(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY),
  45. 'is_woocommerce_active' => $this->woocommerceHelper->isWooCommerceActive(),
  46. 'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),
  47. 'sender' => $this->settings->get('sender'),
  48. 'admin_email' => $this->wp->getOption('admin_email'),
  49. 'current_wp_user' => $this->wp->wpGetCurrentUser()->to_array(),
  50. 'subscriber_count' => $this->subscribersFeature->getSubscribersCount(),
  51. 'has_mss_key_specified' => Bridge::isMSSKeySpecified(),
  52. ];
  53. $data['mailpoet_feature_flags'] = $this->featuresController->getAllFlags();
  54. $this->pageRenderer->displayPage('welcome_wizard.html', $data);
  55. }
  56. }