Skip to content
Commits on Source (3)
...@@ -392,14 +392,20 @@ class ilCourseObjectiveResult ...@@ -392,14 +392,20 @@ class ilCourseObjectiveResult
public static function __isFullfilled(array $question_points, array $objective_data): bool public static function __isFullfilled(array $question_points, array $objective_data): bool
{ {
global $DIC;
if (!is_array($objective_data['questions'])) { if (!is_array($objective_data['questions'])) {
return false; return false;
} }
$max_points = 0; $max_points = 0;
$reached_points = 0; $reached_points = 0;
foreach ($objective_data['questions'] as $question_id) { foreach ($objective_data['questions'] as $question_id) {
$max_points += $question_points[$question_id]['max_points']; if (array_key_exists($question_id,$question_points)) {
$reached_points += $question_points[$question_id]['reached_points'] ?? 0; $max_points += $question_points[$question_id]['max_points'];
$reached_points += $question_points[$question_id]['reached_points'] ?? 0;
} else {
$DIC->logger()->crs()->warning('stale question in course objective assignment table id '.$question_id);
}
} }
if (!$max_points) { if (!$max_points) {
return false; return false;
......