You are here

function quiz_question_revision_actions_form_submit in Quiz 7.6

Same name and namespace in other branches
  1. 8.6 question_types/quiz_question/quiz_question.pages.inc \quiz_question_revision_actions_form_submit()
  2. 8.5 question_types/quiz_question/quiz_question.pages.inc \quiz_question_revision_actions_form_submit()
  3. 7.5 question_types/quiz_question/quiz_question.pages.inc \quiz_question_revision_actions_form_submit()

Submit callback for the revision actions page

File

question_types/quiz_question/quiz_question.pages.inc, line 85
User page callbacks for the quiz_question module.

Code

function quiz_question_revision_actions_form_submit($form, &$form_state) {
  foreach ($form_state['values']['quizzes'] as $nid => $actions) {

    // Get the current version of the questions.
    $quiz_node = node_load($nid);
    $question_node = node_load(arg(1));
    $efq = new EntityFieldQuery();
    $results = $efq
      ->entityCondition('entity_type', 'quiz_question_relationship')
      ->propertyCondition('parent_nid', $quiz_node->nid)
      ->propertyCondition('parent_vid', $quiz_node->vid)
      ->execute();
    $questions = entity_load('quiz_question_relationship', array_keys($results['quiz_question_relationship']));
    foreach ($questions as $question) {
      if ($question->child_nid == $question_node->nid) {

        // We found the existing question.
        $question->child_vid = $question_node->vid;
      }
    }
    if ($actions['revise'] == 'revise') {
      quiz_set_questions($quiz_node, $questions, TRUE);
    }
    if ($actions['revise'] == 'update') {
      quiz_set_questions($quiz_node, $questions, FALSE);
    }
  }
}