Modifies Menu to use AccessControl

This commit is contained in:
Vlad
2017-08-13 22:00:36 -04:00
parent a241d0c7bc
commit c3c6ce989c

View File

@ -1,4 +1,5 @@
<?php <?php
namespace MailPoet\Config; namespace MailPoet\Config;
use MailPoet\Cron\CronTrigger; use MailPoet\Cron\CronTrigger;
@ -45,6 +46,7 @@ class Menu {
} }
function setup() { function setup() {
if(!AccessControl::validatePermission('access_plugin')) return;
if(self::isOnMailPoetAdminPage()) { if(self::isOnMailPoetAdminPage()) {
do_action('mailpoet_conflict_resolver_styles'); do_action('mailpoet_conflict_resolver_styles');
do_action('mailpoet_conflict_resolver_scripts'); do_action('mailpoet_conflict_resolver_scripts');
@ -55,7 +57,7 @@ class Menu {
add_menu_page( add_menu_page(
'MailPoet', 'MailPoet',
'MailPoet', 'MailPoet',
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN),
$main_page_slug, $main_page_slug,
null, null,
$this->assets_url . '/img/menu_icon.png', $this->assets_url . '/img/menu_icon.png',
@ -66,7 +68,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Emails', 'mailpoet')), $this->setPageTitle(__('Emails', 'mailpoet')),
__('Emails', 'mailpoet'), __('Emails', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_EMAILS),
$main_page_slug, $main_page_slug,
array( array(
$this, $this,
@ -90,7 +92,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Forms', 'mailpoet')), $this->setPageTitle(__('Forms', 'mailpoet')),
__('Forms', 'mailpoet'), __('Forms', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_FORMS),
'mailpoet-forms', 'mailpoet-forms',
array( array(
$this, $this,
@ -113,7 +115,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Subscribers', 'mailpoet')), $this->setPageTitle(__('Subscribers', 'mailpoet')),
__('Subscribers', 'mailpoet'), __('Subscribers', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SUBSCRIBERS),
'mailpoet-subscribers', 'mailpoet-subscribers',
array( array(
$this, $this,
@ -136,7 +138,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Lists', 'mailpoet')), $this->setPageTitle(__('Lists', 'mailpoet')),
__('Lists', 'mailpoet'), __('Lists', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SEGMENTS),
'mailpoet-segments', 'mailpoet-segments',
array( array(
$this, $this,
@ -160,7 +162,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Settings', 'mailpoet')), $this->setPageTitle(__('Settings', 'mailpoet')),
__('Settings', 'mailpoet'), __('Settings', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SETTINGS),
'mailpoet-settings', 'mailpoet-settings',
array( array(
$this, $this,
@ -172,7 +174,7 @@ class Menu {
$main_page_slug, $main_page_slug,
$this->setPageTitle(__('Help', 'mailpoet')), $this->setPageTitle(__('Help', 'mailpoet')),
__('Help', 'mailpoet'), __('Help', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN),
'mailpoet-help', 'mailpoet-help',
array( array(
$this, $this,
@ -185,7 +187,7 @@ class Menu {
License::getLicense() ? true : $main_page_slug, License::getLicense() ? true : $main_page_slug,
$this->setPageTitle(__('Premium', 'mailpoet')), $this->setPageTitle(__('Premium', 'mailpoet')),
__('Premium', 'mailpoet'), __('Premium', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN),
'mailpoet-premium', 'mailpoet-premium',
array( array(
$this, $this,
@ -197,7 +199,7 @@ class Menu {
'admin.php?page=mailpoet-subscribers', 'admin.php?page=mailpoet-subscribers',
$this->setPageTitle(__('Import', 'mailpoet')), $this->setPageTitle(__('Import', 'mailpoet')),
__('Import', 'mailpoet'), __('Import', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SUBSCRIBERS),
'mailpoet-import', 'mailpoet-import',
array( array(
$this, $this,
@ -209,7 +211,7 @@ class Menu {
true, true,
$this->setPageTitle(__('Export', 'mailpoet')), $this->setPageTitle(__('Export', 'mailpoet')),
__('Export', 'mailpoet'), __('Export', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SUBSCRIBERS),
'mailpoet-export', 'mailpoet-export',
array( array(
$this, $this,
@ -221,7 +223,7 @@ class Menu {
true, true,
$this->setPageTitle(__('Welcome', 'mailpoet')), $this->setPageTitle(__('Welcome', 'mailpoet')),
__('Welcome', 'mailpoet'), __('Welcome', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN),
'mailpoet-welcome', 'mailpoet-welcome',
array( array(
$this, $this,
@ -229,23 +231,11 @@ class Menu {
) )
); );
add_submenu_page(
true,
$this->setPageTitle(__('Migration', 'mailpoet')),
'',
Env::$required_permission,
'mailpoet-migration',
array(
$this,
'migration'
)
);
add_submenu_page( add_submenu_page(
true, true,
$this->setPageTitle(__('Update', 'mailpoet')), $this->setPageTitle(__('Update', 'mailpoet')),
__('Update', 'mailpoet'), __('Update', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_ACCESS_PLUGIN),
'mailpoet-update', 'mailpoet-update',
array( array(
$this, $this,
@ -253,11 +243,23 @@ class Menu {
) )
); );
add_submenu_page(
true,
$this->setPageTitle(__('Migration', 'mailpoet')),
'',
AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_SETTINGS),
'mailpoet-migration',
array(
$this,
'migration'
)
);
add_submenu_page( add_submenu_page(
true, true,
$this->setPageTitle(__('Form Editor', 'mailpoet')), $this->setPageTitle(__('Form Editor', 'mailpoet')),
__('Form Editor', 'mailpoet'), __('Form Editor', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_FORMS),
'mailpoet-form-editor', 'mailpoet-form-editor',
array( array(
$this, $this,
@ -269,7 +271,7 @@ class Menu {
true, true,
$this->setPageTitle(__('Newsletter', 'mailpoet')), $this->setPageTitle(__('Newsletter', 'mailpoet')),
__('Newsletter Editor', 'mailpoet'), __('Newsletter Editor', 'mailpoet'),
Env::$required_permission, AccessControl::validatePermission(AccessControl::PERMISSION_MANAGE_EMAILS),
'mailpoet-newsletter-editor', 'mailpoet-newsletter-editor',
array( array(
$this, $this,
@ -611,9 +613,12 @@ class Menu {
true, true,
'MailPoet', 'MailPoet',
'MailPoet', 'MailPoet',
Env::$required_permission, Env::$use_plugin_permission,
$_REQUEST['page'], $_REQUEST['page'],
array(__CLASS__, 'errorPageCallback') array(
__CLASS__,
'errorPageCallback'
)
); );
} }