Basics, Signup, Advanced tabs

This commit is contained in:
Jonathan Labreuille
2015-10-12 16:39:36 +02:00
parent 4f30756995
commit 9fd13767f0
8 changed files with 537 additions and 69 deletions

View File

@ -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);