You are here

function _menu_position_form_menu_edit_item_alter in Menu Position 6

Same name and namespace in other branches
  1. 7.2 menu_position.admin.inc \_menu_position_form_menu_edit_item_alter()
  2. 7 menu_position.admin.inc \_menu_position_form_menu_edit_item_alter()

Implements hook_form_FORM_ID_alter().

1 call to _menu_position_form_menu_edit_item_alter()
menu_position_form_menu_edit_item_alter in ./menu_position.module
Implements hook_form_FORM_ID_alter().

File

./menu_position.admin.inc, line 94
Provides infrequently used functions and hooks for menu_position.

Code

function _menu_position_form_menu_edit_item_alter(&$form, &$form_state) {

  // Retrieve all of the rules' mlids.
  $mlid = db_result(db_query('SELECT mlid FROM {menu_position_rules} WHERE mlid = %d ORDER BY weight, rid', (int) $form['menu']['mlid']['#value']));
  if ($mlid !== FALSE) {

    // If the form hasn't been submitted, display a warning.
    if (empty($form_state['post'])) {
      drupal_set_message(t('This menu item cannot be edited.'), 'warning');
    }

    // Disable all the normal form elements.
    foreach (array(
      'link_title',
      'description',
      'enabled',
      'expanded',
      'parent',
      'weight',
    ) as $key) {
      $form['menu'][$key]['#disabled'] = TRUE;
      unset($form['menu'][$key]['#required']);
    }

    // Remove the validator.
    unset($form['#validate']);

    // Replace the standard submit handler with our own.
    $form['#submit'] = array(
      'menu_position_edit_item_submit',
    );

    // Replace the Save button with a Cancel button.
    unset($form['submit']);
    $form['cancel'] = array(
      '#type' => 'submit',
      '#value' => t('Cancel'),
    );
  }
}