function menu_per_role_form_menu_edit_item_alter in Menu Per Role 7
Implements hook_form_FORM_ID_alter().
File
- ./
menu_per_role.module, line 59 - Allows restricting access to menu items per role.
Code
function menu_per_role_form_menu_edit_item_alter(&$form, &$form_state, $form_id) {
if (!user_access('administer menu_per_role')) {
return;
}
$default_value_roles = $form['mlid']['#value'] ? _menu_per_role_get_roles($form['mlid']['#value'], 0) : array();
$default_value_hide_from_roles = $form['mlid']['#value'] ? _menu_per_role_get_roles($form['mlid']['#value'], 1) : array();
$form['menu_per_role'] = array(
'#type' => 'fieldset',
'#title' => t('Restrict item visibility'),
'#collapsible' => TRUE,
'#collapsed' => count($default_value_roles) + count($default_value_hide_from_roles) == 0,
'#weight' => 5,
'#description' => t('Check to know whether the user has proper visibility permissions to see this menu item. Note that both checks are always performed.'),
'#tree' => TRUE,
);
$form['menu_per_role']['menu_per_role_roles'] = array(
'#type' => 'checkboxes',
'#title' => t('Show menu item only to selected roles'),
'#options' => user_roles(),
'#default_value' => $default_value_roles,
'#description' => t('Check no role to leave the access permission to the default. A user who is not part of at least one of the selected roles will not see this menu item.'),
);
$form['menu_per_role']['menu_per_role_hide_from_roles'] = array(
'#type' => 'checkboxes',
'#title' => t('Hide menu item from selected roles'),
'#options' => user_roles(),
'#default_value' => $default_value_hide_from_roles,
'#description' => t('Check no role to leave the access permission to the default. A user who is part of any one of these roles will not see this menu item.'),
);
}