]> git.mjollnir.org Git - moodle.git/commitdiff
mod/chat - cope with missing $USER->lastIP
authormartinlanghoff <martinlanghoff>
Tue, 18 Apr 2006 22:40:56 +0000 (22:40 +0000)
committermartinlanghoff <martinlanghoff>
Tue, 18 Apr 2006 22:40:56 +0000 (22:40 +0000)
$USER->lastIP is sometimes not set properly during login, fetch it if we can
or error out clearly -- we won't be able to login the user to the chat if
we don't have an IP address to match him/her against.

mod/chat/lib.php

index 30d7f2d7855dc21f873cc92e8e5facea2cb22161..12c4c5a51b9a214b837bf748774bb94a5ca6704a 100644 (file)
@@ -385,6 +385,16 @@ function chat_login_user($chatid, $version, $groupid, $course) {
         $chatuser->lastping = time();
         $chatuser->lang     = current_language();
 
+        // Sometimes $USER->lastIP is not setup properly
+        // during login. Update with current value if possible
+        // or error out clearly. 
+        if (empty($chatuser->ip)) {
+            $chatuser->ip = getremoteaddr();
+            if (empty($chatuser->ip)) {
+                error("Cannot determine the IP address of the user!");
+            }
+        }
+
         if (($chatuser->course != $course->id)
          or ($chatuser->userid != $USER->id)) {
             return false;