You are here

function menu_target_form_alter in Menu target 6

Same name and namespace in other branches
  1. 8 menu_target.module \menu_target_form_alter()
  2. 7 menu_target.module \menu_target_form_alter()

Implementation of hook_form_alter().

File

./menu_target.module, line 13
Allows administrators to choose wether or not to open menu items in a new window

Code

function menu_target_form_alter(&$form, $form_state, $form_id) {
  if ($form['#node'] && $form['#node']->type . '_node_form' == $form_id || $form_id == 'menu_edit_item') {
    if ($form['menu']) {
      $options = $form_id == 'menu_edit_item' ? $form['menu']['#item']['options'] : $form['menu']['options']['#value'];
      $form['menu']['target'] = array(
        '#type' => 'checkbox',
        '#title' => t('Open this link in a new window'),
        '#default_value' => $options['attributes'] && $options['attributes']['class'] && strstr($options['attributes']['class'], 'target-blank'),
      );
      array_unshift($form['#submit'], 'menu_target_menu_edit_item_submit');
    }
  }
}