Same name and namespace in other branches
  1. 6.x modules/menu/menu.admin.inc \menu_edit_item()
  2. 7.x modules/menu/menu.admin.inc \menu_edit_item()

Menu callback; dispatch to the appropriate menu item edit function.

1 string reference to 'menu_edit_item'
menu_menu in modules/menu.module
Implementation of hook_menu().

File

modules/menu.module, line 239
Allows administrators to customize the site navigation menu.

Code

function menu_edit_item($mid = 0) {
  $op = $_POST['op'];
  $edit = $_POST['edit'];
  $output = '';
  switch ($op) {
    case t('Submit'):
      menu_edit_item_validate($edit);
      if (!form_get_errors()) {
        menu_edit_item_save($edit);
        drupal_goto('admin/menu');
      }
      $output .= menu_edit_item_form($edit);
      break;
    default:
      if ($mid > 0) {
        $item = db_fetch_object(db_query('SELECT * FROM {menu} WHERE mid = %d', $mid));
        $edit['mid'] = $item->mid;
        $edit['pid'] = $item->pid;
        $edit['path'] = $item->path;
        $edit['title'] = $item->title;
        $edit['description'] = $item->description;
        $edit['weight'] = $item->weight;
        $edit['type'] = $item->type;
      }
      else {
        $edit['mid'] = 0;

        // In case a negative ID was passed in.
        $edit['pid'] = 1;

        // default to "Navigation" menu.
        $edit['type'] = MENU_CUSTOM_ITEM;
      }
      $output .= menu_edit_item_form($edit);
  }
  print theme('page', $output);
}