You are here

function menu_firstchild_form_alter in Menu Firstchild 6

Same name and namespace in other branches
  1. 7 menu_firstchild.module \menu_firstchild_form_alter()

Implementation of hook_form_alter().

File

./menu_firstchild.module, line 90
menu_firstchild.module Main file for the menu_firstchild module.

Code

function menu_firstchild_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'menu_overview_form') {
    foreach ($form as $key => $value) {
      if (isset($value['#item']['href']) && $value['#item']['href'] == '<firstchild>') {
        $item = $value['#item'];
        $unaltered_hidden = $item['options']['unaltered_hidden'];
        $form[$key]['#item']['hidden'] = $unaltered_hidden;
        $form[$key]['hidden']['#default_value'] = !$unaltered_hidden;
        $form[$key]['#attributes']['class'] = $unaltered_hidden ? 'menu-disabled' : 'menu-enabled';
        $form[$key]['title']['#value'] = check_plain($item['title']) . ($unaltered_hidden ? ' (' . t('disabled') . ')' : '');
      }
    }
  }
  elseif ($form_id == 'menu_edit_item' && isset($form['menu']['link_path'])) {
    $form['menu']['link_path']['#description'] .= t(' Enter %firstchild to link to the item\'s first accessible child.', array(
      '%firstchild' => '<firstchild>',
    ));
    if (isset($form['menu']['#item']['options']['unaltered_hidden'])) {
      $form['menu']['enabled']['#default_value'] = !$form['menu']['#item']['options']['unaltered_hidden'];
    }
  }
}