File:  [LON-CAPA] / loncom / interface / lonerrorhandler.pm
Revision 1.2: download - view: text, annotated - select for diffs
Sat Jan 6 14:45:34 2001 UTC (23 years, 4 months ago) by www
Branches: MAIN
CVS tags: stable_2001_fall, HEAD
Is able to mail off a form with debugging information

# 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>