# The LearningOnline Network
# Internal Server Error Handler
#
# (Login Screen
# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,
# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer)
#
# 3/1/1 Gerd Kortemeyer
#
package Apache::lonerrorhandler;
use strict;
use Apache::Constants qw(:common);
sub handler {
my $r = shift;
$r->content_type('text/html');
$r->send_http_header;
return OK if $r->header_only;
# ------------------------------------------------------------- Get environment
my $envkey;
my $env='';
foreach $envkey (sort keys %ENV) {
$env.="$envkey: $ENV{$envkey}\n";
}
$env=~s/\"/\'\'/g;
my $recipients=$r->dir_config('lonAdmEMail').','.
$r->dir_config('lonSysEMail');
my $req=$r->as_string();
$req=~s/\"/\'\'/g;
# --------------------------------------------------- Print login screen header
$r->print(<<ENDDOCUMENT);
<html>
<head>
<title>The LearningOnline Network with CAPA</title>
</head>
<body bgcolor="#FFFFFF">
<img src="/adm/lonKaputt/lonlogo_broken.gif" align=left>
<h1>Sorry!</h1>
<h2>Somewhere something went wrong - please help us to find out what.</h2>
Please take a moment to fill out the form below. Your information, together
with internal debugging information, will be emailed to the system and server
administrators.
<form action="mailto:$recipients" method=get enctype="text/plain">
<input type=submit value="Send Information">
<h3>Please describe what you did just before this screen came up</h3>
<input type=hidden name=req value="$req">
<textarea name=prioraction cols=50 rows=5>
</textarea>
<h3>Is this problem reproducible?</h3>
<input type=checkbox name=reproducible value=yes> Yes!
<h3>Do you have any guesses why this might have happened?</h3>
<textarea name=guesses cols=50 rows=5>
</textarea>
<input type=hidden name=environment value="$env"><p>
<input type=submit value="Send Information">
</form>
<h1>Thank you for your help!</h1>
</body>
</html>
ENDDOCUMENT
# -------------------------- Better terminate this in case something was sticky
$r->child_terminate();
return OK;
}
1;
__END__
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>