CourseObjectQuizFulfillment.php in Course 7.2
File
modules/course_quiz/CourseObjectQuizFulfillment.php
View source
<?php
class CourseObjectQuizFulfillment extends CourseObjectNodeFulfillment {
function optionsDefinition() {
return array(
'quiz_result_ids' => array(),
);
}
function delete() {
parent::delete();
$result_ids = (array) $this
->getOption('quiz_result_ids');
if (course_quiz_quiz_version() >= 5) {
entity_delete_multiple('quiz_result', $result_ids);
}
else {
quiz_delete_results($result_ids);
}
}
function grade($rid) {
$result = quiz_result_load($rid);
$result_ids = (array) $this
->getOption('quiz_result_ids');
$result_ids[] = $rid;
$this
->setOption('instance', $rid);
$this
->setOption('quiz_result_ids', $result_ids);
if ($result && $result->score >= $this
->getCourseObject()
->getOption('passing_grade')) {
$this
->setGrade($result->score)
->setComplete()
->save();
}
else {
$this
->setGrade($result->score)
->save();
}
}
}