function _menu_item_container_form_menu_edit_item_alter in Menu item container 7
Same name and namespace in other branches
- 6 menu_item_container.admin.inc \_menu_item_container_form_menu_edit_item_alter()
Implements hook_form_FORM_ID_alter().
1 call to _menu_item_container_form_menu_edit_item_alter()
File
- ./
menu_item_container.admin.inc, line 84 - Provides infrequently-used functions for menu item containers.
Code
function _menu_item_container_form_menu_edit_item_alter(&$form, &$form_state) {
// Get the paramters of menu_edit_item().
list(, , $type, $item, $menu) = $form['#parameters'];
// We only need to alter the forms for menu item containers.
if (!isset($form['#parameters'][5]) || $form['#parameters'][5] != 'menu_item_container_edit' || isset($item['module']) && $item['module'] != 'menu_item_container') {
return;
}
if ($type == 'add') {
// Find the next possible container ID so each path is unique.
$result = db_query('SELECT link_path FROM {menu_links} WHERE module = "menu_item_container"');
$new_id = 1;
while ($row = db_fetch_array($result)) {
$id = str_replace('menu-item-container/', '', $row['link_path']);
if ($id >= $new_id) {
$new_id = $id + 1;
}
}
// This is an add form, initialize the menu item.
$item = $form['menu']['original_item']['#value'];
$item['link_path'] = 'menu-item-container/' . $new_id;
$item['module'] = 'menu_item_container';
$item['expanded'] = 1;
foreach (array(
'link_path',
'module',
) as $key) {
$form['menu'][$key] = array(
'#type' => 'value',
'#value' => $item[$key],
);
}
$form['menu']['original_item'] = array(
'#type' => 'value',
'#value' => $item,
);
}
elseif ($item['module'] != 'menu_item_container') {
return;
}
// Add an additional class to the fieldset.
$form['menu']['#attributes']['class'] .= ' menu-item-container-form';
// Update the link_path item.
unset($form['menu']['_path']);
$form['menu']['link_path'] = array(
'#type' => 'hidden',
'#default_value' => $item['link_path'],
);
// Add a delete button, accessible on "edit" forms.
$form['delete'] = array(
'#type' => 'submit',
'#value' => t('Delete'),
'#access' => $item['mlid'],
'#submit' => array(
'menu_item_container_delete_submit',
),
'#weight' => 10,
);
$form['menu']['link_title']['#title'] = t('Menu container title');
$form['menu']['link_title']['#description'] = t('The text corresponding to this container that should appear in the menu.');
$form['menu']['description']['#description'] = t('The description displayed when hovering over a menu container.');
$form['menu']['enabled']['#description'] = t('Menu containers that are not enabled will not be listed in any menu.');
$form['menu']['expanded']['#type'] = 'hidden';
$form['menu']['expanded']['#default_value'] = 1;
// Override validate and submit handlers.
$key = array_search('menu_edit_item_validate', $form['#validate']);
unset($form['#validate'][$key]);
$key = array_search('menu_edit_item_submit', $form['#submit']);
$form['#submit'][$key] = 'menu_item_container_edit_submit';
return $form;
}