1.12.x admin_bar.module admin_bar_form_alter(&$form, &$form_state, $form_id)
1.10.x admin_bar.module admin_bar_form_alter(&$form, &$form_state, $form_id)
1.11.x admin_bar.module admin_bar_form_alter(&$form, &$form_state, $form_id)
1.7.x admin_bar.module admin_bar_form_alter(&$form, &$form_state, $form_id)

Implements hook_form_alter().

File

modules/admin_bar/admin_bar.module, line 546
Render an administrative bar as a dropdown menu at the top of the window.

Code

function admin_bar_form_alter(&$form, &$form_state, $form_id) {
  $global_flush_ids = array(
    'admin_bar_theme_settings',
    // Update links for clean/non-clean URLs.
    'system_clean_url_settings',
    // Incorporate changed user permissions.
    'user_admin_permissions',
    // Removing a role potentially means less permissions.
    'user_admin_role_delete_confirm',
    // User name and roles may be changed on the user account form.
    'user_profile_form',
  );
  if (in_array($form_id, $global_flush_ids)) {
    $form['#submit'][] = 'admin_bar_form_alter_flush_cache_submit';

    // Optionally limit the cache flush to a certain user ID.
    $form_state['admin_bar_uid'] = NULL;
    if ($form_id == 'user_profile_form') {
      $form_state['admin_bar_uid'] = $form_state['user']->uid;
    }
  }

  // UX: Add a confirmation to the permissions form to ask the user whether to
  // auto-enable the 'access administration bar' permission along with
  // 'access administration pages'.
  if ($form_id == 'user_admin_permissions') {
    $form['#attached']['js'][] = backdrop_get_path('module', 'admin_bar') . '/js/admin_bar.admin.js';
  }
}