From 5961dbfb104badb26fd8622550f28ea9346fd121 Mon Sep 17 00:00:00 2001 From: nicolasconnault Date: Thu, 4 Oct 2007 08:16:13 +0000 Subject: [PATCH] MDL-11576 Added the groupsql clause to has_hidden_grades --- grade/report/grader/lib.php | 2 +- lib/grade/grade_item.php | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 21bb72a64d..0ea6cf737b 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -863,7 +863,7 @@ class grade_report_grader extends grade_report { foreach ($this->items as $item) { // If the user shouldn't see this grade_item, hide the average as well // MDL-11576 If any of the grades are hidden and the user doesn't have permission to view them, hide average as well - if (($item->is_hidden() || $item->has_hidden_grades()) && !$canviewhidden) { + if (($item->is_hidden() || $item->has_hidden_grades($groupsql, $groupwheresql)) && !$canviewhidden) { $avghtml .= ' - '; continue; } diff --git a/lib/grade/grade_item.php b/lib/grade/grade_item.php index a6387b29bd..7dcea7a033 100644 --- a/lib/grade/grade_item.php +++ b/lib/grade/grade_item.php @@ -569,8 +569,10 @@ class grade_item extends grade_object { * Returns the number of grades that are hidden. * @param return int Number of hidden grades */ - function has_hidden_grades() { - return count_records('grade_grades', 'itemid', $this->id, 'hidden', 1); + function has_hidden_grades($groupsql = null, $groupwheresql = null) { + global $CFG; + return get_field_sql("SELECT COUNT(*) FROM {$CFG->prefix}grade_grades g LEFT JOIN " + ."{$CFG->prefix}user u ON g.userid = u.id$groupsql WHERE itemid = $this->id AND hidden = 1 $groupwheresql"); } /** -- 2.39.5