|
|
|
|
@ -683,83 +683,72 @@ class GradebookTable extends SortableTable |
|
|
|
|
SCORE_DIV |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$totalRanking = []; |
|
|
|
|
$invalidateRanking = true; |
|
|
|
|
$average = 0; |
|
|
|
|
foreach ($this->studentList as $student) { |
|
|
|
|
$score = $main_cat[0]->calc_score($student['user_id']); |
|
|
|
|
if (!empty($score[0])) { |
|
|
|
|
$invalidateRanking = false; |
|
|
|
|
} |
|
|
|
|
$totalRanking[$student['user_id']] = $score[0]; |
|
|
|
|
$average += $score[0]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$totalRanking = AbstractLink::getCurrentUserRanking($user_id, $totalRanking); |
|
|
|
|
|
|
|
|
|
$totalRanking = $scoredisplay->display_score( |
|
|
|
|
$totalRanking, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
$row = [ |
|
|
|
|
null, |
|
|
|
|
'<h3>'.get_lang('Total').'</h3>', |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
if ($invalidateRanking) { |
|
|
|
|
$totalRanking = null; |
|
|
|
|
} |
|
|
|
|
if (!$this->exportToPdf) { |
|
|
|
|
$row[] = null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Overwrite main weight |
|
|
|
|
$totalBest[1] = $main_weight; |
|
|
|
|
$row[] = $main_weight; |
|
|
|
|
$row[] = $totalResult; |
|
|
|
|
|
|
|
|
|
$totalBest = $scoredisplay->display_score( |
|
|
|
|
$totalBest, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
if (in_array(1, $this->loadStats)) { |
|
|
|
|
$totalRanking = []; |
|
|
|
|
$invalidateRanking = true; |
|
|
|
|
$average = 0; |
|
|
|
|
foreach ($this->studentList as $student) { |
|
|
|
|
$score = $main_cat[0]->calc_score($student['user_id']); |
|
|
|
|
if (!empty($score[0])) { |
|
|
|
|
$invalidateRanking = false; |
|
|
|
|
} |
|
|
|
|
$totalRanking[$student['user_id']] = $score[0]; |
|
|
|
|
$average += $score[0]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($this->exportToPdf || $this->loadStats) { |
|
|
|
|
// Overwrite main weight |
|
|
|
|
$totalAverage[0] = $average / count($this->studentList); |
|
|
|
|
$totalAverage[1] = $main_weight; |
|
|
|
|
$totalRanking = AbstractLink::getCurrentUserRanking($user_id, $totalRanking); |
|
|
|
|
|
|
|
|
|
$totalAverage = $scoredisplay->display_score( |
|
|
|
|
$totalAverage, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
$totalRanking = $scoredisplay->display_score( |
|
|
|
|
$totalRanking, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if ($this->exportToPdf) { |
|
|
|
|
$row = [ |
|
|
|
|
null, |
|
|
|
|
'<h3>'.get_lang('Total').'</h3>', |
|
|
|
|
$main_weight, |
|
|
|
|
$totalResult, |
|
|
|
|
$totalRanking, |
|
|
|
|
$totalBest, |
|
|
|
|
$totalAverage, |
|
|
|
|
]; |
|
|
|
|
} else { |
|
|
|
|
$row = [ |
|
|
|
|
null, |
|
|
|
|
'<h3>'.get_lang('Total').'</h3>', |
|
|
|
|
null, |
|
|
|
|
$main_weight, |
|
|
|
|
$totalResult, |
|
|
|
|
]; |
|
|
|
|
if ($invalidateRanking) { |
|
|
|
|
$totalRanking = null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (in_array(1, $this->loadStats)) { |
|
|
|
|
$row[] = $totalRanking; |
|
|
|
|
} |
|
|
|
|
if (in_array(2, $this->loadStats)) { |
|
|
|
|
// Overwrite main weight |
|
|
|
|
$totalBest[1] = $main_weight; |
|
|
|
|
|
|
|
|
|
$totalBest = $scoredisplay->display_score( |
|
|
|
|
$totalBest, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
$row[] = $totalBest; |
|
|
|
|
} |
|
|
|
|
if (in_array(3, $this->loadStats)) { |
|
|
|
|
// Overwrite main weight |
|
|
|
|
$totalAverage[0] = $average / count($this->studentList); |
|
|
|
|
$totalAverage[1] = $main_weight; |
|
|
|
|
|
|
|
|
|
$totalAverage = $scoredisplay->display_score( |
|
|
|
|
$totalAverage, |
|
|
|
|
SCORE_DIV, |
|
|
|
|
SCORE_BOTH, |
|
|
|
|
true |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$row[] = $totalAverage; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sortable_data[] = $row; |
|
|
|
|
} |
|
|
|
|
|