function advanced_menu_menu_admin_form_alter in Advanced Menu 7
Same name and namespace in other branches
- 6.x menu_admin/advanced_menu_menu_admin.module \advanced_menu_menu_admin_form_alter()
Implementation of hook_form_alter().
File
- menu_admin/
advanced_menu_menu_admin.module, line 12 - Provides advanced menu permissioning.
Code
function advanced_menu_menu_admin_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'menu_edit_menu':
if (user_access('administer advanced menu permissions')) {
$form['submit']['#weight'] = 2;
$form['roles'] = array(
'#type' => 'checkboxes',
'#title' => t('Editors'),
'#default_value' => _advanced_menu_menu_admin_roles($form['menu_name']['#default_value']),
'#options' => user_roles(TRUE),
'#description' => t('Roles that are checked will be able to administer this menu.'),
'#weight' => 1,
);
$form['#submit'][] = 'advanced_menu_menu_admin_form_submit';
}
break;
case 'menu_edit_item':
$menu = menu_load($form['original_item']['#value']['menu_name']);
$item = menu_link_load($form['mlid']['#value']);
if (!$item) {
$item = array(
'link_title' => '',
'mlid' => 0,
'plid' => 0,
'menu_name' => $menu['menu_name'],
'weight' => 0,
'link_path' => '',
'options' => array(),
'module' => 'menu',
'expanded' => 0,
'hidden' => 0,
'has_children' => 0,
);
}
// Generate a list of possible parents (not including this item or descendants).
$menus = menu_get_menus();
if (!user_access('administer menu')) {
$menus = _advanced_menu_menu_admin_menus($menus);
}
$options = menu_parent_options($menus, $item);
$default = $item['menu_name'] . ':' . (isset($item['plid']) ? $item['plid'] : 0);
if (!isset($options[$default])) {
$default = 'navigation:0';
}
$form['parent'] = array(
'#type' => 'select',
'#title' => t('Parent link'),
'#default_value' => $default,
'#options' => $options,
'#description' => t('The maximum depth for a link and all its children is fixed at !maxdepth. Some menu links may not be available as parents if selecting them would exceed this limit.', array(
'!maxdepth' => MENU_MAX_DEPTH,
)),
'#attributes' => array(
'class' => array(
'menu-title-select',
),
),
);
$form['submit']['#weight'] = 2;
$form['#submit'][] = 'advanced_menu_menu_admin_form_submit';
break;
}
}