From: moodler Date: Fri, 25 Jun 2004 06:30:48 +0000 (+0000) Subject: The login process now uses the current enrolment plugin X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=ca60b03b34cee04e6949965fe8544eec509ebe6e;p=moodle.git The login process now uses the current enrolment plugin --- diff --git a/lib/datalib.php b/lib/datalib.php index d9f355bac1..8e0ff705ea 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -893,42 +893,36 @@ function update_record($table, $dataobject) { */ function get_user_info_from_db($field, $value) { + global $CFG; + if (!$field or !$value) { return false; } +/// Get all the basic user data + if (! $user = get_record_select("user", "$field = '$value' AND deleted <> '1'")) { return false; } - // Add membership information +/// Add membership information + + if ($admins = get_records("user_admins", "userid", $user->id)) { + $user->admin = true; + } if ($site = get_site()) { // Everyone is always a member of the top course $user->student[$site->id] = true; } - if ($students = get_records("user_students", "userid", $user->id)) { - foreach ($students as $student) { - if (get_field("course", "visible", "id", $student->course)) { - $user->student[$student->course] = true; - } - $user->timeaccess[$student->course] = $student->timeaccess; - } - } +/// Determine enrolments based on current enrolment module - if ($teachers = get_records("user_teachers", "userid", $user->id)) { - foreach ($teachers as $teacher) { - $user->teacher[$teacher->course] = true; - if ($teacher->editall) { - $user->teacheredit[$teacher->course] = true; - } - $user->timeaccess[$teacher->course] = $teacher->timeaccess; - } - } + require_once("$CFG->dirroot/enrol/$CFG->enrol/enrol.php"); + $enrol = new enrolment_plugin(); + $enrol->get_student_courses($user); + $enrol->get_teacher_courses($user); - if ($admins = get_records("user_admins", "userid", $user->id)) { - $user->admin = true; - } +/// Get various settings and preferences if ($displays = get_records("course_display", "userid", $user->id)) { foreach ($displays as $display) { @@ -936,6 +930,12 @@ function get_user_info_from_db($field, $value) { } } + if ($preferences = get_records('user_preferences', 'userid', $user->id)) { + foreach ($preferences as $preference) { + $user->preference[$preference->name] = $preference->value; + } + } + if ($groups = get_records("groups_members", "userid", $user->id)) { foreach ($groups as $groupmember) { $courseid = get_field("groups", "courseid", "id", $groupmember->groupid); @@ -943,11 +943,6 @@ function get_user_info_from_db($field, $value) { } } - if ($preferences = get_records('user_preferences', 'userid', $user->id)) { - foreach ($preferences as $preference) { - $user->preference[$preference->name] = $preference->value; - } - } return $user; }