You are here

function quiz_form_alter in Quiz 7.6

Same name and namespace in other branches
  1. 6.6 quiz.module \quiz_form_alter()
  2. 6.2 quiz.module \quiz_form_alter()
  3. 6.3 quiz.module \quiz_form_alter()
  4. 6.4 quiz.module \quiz_form_alter()
  5. 6.5 quiz.module \quiz_form_alter()
  6. 7 quiz.module \quiz_form_alter()
  7. 7.4 quiz.module \quiz_form_alter()
  8. 7.5 quiz.module \quiz_form_alter()

Implements hook_form_alter().

Override settings in some existing forms. For example, we remove the preview button on a quiz.

File

./quiz.module, line 554
quiz.module Main file for the Quiz module.

Code

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

  // Set taking options the first vertical tab item
  if ('quiz_node_form' == $form_id && isset($form['menu']['#weight'])) {
    $form['menu']['#weight'] = 1;
  }

  // Remove revision fieldset if user don't have access to revise quiz manually.
  if (isset($form['#quiz_check_revision_access'])) {
    if (!user_access('manual quiz revisioning') || variable_get('quiz_auto_revisioning', 1)) {
      $form['revision_information']['revision']['#type'] = 'value';
      $form['revision_information']['revision']['#value'] = $form['revision_information']['revision']['#default_value'];
      $form['revision_information']['log']['#type'] = 'value';
      $form['revision_information']['log']['#value'] = $form['revision_information']['log']['#default_value'];
      $form['revision_information']['#access'] = FALSE;
    }
    unset($form['actions']['preview'], $form['actions']['preview_changes']);
    $form['actions']['submit']['#access'] = TRUE;

    // Quiz questions might want to add a cancel button.
    if (isset($form['#cancel_button'])) {
      $form['actions']['cancel'] = array(
        '#markup' => l(t('Cancel'), $form_state['redirect']),
        '#weight' => 6,
      );
    }
  }
}