function quiz_report_form_submit in Quiz 7.5
Same name and namespace in other branches
- 8.4 quiz.pages.inc \quiz_report_form_submit()
- 6.4 quiz.pages.inc \quiz_report_form_submit()
- 7.6 quiz.pages.inc \quiz_report_form_submit()
- 7 quiz.pages.inc \quiz_report_form_submit()
- 7.4 quiz.pages.inc \quiz_report_form_submit()
Submit the report form.
1 call to quiz_report_form_submit()
- quiz_result_form_submit in ./
quiz.module - Quiz result submit handler.
File
- ./
quiz.pages.inc, line 26 - User pages.
Code
function quiz_report_form_submit($form, &$form_state) {
global $user;
$quiz_result = $form_state['quiz_result'];
$quiz = node_load($quiz_result->nid, $quiz_result->vid);
if (!empty($form_state['values']['question'])) {
foreach ($form_state['values']['question'] as $key => $q_values) {
$question_node = node_load($q_values['nid'], $q_values['vid']);
$instance = _quiz_question_response_get_instance($quiz_result->result_id, $question_node);
if ($instance
->getReportFormSubmit()) {
$q_values['quiz'] = node_load($quiz_result->nid, $quiz_result->vid);
call_user_func($instance
->getReportFormSubmit(), $q_values);
}
}
// Scores may have been changed. We take the necessary actions.
quiz_end_scoring($quiz_result->result_id);
$results_got_deleted = _quiz_maintain_results($quiz, $quiz_result->result_id);
// Notify the user if results got deleted as a result of him scoring an
// answer.
$add = $quiz->keep_results == QUIZ_KEEP_BEST && $results_got_deleted ? ' ' . t('Note that this @quiz is set to only keep each users best answer.', array(
'@quiz' => QUIZ_NAME,
)) : '';
$score_data = quiz_get_score_array($quiz_result->result_id, $quiz->vid, TRUE);
module_invoke_all('quiz_scored', $quiz, $score_data, $quiz_result->result_id);
drupal_set_message(t('The scoring data you provided has been saved.') . $add);
}
}