]> git.mjollnir.org Git - moodle.git/commitdiff
New hook for Moodle 1.7 enrolment plugins
authormoodler <moodler>
Mon, 11 Sep 2006 07:09:41 +0000 (07:09 +0000)
committermoodler <moodler>
Mon, 11 Sep 2006 07:09:41 +0000 (07:09 +0000)
lib/moodlelib.php

index 6d6c32f0675c51ddb7d7604edaff6000fc50264b..761addaad9ad0ee08f930bee7a0fd93c9ce41e6d 100644 (file)
@@ -2469,14 +2469,20 @@ function get_complete_user_data($field, $value) {
     if (!($plugins = explode(',', $CFG->enrol_plugins_enabled))) {
         $plugins = array($CFG->enrol);
     }
+
     require_once($CFG->dirroot .'/enrol/enrol.class.php');
+
     foreach ($plugins as $p) {
         $enrol = enrolment_factory::factory($p);
-        if (method_exists($enrol, 'get_student_courses')) {
-            $enrol->get_student_courses($user);
-        }
-        if (method_exists($enrol, 'get_teacher_courses')) {
-            $enrol->get_teacher_courses($user);
+        if (method_exists($enrol, 'setup_enrolments')) {  /// Plugin supports Roles (Moodle 1.7 and later)
+            $enrol->setup_enrolments($user);
+        } else {                                          /// Run legacy enrolment methods
+            if (method_exists($enrol, 'get_student_courses')) {
+                $enrol->get_student_courses($user);
+            }
+            if (method_exists($enrol, 'get_teacher_courses')) {
+                $enrol->get_teacher_courses($user);
+            }
         }
         unset($enrol);
     }