diff --git a/error/index.php b/error/index.php index d8633575be1bd..fefcb33adfa12 100644 --- a/error/index.php +++ b/error/index.php @@ -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(); @@ -23,21 +32,26 @@ $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('

'. get_string('pagenotexist', 'error'). '
'.s($requesturi).'

', 'center'); - + + if (isloggedin()) { ?> - -
-

-

-
- - - -
+
+

+

+
+ + + +
wwwroot); + } + print_footer(); ?>