]> git.mjollnir.org Git - moodle.git/commitdiff
Bypass enrolment if guest shortcut for courses that allow guests.
authorfiedorow <fiedorow>
Sat, 5 Feb 2005 16:40:38 +0000 (16:40 +0000)
committerfiedorow <fiedorow>
Sat, 5 Feb 2005 16:40:38 +0000 (16:40 +0000)
lib/moodlelib.php

index 232c6b404e361cd404407449789070e61f795a09..f993919a81dcfd1320327c3c2be03a8aa08599d0 100644 (file)
@@ -1015,6 +1015,25 @@ function require_login($courseid=0, $autologinguest=true) {
             }
         }
 
+        //User is not enrolled in the course, wants to access course content
+        //as a guest, and course setting allow unlimited guest access
+        //Code cribbed from course/loginas.php
+        if (strstr($FULLME,"username=guest") && ($course->guest==1)) {
+          $realuser = $USER->id;
+          $realname = fullname($USER, true);
+          $USER = guest_user();
+          $USER->loggedin = true;
+          $USER->site = $CFG->wwwroot;
+          $USER->realuser = $realuser;
+          if (isset($SESSION->currentgroup[$course->id])) {    // Remember current setting for later
+            $SESSION->oldcurrentgroup = $SESSION->currentgroup[$course->id];
+            unset($SESSION->currentgroup[$course->id]);
+          }
+          $guest_name = fullname($USER, true);
+          add_to_log($course->id, "course", "loginas", "../user/view.php?id=$course->id&$USER->id$", "$realname -> $guest_name");
+          return;
+        }
+
         // Currently not enrolled in the course, so see if they want to enrol
         $SESSION->wantsurl = $FULLME;
         redirect($CFG->wwwroot .'/course/enrol.php?id='. $courseid);