You are here

public function MatchingQuestion::getCreationForm in Quiz 8.4

Implementation of getCreationForm

Overrides QuizQuestion::getCreationForm

See also

QuizQuestion#getCreationForm($form_state)

File

question_types/matching/lib/Drupal/matching/MatchingQuestion.php, line 304
The main classes for the matching question type.

Class

MatchingQuestion
Extension of QuizQuestion.

Namespace

Drupal\matching

Code

public function getCreationForm(array &$form_state = NULL) {
  $form['match'] = array(
    '#type' => 'fieldset',
    '#title' => t('Answer'),
    '#weight' => -4,
    '#tree' => TRUE,
    '#theme' => 'matching_question_form',
    '#description' => t('Write your pairs in the question and answer columns. For the user the question will be fixed and the answers will be shown as alternatives in a dropdown box.'),
  );
  for ($i = 1; $i <= variable_get('quiz_matching_form_size', 5); ++$i) {
    $form['match'][$i] = array(
      '#type' => 'fieldset',
      '#title' => t('Question ' . $i),
    );
    $form['match'][$i]['match_id'] = array(
      '#type' => 'value',
      '#default_value' => isset($this->node->match[$i - 1]['match_id']) ? $this->node->match[$i - 1]['match_id'] : '',
    );
    $form['match'][$i]['question'] = array(
      '#type' => 'textarea',
      '#rows' => 2,
      '#default_value' => isset($this->node->match[$i - 1]['question']) ? $this->node->match[$i - 1]['question'] : '',
      '#required' => $i < 3,
    );
    $form['match'][$i]['answer'] = array(
      '#type' => 'textarea',
      '#rows' => 2,
      '#default_value' => isset($this->node->match[$i - 1]['answer']) ? $this->node->match[$i - 1]['answer'] : '',
      '#required' => $i < 3,
    );
    $form['match'][$i]['feedback'] = array(
      '#type' => 'textarea',
      '#rows' => 2,
      '#default_value' => isset($this->node->match[$i - 1]['feedback']) ? $this->node->match[$i - 1]['feedback'] : '',
    );
  }
  return $form;
}