You are here

function QuizQuestionAnsweringForm::submitBack in Quiz 8.5

Same name and namespace in other branches
  1. 8.6 src/Form/QuizQuestionAnsweringForm.php \Drupal\quiz\Form\QuizQuestionAnsweringForm::submitBack()
  2. 6.x src/Form/QuizQuestionAnsweringForm.php \Drupal\quiz\Form\QuizQuestionAnsweringForm::submitBack()

Submit handler for "back".

File

src/Form/QuizQuestionAnsweringForm.php, line 326

Class

QuizQuestionAnsweringForm

Namespace

Drupal\quiz\Form

Code

function submitBack(&$form, FormStateInterface $form_state) {

  // Back a question.
  $quiz = \Drupal::entityTypeManager()
    ->getStorage('quiz')
    ->loadRevision($form['#quiz']['vid']
    ->getString());
  $quiz_result = QuizResult::load($_SESSION['quiz'][$quiz
    ->id()]['result_id']);
  $quiz_result
    ->setQuestion($_SESSION['quiz'][$quiz
    ->id()]['current'] - 1);

  // I think this is for going back to a page
  //    $layout = $quiz_result->getLayout();
  //    $question = $layout[$_SESSION['quiz'][$quiz->nid]['current']];
  //    if (!empty($question['qqr_pid'])) {
  //      foreach ($layout as $question2) {
  //        if ($question2['qnr_id'] == $question['qqr_pid']) {
  //          quiz_question_goto($quiz, $question2['number']);
  //        }
  //      }
  //    }
  $form_state
    ->setRedirect('quiz.question.take', [
    'quiz' => $quiz
      ->id(),
    'question_number' => $_SESSION['quiz'][$quiz
      ->id()]['current'],
  ]);
}