diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index e9c062c..004787d 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -2887,16 +2887,11 @@ function assignment_print_overview($courses, &$htmlarray) { // count how many people can submit $submissions = 0; // init - if ($students = get_users_by_capability($context, 'mod/assignment:submit', '', '', '', '', 0, '', false)) { - foreach ($students as $student) { - if (record_exists_sql("SELECT id FROM {$CFG->prefix}assignment_submissions - WHERE assignment = $assignment->id AND - userid = $student->id AND - teacher = 0 AND - timemarked = 0")) { - $submissions++; - } - } + if ($students = get_users_by_capability($context, 'mod/assignment:submit', 'u.id', '', '', '', 0, '', false)) { + + $submissions = get_field_sql("SELECT count(id) FROM {$CFG->prefix}assignment_submissions + WHERE assignment = $assignment->id AND teacher = 0 AND timemarked = 0 + AND userid IN (". implode(',', array_keys($students)).")"); } if ($submissions) { :