MDL-65276 core: move completion_cron_aggregate() to completionlib

This commit is contained in:
Simey Lameze
2019-04-05 13:38:30 +08:00
parent a5a0d10e70
commit fe4f55ee40
+23
View File
@@ -1369,3 +1369,26 @@ class completion_info {
$CFG->wwwroot.'/course/view.php?id='.$this->course->id,null,$error);
}
}
/**
* Aggregate criteria status's as per configured aggregation method.
*
* @param int $method COMPLETION_AGGREGATION_* constant.
* @param bool $data Criteria completion status.
* @param bool|null $state Aggregation state.
*/
function completion_cron_aggregate($method, $data, &$state) {
if ($method == COMPLETION_AGGREGATION_ALL) {
if ($data && $state !== false) {
$state = true;
} else {
$state = false;
}
} elseif ($method == COMPLETION_AGGREGATION_ANY) {
if ($data) {
$state = true;
} else if (!$data && $state === null) {
$state = false;
}
}
}