]> git.mjollnir.org Git - moodle.git/commitdiff
When using loginas to be a student, you can now return to being
authormoodler <moodler>
Wed, 6 Nov 2002 07:54:44 +0000 (07:54 +0000)
committermoodler <moodler>
Wed, 6 Nov 2002 07:54:44 +0000 (07:54 +0000)
yourself using a link in the footer.  Improvements to footer display

course/loginas.php
lib/moodlelib.php

index 8dff3b70d56ea3060cc8d1e28844ea1fb180e0b3..311c04dd4e04753e598146ad06f773b284c15574 100644 (file)
@@ -5,7 +5,8 @@
     require("lib.php");
 
     require_variable($id);     // course id
-    require_variable($user);   // login as this user
+    optional_variable($user);   // login as this user
+    optional_variable($return); // return to being the real user again
 
     if (! $course = get_record("course", "id", $id)) {
         error("Course ID was incorrect");
 
     require_login($course->id);
 
+    if ($return and $USER->realuser) {
+        $USER = get_user_info_from_db("id", $USER->realuser);
+        $USER->loggedin = true;
+        $USER->site = $CFG->wwwroot;
+        save_session("USER");
+        redirect($HTTP_REFERER);
+        exit;
+    }
+
+    // $user must be defined to go on
+
     if (!isteacher($course->id)) {
         error("Only teachers can use this page!");
     }
index 25aff69ffbd93b838d89feca04003d4151805abf..649f1ec3db3d4627bcf83251bcb771eadd49639a 100644 (file)
@@ -68,42 +68,43 @@ function print_footer ($course=NULL) {
 // to the course home page, otherwise the link will go to the site home
     global $USER, $CFG, $THEME;
 
+
+/// Course links
     if ($course) {
         if ($course == "home") {   // special case for site home page - please do not remove
             $homelink  = "<P ALIGN=center><A TITLE=\"Moodle $CFG->release ($CFG->version)\" HREF=\"http://moodle.com/\">";
             $homelink .= "<BR><IMG WIDTH=130 HEIGHT=19 SRC=\"pix/madewithmoodle2.gif\" BORDER=0></A></P>";
+
+            $course = get_site();
         } else {
             $homelink = "<A TARGET=_top HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A>";
         }
     } else {
         $homelink = "<A TARGET=_top HREF=\"$CFG->wwwroot\">".get_string("home")."</A>";
+        $course = get_site();
     }
+
+/// User links
     if ($USER->realuser) {
         if ($realuser = get_record("user", "id", $USER->realuser)) {
-            $realuserinfo = " [$realuser->firstname $realuser->lastname] ";
+            $realuserinfo = " [<A HREF=\"$CFG->wwwroot/course/loginas.php?id=$course->id&return=$realuser->id\">$realuser->firstname $realuser->lastname</A>] ";
         }
     }
+
     if ($USER->id) {
-        if ($course) {
-           if ($course == "home") {
-               $site = get_site();
-               $username = "<A HREF=\"$CFG->wwwroot/user/view.php?id=$USER->id&course=$site->id\">$USER->firstname $USER->lastname</A>";
-           } else {
-               $username = "<A HREF=\"$CFG->wwwroot/user/view.php?id=$USER->id&course=$course->id\">$USER->firstname $USER->lastname</A>";
-           }
-        } else {
-           $username = "$USER->firstname $USER->lastname";
-        }
+        $username = "<A HREF=\"$CFG->wwwroot/user/view.php?id=$USER->id&course=$course->id\">$USER->firstname $USER->lastname</A>";
         $loggedinas = $realuserinfo.get_string("loggedinas", "moodle", "$username").
                       " (<A HREF=\"$CFG->wwwroot/login/logout.php\">".get_string("logout")."</A>)";
-    } else { 
+    } else {
         $loggedinas = get_string("loggedinnot", "moodle").
                       " (<A HREF=\"$CFG->wwwroot/login/index.php\">".get_string("login")."</A>)";
-    } 
+    }
 
     include ("$CFG->dirroot/theme/$CFG->theme/footer.html");
 }
 
+
+
 function print_navigation ($navigation) {
    global $CFG;