]> git.mjollnir.org Git - moodle.git/commitdiff
Merged better error page from stable 19
authormoodler <moodler>
Fri, 1 Feb 2008 05:49:15 +0000 (05:49 +0000)
committermoodler <moodler>
Fri, 1 Feb 2008 05:49:15 +0000 (05:49 +0000)
error/index.php

index d8633575be1bdc5105b3b90fd9d1a55f5c85f9e2..fefcb33adfa124e0c4a6e495ed293b921d188a73 100644 (file)
@@ -2,20 +2,29 @@
 
     require('../config.php');
 
-    if ($form = data_submitted('nomatch')) { // form submitted, do not check referer (origal page unknown)!
-        if (!$admin = get_admin() ) {
-            error('Could not find the admin user to mail to!');
+    if ($form = data_submitted('nomatch')) { // form submitted, do not check referer (original page unknown)!
+
+    /// Only deal with real users
+        if (!isloggedin()) { 
+            redirect($CFG->wwwroot);
         }
 
-        if (empty($USER->id)) {
-            $user = getremoteaddr(); // user not logged in, use IP address as name
-        } else {
-            $user = $USER;
+    /// Work out who to send the message to
+        if (!$admin = get_admin() ) {
+            error('Could not find an admin user!');
         }
-        email_to_user($admin, $user, 'Error: '. $form->referer .' -> '. $form->requested, $form->text);
+
+        $supportuser = new object;
+        $supportuser->email = $CFG->supportemail ? $CFG->supportemail : $admin->email;
+        $supportuser->firstname = $CFG->supportname ? $CFG->supportname : $admin->firstname;
+        $supportuser->lastname = $CFG->supportname ? '' : $admin->lastname;
+        $supportuser->maildisplay = true;
+
+    /// Send the email and redirect
+        email_to_user($supportuser, $USER, 'Error: '. $form->referer .' -> '. $form->requested, $form->text);
 
         redirect($CFG->wwwroot .'/course/', 'Message sent, thanks', 3);
-        die;
+        exit;
     }
 
     $site = get_site();
     $httpreferer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER'];
     $requesturi  = empty($_SERVER['REQUEST_URI'])  ? '' : $_SERVER['REQUEST_URI'];
     
-    print_header($site->fullname .':Error', $site->fullname .': Error 404', '', 'text');
+    header("HTTP/1.0 404 Not Found");
+    header("Status: 404 Not Found");
+
+    print_header($site->fullname .':Error', $site->fullname .': Error 404', 'Error 404 - File not Found', '');
+
     print_simple_box('<p align="center">'. get_string('pagenotexist', 'error'). '<br />'.s($requesturi).'</p>', 'center');
-  
+
+    if (isloggedin()) {
 ?>
-  
-  <center>
-  <p><?php echo get_string('pleasereport', 'error'); ?>
-  <p><form action="<?php echo $CFG->wwwroot ?>/error/index.php" method="post">
-     <textarea rows="3" cols="50" name="text" id="text"></textarea><br />
-     <input type="hidden" name="referer" value="<?php p($httpreferer) ?>">
-     <input type="hidden" name="requested" value="<?php p($requesturi) ?>">
-     <input type="submit" value="<?php echo get_string('sendmessage', 'error'); ?>">
-     </form>
+        <center>
+        <p><?php echo get_string('pleasereport', 'error'); ?>
+        <p><form action="<?php echo $CFG->wwwroot ?>/error/index.php" method="post">
+           <textarea rows="3" cols="50" name="text" id="text"></textarea><br />
+           <input type="hidden" name="referer" value="<?php p($httpreferer) ?>">
+           <input type="hidden" name="requested" value="<?php p($requesturi) ?>">
+           <input type="submit" value="<?php echo get_string('sendmessage', 'error'); ?>">
+           </form>
 <?php
-
-  print_footer();
-
+    } else {
+        print_continue($CFG->wwwroot);
+    }
+    print_footer();
 ?>