]> git.mjollnir.org Git - moodle.git/commitdiff
Fixing bug 2480 - meta course enrolment
authormjollnir_ <mjollnir_>
Sat, 5 Feb 2005 05:15:16 +0000 (05:15 +0000)
committermjollnir_ <mjollnir_>
Sat, 5 Feb 2005 05:15:16 +0000 (05:15 +0000)
lib/moodlelib.php

index e80daecdcb71cb575b2c5ea25a3dfd1ecfc1e8ee..232c6b404e361cd404407449789070e61f795a09 100644 (file)
@@ -1174,10 +1174,11 @@ function sync_metacourse($metacourseid) {
             FROM {$CFG->prefix}course_meta meta 
               JOIN {$CFG->prefix}user_students parent 
                 ON meta.parent_course = parent.course 
-                AND meta.parent_course = $metacourseid
-              LEFT JOIN {$CFG->prefix}user_students child
+              LEFT OUTER JOIN {$CFG->prefix}user_students child
                 ON meta.child_course = child.course 
-                WHERE child.course IS NULL";
+                AND child.userid = parent.userid
+                WHERE child.course IS NULL
+                AND meta.parent_course = $metacourseid";
 
     if ($enrolmentstodelete = get_records_sql($sql)) {
         foreach ($enrolmentstodelete as $enrolment) {
@@ -1191,10 +1192,11 @@ function sync_metacourse($metacourseid) {
             FROM {$CFG->prefix}course_meta meta 
               JOIN {$CFG->prefix}user_students child 
                  ON meta.child_course = child.course 
-                 AND meta.parent_course = $metacourseid
-              LEFT JOIN {$CFG->prefix}user_students parent 
+              LEFT OUTER JOIN {$CFG->prefix}user_students parent 
                  ON meta.parent_course = parent.course 
-                 WHERE parent.course IS NULL";
+                 AND parent.userid = child.userid
+                 WHERE parent.course IS NULL 
+                 AND meta.parent_course = $metacourseid";
 
     if ($userstoadd = get_records_sql($sql)) {
         foreach ($userstoadd as $user) {