Skip to content

Commit

Permalink
Calculate gamification stars based on the last exercise attempt - ref…
Browse files Browse the repository at this point in the history
…s BT#10776 #TMI
  • Loading branch information
AngelFQC committed Feb 1, 2016
1 parent a961d25 commit 70ccc96
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions main/newscorm/learnpath.class.php
Expand Up @@ -10346,15 +10346,15 @@ public function getCalculateStars($sessionId = 0)
$exerciseItem->db_id
);

$exerciseResult = 0;
$exerciseResultInfo = end($exerciseResultInfo);

foreach ($exerciseResultInfo as $result) {
$exerciseResult += $result['exe_result'] * 100 / $result['exe_weighting'];
if (!$exerciseResultInfo) {
continue;
}

$exerciseAverage = $exerciseResult / (count($exerciseResultInfo) > 0 ? count($exerciseResultInfo) : 1);
$exerciseResult = $exerciseResultInfo['exe_result'] * 100 / $exerciseResultInfo['exe_weighting'];

$totalResult += $exerciseAverage;
$totalResult += $exerciseResult;
}

$totalExerciseAverage = $totalResult / (count($exercisesItems) > 0 ? count($exercisesItems) : 1);
Expand All @@ -10381,18 +10381,14 @@ public function getCalculateStars($sessionId = 0)
$finalEvaluationItem->db_id
);

$evaluationResult = 0;

foreach ($evaluationResultInfo as $result) {
$evaluationResult += $result['exe_result'] * 100 / $result['exe_weighting'];
}

$averageDivisor = count($evaluationResultInfo) > 0 ? count($evaluationResultInfo) : 1;
$evaluationResultInfo = end($evaluationResultInfo);

$evaluationAverage = $evaluationResult / $averageDivisor;
if ($evaluationResultInfo) {
$evaluationResult = $evaluationResultInfo['exe_result'] * 100 / $evaluationResultInfo['exe_weighting'];

if ($evaluationAverage >= 80) {
$stars++;
if ($evaluationResult >= 80) {
$stars++;
}
}
}

Expand Down

0 comments on commit 70ccc96

Please sign in to comment.