Files
piratepoet/lib/AdminPages/Pages/Forms.php
Rostislav Wolny 35a25e119f Remove unnecessary type checks
These were added during initial testing of php8 compatibility using PHPStan and were false positive due PHPStan issues.
[MAILPOET-2837]
2021-01-04 12:28:53 +01:00

75 lines
2.2 KiB
PHP

<?php
namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer;
use MailPoet\Listing\PageLimit;
use MailPoet\Models\Segment;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\UserFlagsController;
use MailPoet\Util\Installation;
use MailPoet\Util\License\License;
use MailPoet\WP\Functions as WPFunctions;
class Forms {
/** @var PageRenderer */
private $pageRenderer;
/** @var PageLimit */
private $listingPageLimit;
/** @var Installation */
private $installation;
/** @var UserFlagsController */
private $userFlags;
/** @var WPFunctions */
private $wp;
/** @var SettingsController */
private $settings;
public function __construct(
PageRenderer $pageRenderer,
PageLimit $listingPageLimit,
Installation $installation,
SettingsController $settings,
UserFlagsController $userFlags,
WPFunctions $wp
) {
$this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit;
$this->installation = $installation;
$this->userFlags = $userFlags;
$this->wp = $wp;
$this->settings = $settings;
}
public function render() {
$data = [];
$data['items_per_page'] = $this->listingPageLimit->getLimitPerPage('forms');
$data['segments'] = Segment::findArray();
$data['is_new_user'] = $this->installation->isNewInstallation();
$data = $this->getNPSSurveyData($data);
$this->pageRenderer->displayPage('forms.html', $data);
}
public function getNPSSurveyData($data) {
$data['display_nps_survey'] = false;
if ($this->userFlags->get('display_new_form_editor_nps_survey')) {
$data['current_wp_user'] = $this->wp->wpGetCurrentUser()->to_array();
$data['site_url'] = $this->wp->siteUrl();
$data['premium_plugin_active'] = License::getLicense();
$data['current_wp_user_firstname'] = $this->wp->wpGetCurrentUser()->user_firstname;
$installedAtDiff = (new \DateTime($this->settings->get('installed_at')))->diff(new \DateTime());
$data['installed_days_ago'] = (int)$installedAtDiff->format('%a');
$data['display_nps_survey'] = true;
$this->userFlags->set('display_new_form_editor_nps_survey', false);
}
return $data;
}
}