MDL-28348 fix fatal error caused by unenrolling of incorrect enrol instance
authorPetr Skoda <commits@skodak.org>
Sun, 17 Jul 2011 18:37:02 +0000 (20:37 +0200)
committerPetr Skoda <commits@skodak.org>
Sun, 17 Jul 2011 18:37:02 +0000 (20:37 +0200)
enrol/meta/locallib.php

index 0f94dae..fda8230 100644 (file)
@@ -158,7 +158,7 @@ class enrol_meta_handler {
                   JOIN {user_enrolments} ue ON (ue.enrolid = e.id AND ue.userid = :userid)
                   JOIN {enrol} pe ON (pe.courseid = e.customint1 AND pe.enrol <> 'meta' AND pe.courseid = :courseid)
              LEFT JOIN {user_enrolments} pue ON (pue.enrolid = pe.id AND pue.userid = ue.userid)
                   JOIN {user_enrolments} ue ON (ue.enrolid = e.id AND ue.userid = :userid)
                   JOIN {enrol} pe ON (pe.courseid = e.customint1 AND pe.enrol <> 'meta' AND pe.courseid = :courseid)
              LEFT JOIN {user_enrolments} pue ON (pue.enrolid = pe.id AND pue.userid = ue.userid)
-                 WHERE pue.id IS NULL";
+                 WHERE pue.id IS NULL AND e.enrol = 'meta'";
         $params = array('courseid'=>$ue->courseid, 'userid'=>$ue->userid);
 
         $rs = $DB->get_recordset_sql($sql, $params);
         $params = array('courseid'=>$ue->courseid, 'userid'=>$ue->userid);
 
         $rs = $DB->get_recordset_sql($sql, $params);