You are here

function context_admin_form_alter in Contextual Administration 7

Same name and namespace in other branches
  1. 6 context_admin.module \context_admin_form_alter()

Implementation of hook_form_alter

File

./context_admin.module, line 174

Code

function context_admin_form_alter(&$form, &$form_state, $form_id) {

  // We never want to deal with node_form_validate directly, always utilize our
  // wrapper function instead.
  switch ($form_id) {
    case 'context_admin_node_form_wrapper':
      global $user;
      $node_validate = array_search('node_form_validate', $form['#validate']);
      $ca_validate = array_search('context_admin_node_form_wrapper_validate', $form['#validate']);
      if ($node_validate !== FALSE && $ca_validate !== FALSE) {
        unset($form['#validate'][$ca_validate]);
        $form['#validate'][$node_validate] = 'context_admin_node_form_wrapper_validate';
      }
      elseif ($node_validate !== FALSE) {
        $form['#validate'][$node_validate] = 'context_admin_node_form_wrapper_validate';
      }
      break;
  }

  // Expose hook_form_alter() to context_admin plugins.
  $args = array(
    'form alter',
    'alter',
    NULL,
    &$form,
    &$form_state,
    $form_id,
  );
  call_user_func_array('context_admin_plugin_callback_invoke', $args);
}