You are here

function menu_fields_menu_alter in Menu Item Fields 7

Implements hook_menu_alter().

Add support for drupal style "manage fields" and "manage display" tabs.

File

./menu_fields.module, line 385
Main file contain hooks/functions.

Code

function menu_fields_menu_alter(&$items) {
  foreach ($items as $path => $item) {
    $map = explode('/', $path);
    $map_count = count($map);
    if (strpos($path, 'admin/structure/menu/manage/%/fields') !== FALSE && $map_count == 6) {
      $items[$path]['page arguments'][0] = 'menu_fields_field_ui_field_overview_form';
      $items[$path]['type'] = MENU_LOCAL_TASK;
    }
    if (strpos($path, 'admin/structure/menu/manage/%/display') !== FALSE && $map_count == 6) {
      $items[$path]['page arguments'][0] = 'menu_fields_field_ui_display_overview_form';
      $items[$path]['type'] = MENU_LOCAL_TASK;
    }
    if (strpos($path, 'admin/structure/menu/manage/%/display') !== FALSE && $map_count == 7) {
      $items[$path]['page arguments'][0] = 'menu_fields_field_ui_display_overview_form';
      $items[$path]['access callback'] = 'menu_fields_field_ui_view_mode_menu_access';
    }
    if (strpos($path, 'admin/structure/menu') !== FALSE && strpos($path, '%field_ui_menu') !== FALSE) {
      $path_new = str_replace('%field_ui_menu', '%menu_fields_field_ui_menu', $path);
      $items[$path_new] = $items[$path];
      unset($items[$path]);
    }
  }
  $items['admin/structure/menu']['page callback'] = 'menu_fields_menu_overview_page';
  $items['admin/structure/menu']['file'] = 'menu_fields.admin.inc';
  $items['admin/structure/menu']['file path'] = drupal_get_path('module', 'menu_fields');
}