Modifies Menu to use AccessControl
This commit is contained in:
@ -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'
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user