--- loncom/interface/lonerrorhandler.pm	2006/03/19 22:34:30	1.9
+++ loncom/interface/lonerrorhandler.pm	2008/10/04 00:09:18	1.16
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Internal Server Error Handler
 #
-# $Id: lonerrorhandler.pm,v 1.9 2006/03/19 22:34:30 albertel Exp $
+# $Id: lonerrorhandler.pm,v 1.16 2008/10/04 00:09:18 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -30,9 +30,11 @@ package Apache::lonerrorhandler;
 
 use strict;
 use Apache::Constants qw(:common);
-use Apache::loncommon;
+use Apache::loncommon();
 use Apache::lonnet;
-use Apache::lonmsg;
+use Apache::lonmsg();
+use Apache::lonacc();
+use Apache::lonlocal;
 
 sub handler {
     my $r = shift;
@@ -40,8 +42,10 @@ sub handler {
     $r->send_http_header;
     return OK if $r->header_only;
 
-    &Apache::loncommon::get_posted_cgi($r);
-
+    &Apache::lonacc::get_posted_cgi($r);
+    if (!$lh) {
+        &Apache::lonlocal::get_language_handle($r);
+    }
     my $title = $env{'form.sendinfo'} ? 'Sending Error Report'
                                       : 'Could Not Process Request';
     $r->print(&Apache::loncommon::start_page($title));
@@ -52,27 +56,47 @@ sub handler {
 	if ($env{'form.reproducible'}) {
 	    $repro='yes';
 	}
+        my %lt = &Apache::lonlocal::texthash (
+                     msg => 'LON-CAPA Error Message',
+                     rep => 'Reproducible',
+                     ver => 'Version',
+                     syl => 'Syllabus',
+                     pri => 'Prior Action',
+                     gue => 'Guesses',
+                     env => 'Environment',
+                 );
 	my $message=(<<ENDMESSAGE);
-LON-CAPA Error Message
-Reproducible: $repro
-Version: $env{'form.version'}
-Syllabus:
+$lt{'msg'}
+$lt{'rep'}: $repro
+$lt{'ver'}: $env{'form.version'}
+$lt{'syl'}:
 $env{'form.syllabus'}
 
-Prior Action:
+$lt{'pri'}:
 $env{'form.prioraction'}
 
-Guesses:
+$lt{'gue'}:
 $env{'form.guesses'}
 
-Environment:
+$lt{'env'}:
 $env{'form.environment'}
 ENDMESSAGE
-	my $recipients=$r->dir_config('lonAdmEMail').','.
-	    $r->dir_config('lonSysEMail'); 
-
-        &Apache::lonmsg::sendemail($recipients,'ERROR REPORT',$message);
-	$r->print('<h2>Report submitted</h2>Thank you!</body></html>');
+        my $sysmail = $r->dir_config('lonSysEMail');
+        my $defdom = $r->dir_config('lonDefDomain');
+        my $origmail = $r->dir_config('lonAdmEMail');
+        my $recipients = &Apache::loncommon::build_recipient_list($sysmail,
+                                             'errormail',$defdom,$origmail);
+        if ($recipients ne '') {
+            &Apache::lonmsg::sendemail($recipients,'ERROR REPORT',$message);
+	    $r->print('<h2>'.&mt('Report submitted').'</h2>'.&mt('Thank you!'));
+        } else {
+            $r->print('<h2>'.&mt('Warning: Report not submitted').'</h2>'.
+                      '<span class="LC_error">'
+                     .&mt('The administrators of the domain [_1] have not set'
+                         .' any e-mail addresses for receipt of your error report.'
+                         ,'<tt>'.$defdom.'</tt>')
+                     .'</span>');
+        }
     } else {
 # ------------------------------------------------------------- Get environment
 	my $envkey;
@@ -94,46 +118,48 @@ ENDMESSAGE
 	my $version=$r->dir_config('lonVersion');
 
 # ----------------------------------------------------------- Print error form
-	$r->print(<<ENDDOCUMENT);
-<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.
+	$r->print('<h2 class="LC_error">'
+.&mt('Somewhere something went wrong')
+.'</h2>'
+.'<p>'.&mt('Please help us to find out what.').'</p>'
+.'<p>'.&mt('Please take a moment to fill out the form below.').' '
+.&mt('Your information, together with internal debugging information, '
+    .'will be emailed to the system and server administrators.')
+.'</p>
 <form action="/adm/errorhandler" method="post">
-<input type="submit" value="Send Information">
-<h3>Please describe what you did just before this screen came up</h3>
+<h3>'.&mt('Please describe what you did just before this screen came up').'</h3>
 <textarea name="prioraction" cols="50" rows="5">
 </textarea>
-<h3>Is this problem reproducible?</h3>
+<h3>'.&mt('Is this problem reproducible?').'</h3>
 <label>
-<input type="checkbox" name="reproducible" value="yes"> Yes!
+<input type="checkbox" name="reproducible" value="yes" /> '.&mt('Yes!').'
 </label>
-<h3>Do you have any guesses why this might have happened?</h3>
+<h3>'.&mt('Do you have any guesses why this might have happened?').'</h3>
 <textarea name="guesses" cols="50" rows="5">
 </textarea>
-<input type="hidden" name="version" value="$version" />
-<input type="hidden" name="environment" value="$env" />
-<input type="hidden" name="syllabus" value="$syllabus" />
+<input type="hidden" name="version" value="'.$version.'" />
+<input type="hidden" name="environment" value="'.$env.'" />
+<input type="hidden" name="syllabus" value="'.$syllabus.'" />
 <input type="hidden" name="sendinfo" value="1" />
 <p>
-<input type="submit" value="Send Information">
+<input type="submit" value="'.&mt('Send Information').'" />
 </p>
 </form>
-<h1>Thank you for your help!</h1>
-<font size="-1">
-<pre>
-Internal info:
-$syllabus
+<h1>'.&mt('Thank you for your help!').'</h1>
+<div><font size="-1">
+'.&mt('Internal info:').
+'<pre>'.
+$syllabus.'
 </pre>
-</font>
-ENDDOCUMENT
-        $r->print(&Apache::loncommon::end_page());
+</font></div>
+');
 # -------------------------- Better terminate this in case something was sticky
 
         $r->child_terminate();
     }
+    $r->print(&Apache::loncommon::end_page());
     return OK;
-} 
+}
 
 1;
 __END__