From: moodler Date: Mon, 11 Sep 2006 07:09:41 +0000 (+0000) Subject: New hook for Moodle 1.7 enrolment plugins X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4ae6d4115f60d30970c39b5d09e59665bce71387;p=moodle.git New hook for Moodle 1.7 enrolment plugins --- diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 6d6c32f067..761addaad9 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -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); }