You are here

function void_menu_form_alter in Void Menu 8.x

Same name and namespace in other branches
  1. 7.x void_menu.module \void_menu_form_alter()

Implements hook_form_alter().

File

./void_menu.module, line 137
Creates placeholders for menu items to use special paths, including but not limited to javascript function calls. ------------------------------------------ Written by William Hall - www.mrtheme.com Based off of special_menu_items and…

Code

function void_menu_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'menu_overview_form') {
    foreach ($form as $key => $value) {
      if (isset($value['#item']['href']) && drupal_substr($value['#item']['href'], 0, 5) == '<void') {
        $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 ? array(
          'menu-disabled',
        ) : array(
          'menu-enabled',
        );
        $form[$key]['title']['#markup'] = check_plain($item['title']) . ($unaltered_hidden ? ' (' . t('disabled') . ')' : '');
      }
    }
  }
  elseif ($form_id == 'menu_edit_item' && isset($form['link_path']['#description'])) {
    global $base_url;
    $form['link_path']['#description'] .= '<br />***Enter <strong>&lt;void&gt;</strong> or <strong>&lt;void[1-9]&gt; to use your <a href="' . $base_url . '/admin/config/user-interface/void_menu">Custom Links</a>***';
    if (isset($form['options']['#value']['unaltered_hidden'])) {
      $form['enabled']['#default_value'] = !$form['options']['#value']['unaltered_hidden'];
    }
  }
}