Basics, Signup, Advanced tabs
This commit is contained in:
@ -139,11 +139,70 @@ class Menu {
|
||||
$pages[$key] = $page;
|
||||
}
|
||||
|
||||
// Charsets
|
||||
$charsets = array(
|
||||
'UTF-8', 'UTF-7', 'BIG5', 'ISO-2022-JP',
|
||||
'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3',
|
||||
'ISO-8859-4', 'ISO-8859-5', 'ISO-8859-6',
|
||||
'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9',
|
||||
'ISO-8859-10', 'ISO-8859-13', 'ISO-8859-14',
|
||||
'ISO-8859-15', 'Windows-1251', 'Windows-1252'
|
||||
);
|
||||
|
||||
// Roles & Permissions
|
||||
global $wp_roles;
|
||||
$editable_roles = apply_filters('editable_roles', $wp_roles->roles);
|
||||
$roles = array();
|
||||
foreach($editable_roles as $role => $role_data) {
|
||||
$roles[$role] = translate_user_role($role_data['name']);
|
||||
}
|
||||
|
||||
$capabilities = array(
|
||||
'mailpoet_newsletters' =>
|
||||
__('Who can create newsletters?'),
|
||||
'mailpoet_newsletter_styles' =>
|
||||
__('Who can see the styles tab in the visual editor?'),
|
||||
'mailpoet_subscribers' =>
|
||||
__('Who can manage subscribers?'),
|
||||
'mailpoet_settings' =>
|
||||
__("Who can change MailPoet's settings?"),
|
||||
);
|
||||
$capabilities = apply_filters('mailpoet_capabilities', $capabilities);
|
||||
|
||||
// go over each capability
|
||||
foreach($capabilities as $capability => $label) {
|
||||
$capability_roles = array();
|
||||
// go over each role and check permission
|
||||
foreach($roles as $role_key => $role_data) {
|
||||
// get role object based on role key
|
||||
$role = get_role($role_key);
|
||||
|
||||
// assign role capability
|
||||
$capability_roles[$role_key] = array(
|
||||
'capability' => $capability,
|
||||
'is_capable' => (
|
||||
in_array($role_key, array('administrator', 'super_admin'))
|
||||
|| ($role->has_cap($capability))
|
||||
),
|
||||
'is_disabled' =>(
|
||||
in_array($role_key, array('administrator', 'super_admin'))
|
||||
)
|
||||
);
|
||||
}
|
||||
$capabilities[$capability] = array(
|
||||
'label' => $label,
|
||||
'roles' => $capability_roles
|
||||
);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'segments' => $segments,
|
||||
'pages' => $pages,
|
||||
'flags' => $flags,
|
||||
'current_user' => $current_user
|
||||
'charsets' => $charsets,
|
||||
'current_user' => $current_user,
|
||||
'capabilities' => $capabilities,
|
||||
'roles' => $roles
|
||||
);
|
||||
|
||||
echo $this->renderer->render('settings.html', $data);
|
||||
|
Reference in New Issue
Block a user