Render feature flags in layout.html

[MAILPOET-2008]
This commit is contained in:
Jan Jakeš
2019-05-08 11:07:17 +02:00
committed by M. Shull
parent c472d015d0
commit 343ad0008c
3 changed files with 14 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ namespace MailPoet\Config;
use Carbon\Carbon;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\CronTrigger;
use MailPoet\Features\FeaturesController;
use MailPoet\Form\Block;
use MailPoet\Form\Renderer as FormRenderer;
use MailPoet\Helpscout\Beacon;
@@ -50,6 +51,10 @@ class Menu {
private $access_control;
/** @var SettingsController */
private $settings;
/** @var FeaturesController */
private $features_controller;
/** @var UserFlagsController */
private $user_flags;
/** @var WPFunctions */
@@ -63,6 +68,7 @@ class Menu {
Renderer $renderer,
AccessControl $access_control,
SettingsController $settings,
FeaturesController $featuresController,
WPFunctions $wp,
WooCommerceHelper $woocommerce_helper,
ServicesChecker $servicesChecker,
@@ -72,6 +78,7 @@ class Menu {
$this->access_control = $access_control;
$this->wp = $wp;
$this->settings = $settings;
$this->features_controller = $featuresController;
$this->woocommerce_helper = $woocommerce_helper;
$this->servicesChecker = $servicesChecker;
$this->user_flags = $user_flags;
@@ -884,8 +891,11 @@ class Menu {
}
function displayPage($template, $data) {
$defaults = [
'feature_flags' => $this->features_controller->getAllFlags(),
];
try {
echo $this->renderer->render($template, $data);
echo $this->renderer->render($template, $data + $defaults);
} catch (\Exception $e) {
$notice = new WPNotice(WPNotice::TYPE_ERROR, $e->getMessage());
$notice->displayWPNotice();

View File

@@ -7,6 +7,7 @@ use MailPoet\Config\AccessControl;
use MailPoet\Config\Menu;
use MailPoet\Config\Renderer;
use MailPoet\Config\ServicesChecker;
use MailPoet\Features\FeaturesController;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\UserFlagsController;
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
@@ -91,6 +92,7 @@ class MenuTest extends \MailPoetTest {
$renderer,
new AccessControl(),
new SettingsController(),
new FeaturesController(),
new Functions(),
new WooCommerceHelper(new Functions()),
new ServicesChecker,

View File

@@ -57,6 +57,7 @@ jQuery('.toplevel_page_mailpoet-newsletters.menu-top-last')
var mailpoet_woocommerce_active = <%= json_encode(is_woocommerce_active()) %>;
// RFC 5322 standard; http://emailregex.com/ combined with https://google.github.io/closure-library/api/goog.format.EmailAddress.html#isValid
var mailpoet_email_regex = /(?=^[+a-zA-Z0-9_.!#$%&'*\/=?^`{|}~-]+@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,63}$)(?=^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})))/;
var mailpoet_feature_flags = <%= json_encode(feature_flags) %>;
</script>
<!-- javascripts -->