]> git.mjollnir.org Git - moodle.git/commitdiff
The login process now uses the current enrolment plugin
authormoodler <moodler>
Fri, 25 Jun 2004 06:30:48 +0000 (06:30 +0000)
committermoodler <moodler>
Fri, 25 Jun 2004 06:30:48 +0000 (06:30 +0000)
lib/datalib.php

index d9f355bac1aae6d1de072dad72d8404c8b929811..8e0ff705ea0a56e686093201ab0becbcfbddfda1 100644 (file)
@@ -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;
 }