From 39d602e4b9985bb0bf6dfbcfb670efffa1adfcd1 Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Wed, 16 Nov 2016 09:47:03 +0800 Subject: [PATCH] MDL-52186 enrol_meta: Sync only active enrol_meta instances Thanks to Peter Klinka for the solution! --- enrol/meta/locallib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/enrol/meta/locallib.php b/enrol/meta/locallib.php index a7af91c8fdd..0366c4dba1d 100644 --- a/enrol/meta/locallib.php +++ b/enrol/meta/locallib.php @@ -307,11 +307,12 @@ function enrol_meta_sync($courseid = NULL, $verbose = false) { ELSE 0 END) AS timeend FROM {user_enrolments} pue JOIN {enrol} pe ON (pe.id = pue.enrolid AND pe.enrol <> 'meta' AND pe.enrol $enabled) - JOIN {enrol} e ON (e.customint1 = pe.courseid AND e.enrol = 'meta' $onecourse) + JOIN {enrol} e ON (e.customint1 = pe.courseid AND e.enrol = 'meta' AND e.status = :enrolstatus $onecourse) JOIN {user} u ON (u.id = pue.userid AND u.deleted = 0) LEFT JOIN {user_enrolments} ue ON (ue.enrolid = e.id AND ue.userid = pue.userid) WHERE ue.id IS NULL GROUP BY pue.userid, e.id"; + $params['enrolstatus'] = ENROL_INSTANCE_ENABLED; $rs = $DB->get_recordset_sql($sql, $params); foreach($rs as $ue) {