--- loncom/interface/lonprintout.pm 2008/03/10 10:10:18 1.518 +++ loncom/interface/lonprintout.pm 2008/03/24 18:24:30 1.519.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.518 2008/03/10 10:10:18 foxr Exp $ +# $Id: lonprintout.pm,v 1.519.2.3 2008/03/24 18:24:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +38,7 @@ use Apache::edit; use Apache::File(); use Apache::lonnavmaps; use Apache::admannotations; +use Apache::lonenc; use HTTP::Response; use LONCAPA::map(); @@ -115,7 +116,7 @@ sub annotate { # the number of times requested by the caller. # If we still have a proble, no text is appended to the # output and we set some global variables. -# to indicate to the caller an SSI error occured. +# to indicate to the caller an SSI error occurred. # All of this is supposed to deal with the issues described # in LonCAPA BZ 5631 see: # http://bugs.lon-capa.org/show_bug.cgi?id=5631 @@ -131,10 +132,10 @@ sub annotate { # On success, returns the rendered resource identified by the resource parameter. # Side Effects: # The following global variables can be set: -# ssi_error - If an unrecoverable error occured this becomes true. +# ssi_error - If an unrecoverable error occurred this becomes true. # It is up to the caller to initialize this to false # if desired. -# ssi_last_error_resource - If an unrecoverable error occured, this is the value +# ssi_last_error_resource - If an unrecoverable error occurred, this is the value # of the resource that could not be rendered by the ssi # call. # ssi_last_error - The error string fetched from the ssi response @@ -149,6 +150,8 @@ sub ssi_with_retries { $ssi_error = 1; $ssi_last_error_resource = $resource; $ssi_last_error = $response->code . " " . $response->message; + + &Apache::lonnet::logthis("Error in SSI resource: $resource Error: $ssi_last_error"); } return $content; @@ -1663,6 +1666,8 @@ ENDPART my $pbreakresources = keys %page_breaks; for (my $i=0;$i<=$#master_seq;$i++) { + &Apache::lonenc::reset_enc(); + # Note due to document structure, not allowed to put \newpage # prior to the first resource @@ -1671,11 +1676,12 @@ ENDPART $result.="\\newpage\n"; } } - my ($sequence,undef,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]); + my ($sequence,$middle_thingy,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]); $urlp=&Apache::lonnet::clutter($urlp); $form{'symb'}=$master_seq[$i]; my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #title of the assignment which contains this problem + if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;} if ($i==0) {$prevassignment=$assignment;} my $texversion=''; @@ -1982,6 +1988,9 @@ ENDPART $rndseed=$helper->{'VARS'}->{'curseed'}; } for (my $i=0;$i<=$#list_of_files;$i++) { + + &Apache::lonenc::reset_enc(); + my $urlp = $list_of_files[$i]; $urlp=~s|//|/|; if ($urlp=~/\//) { @@ -2081,27 +2090,25 @@ ENDPART # if ($ssi_error) { - my $end_page = &Apache::loncommon::end_page(); - $r->print(< -

An unrecoverable error occured:

-

- I was not able to render one of the print resources ($ssi_last_error_resource) -due to an unrecoverable error communicating with a server: -
-$ssi_last_error; + + my $helpurl = &Apache::loncommon::top_nav_help('Helpdesk'); + my $end_page = &Apache::loncommon::end_page(); + $r->print('
-

+

'.&mt('An unrecoverable network error occurred:').'

-I recommend that you try printing again later as this may mean the server was just -temporarily unavailable, or is down for maintenance. If this error persists, then -please contact your LonCAPA support folks for assistance and diagnosis. -
+ '.&mt('One of the resources ([_1]) you chose to print could not be rendered due to an unrecoverable error when communicating with a server:',$ssi_last_error_resource).'
-We apologize for the inconvenience. +'.$ssi_last_error.'

-$end_page -ERROR_END +

'. +&mt('It is recommended that you try printing again later, as this error may mean the server was just temporarily unavailable, or is down for maintenance.').'
'. +&mt('If the error persists, please contact the [_1] for assistance.',$helpurl). +'

'. +&mt('We apologize for the inconvenience.'). +'

'. +$end_page); + } else { #-- writing .tex file in prtspool