function quiz_question_revision_actions_form_submit in Quiz 8.5
Same name and namespace in other branches
- 8.6 question_types/quiz_question/quiz_question.pages.inc \quiz_question_revision_actions_form_submit()
- 7.6 question_types/quiz_question/quiz_question.pages.inc \quiz_question_revision_actions_form_submit()
- 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 100 - User page callbacks for the quiz_question module.
Code
function quiz_question_revision_actions_form_submit($form, &$form_state) {
$form_state['redirect'] = 'quiz/' . $form_state['values']['question_node']->nid;
foreach ($form_state['values']['quizzes'] as $nid => $actions) {
// Get the current version of the questions.
$quiz_node = node_load($nid);
$question_node = node_load($form_state['values']['question_node']->nid);
$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') {
$result = quiz_set_questions($quiz_node, $questions, TRUE);
if ($result) {
\Drupal::messenger()
->addStatus(t('Quiz %title succesfully revised.', array(
'%title' => $quiz_node->title,
)));
}
}
elseif ($actions['revise'] == 'update') {
$result = quiz_set_questions($quiz_node, $questions, FALSE);
if ($result) {
\Drupal::messenger()
->addStatus(t('Quiz %title succesfully updated.', array(
'%title' => $quiz_node->title,
)));
}
}
else {
\Drupal::messenger()
->addStatus(t('Quiz not updated, please use the Quiz question listing to if you decide to update the quiz manually.', array(
'%title' => $quiz_node->title,
)));
}
}
}