From eabb4dd694cd83e7067801dcab27d89437a4a8ef Mon Sep 17 00:00:00 2001 From: danmarsden Date: Fri, 29 Feb 2008 11:53:38 +0000 Subject: [PATCH] MDL-13478 performance fixes. --- mod/choice/lib.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mod/choice/lib.php b/mod/choice/lib.php index 4d66f1063d..bd0b244153 100644 --- a/mod/choice/lib.php +++ b/mod/choice/lib.php @@ -304,15 +304,16 @@ function choice_show_reportlink($choice, $courseid, $cm, $groupmode) { } $context = get_context_instance(CONTEXT_MODULE, $cm->id); - $availableusers = get_users_by_capability($context, 'mod/choice:choose', 'u.id', '','','',$currentgroup, '', true, true); - $responsecount = 0; - if(!empty($availableusers)){ - // flatten the users to get a list of userids - $userids = implode( ', ', array_keys($availableusers)); - $responsecount = count_records_select('choice_answers', "choiceid = {$choice->id} AND userid IN ( $userids );"); - } + $allresponses = get_records("choice_answers", "choiceid", $choice->id); //get all responses for this choice. + $responsecount = 0; + foreach ($allresponses as $usr) { + if (has_capability('mod/choice:choose', $context, $usr->userid, false)) { //if this user is allowed to select a choice. + $responsecount++; + } + } + echo '