if ($CFG->version < 2011120100) { $context = get_context_instance(CONTEXT_MODULE, $cm->id); } else { $context = context_module::instance($cm->id); } $PAGE->set_context($context); if (!has_capability('mod/realtimequiz:attempt', $context)) { realtimequiz_send_error(get_string('notallowedattempt', 'realtimequiz')); realtimequiz_end_response(); die; } $status = $realtimequiz->status; if ($status === false) { realtimequiz_send_error(get_string('badquizid', 'realtimequiz') . $quizid); } else { $status = realtimequiz_update_status($quizid, $status); // Check if the current status should change due to a timeout if ($requesttype == 'quizrunning') { if ($status == REALTIMEQUIZ_STATUS_NOTRUNNING || $status == REALTIMEQUIZ_STATUS_FINALRESULTS) { // Not running / finished realtimequiz_send_not_running(); } else { realtimequiz_send_running(); } } else { if ($requesttype == 'startquiz') { if (has_capability('mod/realtimequiz:control', $context)) { $session = new Object(); $session->timestamp = time(); $session->name = optional_param('sessionname', '', PARAM_CLEAN); $session->quizid = $quizid;
} $questioncount = $DB->count_records('realtimequiz_question', array('quizid' => $realtimequiz->id)); if ($questioncount == 0 && has_capability('mod/realtimequiz:editquestions', $context)) { redirect('edit.php?id=' . $id); } require_capability('mod/realtimequiz:attempt', $context); if ($CFG->version > 2014051200) { // Moodle 2.7+ $params = array('context' => $context, 'objectid' => $realtimequiz->id); $event = \mod_realtimequiz\event\course_module_viewed::create($params); $event->add_record_snapshot('realtimequiz', $realtimequiz); $event->trigger(); } else { add_to_log($course->id, 'realtimequiz', 'view all', "index.php?id={$course->id}", ""); } $quizstatus = realtimequiz_update_status($realtimequiz->id, $realtimequiz->status); /// Print the page header $strrealtimequizzes = get_string("modulenameplural", "realtimequiz"); $strrealtimequiz = get_string("modulename", "realtimequiz"); $PAGE->set_title(strip_tags($course->shortname . ': ' . $strrealtimequiz . ': ' . format_string($realtimequiz->name, true))); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->heading(format_string($realtimequiz->name)); realtimequiz_view_tabs('view', $cm->id, $context); echo format_text($realtimequiz->intro, $realtimequiz->introformat); /// Print the main part of the page if ($CFG->version < 2013111800) { $tickimg = $OUTPUT->pix_url('i/tick_green_big'); $crossimg = $OUTPUT->pix_url('i/cross_red_big'); } else { $tickimg = $OUTPUT->pix_url('i/grade_correct');