From cb55cd85749385267a04375119db699b1dbb634c Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Tue, 30 Aug 2016 11:01:48 +0800 Subject: [PATCH] MDL-54873 assign: Add recordid fetching participants get_submission_info_for_participants is primarily used by externallib.php --- mod/assign/locallib.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 5415515aadb..7b571899cbb 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -1470,7 +1470,8 @@ class assign { $params['assignmentid1'] = $assignid; $params['assignmentid2'] = $assignid; - $sql = 'SELECT u.id, s.status, s.timemodified AS stime, g.timemodified AS gtime, g.grade FROM {user} u + $fields = 'SELECT u.id, s.status, s.timemodified AS stime, g.timemodified AS gtime, g.grade'; + $from = ' FROM {user} u LEFT JOIN {assign_submission} s ON u.id = s.userid AND s.assignment = :assignmentid1 @@ -1479,7 +1480,18 @@ class assign { ON u.id = g.userid AND g.assignment = :assignmentid2 AND g.attemptnumber = s.attemptnumber - WHERE u.id ' . $insql; + '; + $where = ' WHERE u.id ' . $insql; + + if (!empty($this->get_instance()->blindmarking)) { + $from .= 'LEFT JOIN {assign_user_mapping} um + ON u.id = um.userid + AND um.assignment = :assignmentid3 '; + $params['assignmentid3'] = $assignid; + $fields .= ', um.id as recordid '; + } + + $sql = "$fields $from $where"; $records = $DB->get_records_sql($sql, $params);