Diff for /loncom/interface/lonerrorhandler.pm between versions 1.13 and 1.24

version 1.13, 2007/12/03 22:58:46 version 1.24, 2013/08/12 16:51:58
Line 26 Line 26
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
   
   
 package Apache::lonerrorhandler;  package Apache::lonerrorhandler;
   
 use strict;  use strict;
Line 43  sub handler { Line 45  sub handler {
     return OK if $r->header_only;      return OK if $r->header_only;
   
     &Apache::lonacc::get_posted_cgi($r);      &Apache::lonacc::get_posted_cgi($r);
       if (!$Apache::lonlocal::lh) {
           &Apache::lonlocal::get_language_handle($r);
       }
     my $title = $env{'form.sendinfo'} ? 'Sending Error Report'      my $title = $env{'form.sendinfo'} ? 'Sending Error Report'
                                       : 'Could Not Process Request';                                        : 'Could Not Process Request';
     $r->print(&Apache::loncommon::start_page($title));      $r->print(&Apache::loncommon::start_page($title));
Line 79  $env{'form.guesses'} Line 83  $env{'form.guesses'}
 $lt{'env'}:  $lt{'env'}:
 $env{'form.environment'}  $env{'form.environment'}
 ENDMESSAGE  ENDMESSAGE
         my $sysmail = $r->dir_config('lonSysEMail');  
         my $defdom = $r->dir_config('lonDefDomain');          my $defdom = $r->dir_config('lonDefDomain');
         my $recipients = &Apache::loncommon::build_recipient_list($r,$sysmail,          my $sysmail;
                                                          'errormail',$defdom);          my $notify = 1;
           my %domconfig = &Apache::lonnet::get_dom('configuration',['contacts']);
           if (ref($domconfig{'contacts'}) eq 'HASH') {
               if ($domconfig{'contacts'}{'reporterrors'} == 0) {
                   $notify = 0;
               }
           }
           if ($notify) {
               $sysmail = 'errorrecord@loncapa.org';
           }
           my $origmail = $r->dir_config('lonAdmEMail');
           my $recipients = &Apache::loncommon::build_recipient_list($sysmail,
                                                'errormail',$defdom,$origmail);
         if ($recipients ne '') {          if ($recipients ne '') {
             &Apache::lonmsg::sendemail($recipients,'ERROR REPORT',$message);              &Apache::lonmsg::sendemail($recipients,'ERROR REPORT',$message);
     $r->print('<h2>'.&mt('Report submitted').'</h2>'.&mt('Thank you!'));      $r->print('<h2>'.&mt('Report submitted').'</h2>'.&mt('Thank you!'));
         } else {          } else {
             $r->print('<h2>'.&mt('Warning: Report not submitted').'</h2>'.              $r->print('<h2>'.&mt('Warning: Report not submitted').'</h2>'.
                       '<span class="LC_error">'.&mt("The administrators of                        '<span class="LC_error">'
                       the domain ($defdom) have not set any e-mail addresses                       .&mt('The administrators of the domain [_1] have not set'
                       for receipt of your error report.").'</span>');                           .' any e-mail addresses for receipt of your error report.'
                            ,'<tt>'.$defdom.'</tt>')
                        .'</span>');
         }          }
     } else {      } else {
 # ------------------------------------------------------------- Get environment  # ------------------------------------------------------------- Get environment
Line 98  ENDMESSAGE Line 115  ENDMESSAGE
  my $env='';   my $env='';
  my $syllabus='';   my $syllabus='';
   
    foreach $envkey (keys(%env)) {
               if ($envkey =~ /^form\.(.+)\.filename$/) {
                   my $item = $1;
                   if (exists($env{'form.'.$item.'.mimetype'})) {
                       if (exists($env{'form.'.$item})) {
                           my $size = (length($env{'form.'.$item}))/(1024.0 * 1024.0);
                           $env{'form.'.$item} = &mt('File (contents not shown) - size was [_1] MB.',sprintf("%.4f",$size));
                       }
                   }
               }
           }
   
  foreach $envkey (sort(keys(%env))) {   foreach $envkey (sort(keys(%env))) {
     $env.="$envkey: $env{$envkey}\n";      $env.="$envkey: $env{$envkey}\n";
  }   }
Line 113  ENDMESSAGE Line 142  ENDMESSAGE
  my $version=$r->dir_config('lonVersion');   my $version=$r->dir_config('lonVersion');
   
 # ----------------------------------------------------------- Print error form  # ----------------------------------------------------------- Print error form
  $r->print('<h2>'.   $r->print('<h2 class="LC_error">'
 &mt('Somewhere something went wrong - please help us to find out what.').'</h2>'.  .&mt('Somewhere something went wrong')
 &mt('Please take a moment to fill out the form below.').' '.&mt('Your information,  .'</h2>'
  together with internal debugging information, will be emailed to the system and   .'<p>'.&mt('Please help us to find out what.').'</p>'
 server administrators.').'  .'<p>'.&mt('Please take a moment to fill out the form below.').' '
   .&mt('Your information, together with internal debugging information, '
       .'will be e-mailed to the system and server administrators.')
   .'</p>
 <form action="/adm/errorhandler" method="post">  <form action="/adm/errorhandler" method="post">
 <input type="submit" value="'.&mt('Send Information').'" />  
 <h3>'.&mt('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 name="prioraction" cols="50" rows="5">
 </textarea>  </textarea>
Line 135  server administrators.').' Line 166  server administrators.').'
 <input type="hidden" name="syllabus" value="'.$syllabus.'" />  <input type="hidden" name="syllabus" value="'.$syllabus.'" />
 <input type="hidden" name="sendinfo" value="1" />  <input type="hidden" name="sendinfo" value="1" />
 <p>  <p>
 <input type="submit" value="'.&mt('Send Information').'" />  <input type="submit" title="'.&mt('Send Information').'" value="'.&mt('Send').'" />
 </p>  </p>
 </form>  </form>
 <h1>'.&mt('Thank you for your help!').'</h1>  <h1>'.&mt('Thank you for your help!').'</h1>
 <font size="-1">  <div><font size="-1">
 <pre>  
 '.&mt('Internal info:').  '.&mt('Internal info:').
   '<pre>'.
 $syllabus.'  $syllabus.'
 </pre>  </pre>
 </font>  </font></div>
 ');  ');
 # -------------------------- Better terminate this in case something was sticky  # -------------------------- Better terminate this in case something was sticky
   
Line 156  $syllabus.' Line 187  $syllabus.'
   
 1;  1;
 __END__  __END__
   
   
   =pod
   
   =head1 NAME
   
   Apache::lonerrorhandler.pm
   
   =head1 SYNOPSIS
   
   Handles errors.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 OVERVIEW
   
   None
   
   =cut

Removed from v.1.13  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>