|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 require('../config.php'); 00004 require_once($CFG->libdir.'/eventslib.php'); 00005 00006 if ($form = data_submitted()) { // form submitted, do not check referer (original page unknown)! 00007 00009 if (!isloggedin()) { 00010 redirect($CFG->wwwroot); 00011 } 00012 00014 if (!$admin = get_admin() ) { 00015 print_error('cannotfindadmin', 'debug'); 00016 } 00017 00018 $supportuser = new stdClass(); 00019 $supportuser->email = $CFG->supportemail ? $CFG->supportemail : $admin->email; 00020 $supportuser->firstname = $CFG->supportname ? $CFG->supportname : $admin->firstname; 00021 $supportuser->lastname = $CFG->supportname ? '' : $admin->lastname; 00022 // emailstop could be hard coded "false" to ensure error reports are sent 00023 // but then admin's would have to alter their messaging preferences to temporarily stop them 00024 $supportuser->emailstop = $admin->emailstop; 00025 $supportuser->maildisplay = true; 00026 00028 $eventdata = new stdClass(); 00029 $eventdata->modulename = 'moodle'; 00030 $eventdata->userfrom = $USER; 00031 $eventdata->userto = $supportuser; 00032 $eventdata->subject = 'Error: '. $form->referer .' -> '. $form->requested; 00033 $eventdata->fullmessage = $form->text; 00034 $eventdata->fullmessageformat = FORMAT_PLAIN; 00035 $eventdata->fullmessagehtml = ''; 00036 $eventdata->smallmessage = ''; 00037 message_send($eventdata); 00038 00039 redirect($CFG->wwwroot .'/course/', 'Message sent, thanks', 3); 00040 exit; 00041 } 00042 00043 $site = get_site(); 00044 $redirecturl = empty($_SERVER['REDIRECT_URL']) ? '' : $_SERVER['REDIRECT_URL']; 00045 $httpreferer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; 00046 $requesturi = empty($_SERVER['REQUEST_URI']) ? '' : $_SERVER['REQUEST_URI']; 00047 00048 header("HTTP/1.0 404 Not Found"); 00049 header("Status: 404 Not Found"); 00050 00051 $PAGE->set_url('/error/'); 00052 $PAGE->set_title($site->fullname .':Error'); 00053 $PAGE->set_heading($site->fullname .': Error 404'); 00054 $PAGE->set_context(get_system_context()); 00055 $PAGE->navbar->add('Error 404 - File not Found'); 00056 echo $OUTPUT->header(); 00057 echo $OUTPUT->box(get_string('pagenotexist', 'error'). '<br />'.s($requesturi), 'generalbox boxaligncenter'); 00058 00059 if (isloggedin()) { 00060 ?> 00061 <p><?php echo get_string('pleasereport', 'error'); ?> 00062 <p><form action="<?php echo $CFG->wwwroot ?>/error/index.php" method="post"> 00063 <textarea rows="3" cols="50" name="text" id="text"></textarea><br /> 00064 <input type="hidden" name="referer" value="<?php p($httpreferer) ?>"> 00065 <input type="hidden" name="requested" value="<?php p($requesturi) ?>"> 00066 <input type="submit" value="<?php echo get_string('sendmessage', 'error'); ?>"> 00067 </form> 00068 <?php 00069 } else { 00070 echo $OUTPUT->continue_button($CFG->wwwroot); 00071 } 00072 echo $OUTPUT->footer(); 00073 ?>