--- loncom/interface/lonprintout.pm 2003/05/08 18:41:16 1.159 +++ loncom/interface/lonprintout.pm 2003/05/12 20:29:39 1.163 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.159 2003/05/08 18:41:16 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.163 2003/05/12 20:29:39 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1381,6 +1381,24 @@ ENDPART &Apache::lonnet::appenv(%moreenv); my $texversion=&Apache::lonnet::ssi($currentURL); &Apache::lonnet::delenv('form.grade_target','form.textwidth','form.counter'); + if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + $moreenv{'form.grade_target'}='answer'; + &Apache::lonnet::appenv(%moreenv); + my $answer=&Apache::lonnet::ssi($currentURL); + &Apache::lonnet::delenv('form.grade_target'); + my $start=index($answer,'',$start); + if ($start!=-1 && $finish!=-1) {$answer=substr($answer,$start,$finish-$start+8);} + $answer=~s/<\/td>\s*/ \\\\ \\hline /g; + $answer=~s/]*)>/\\vskip 0 mm \\begin{tabular}{|c|}\\hline /; + $answer=~s/<\/table>/\\end{tabular}\\vskip 0 mm/; + $answer=~s/\s*//; + $answer=~s/<\/td>\s*<\/tr>/\\\\ \\hline /; + $answer=~s/([^\#]*)<\/b>/\\verb|$1|/; + $answer=~s/([^\#]*)<\/i>/\\textit{$1}/; +# $r->print('
'.$answer.'
'); return OK; + $texversion=~s/(\\end{document})/$answer$1/; + } $result .= $texversion; if ($currentURL=~m/\.page\s*$/) { ($result,$number_of_columns) = &page_cleanup($result); @@ -1582,10 +1600,11 @@ sub handler { $helper = $result; -# my $key; -# foreach $key (keys %{$helper->{'VARS'}}) { -# $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<-
'); -# } + + my $key; + foreach $key (keys %{$helper->{'VARS'}}) { + $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<-
'); + } # return OK; @@ -1749,16 +1768,9 @@ sub printHelper { # "Delete everything after the last slash." $subdir =~ s|/[^/]+$||; - if (not defined $helper->{VARS}->{'construction'}) { - $subdir = '/home/httpd/html/res'.$subdir; - } else { - $helper->{VARS}->{'construction'}=~/^([^\/]+)\/\/([^\/]+)(.*)\/[^\/]*$/; - $subdir = $3; - $subdir=~/\/~([^\/]+)\/(.*)$/; - $subdir = '/home/'.$1.'/public_html/'.$2; + if (not $helper->{VARS}->{'construction'}) { + $subdir='/home/httpd/html/res/'.$subdir; } -#### $r->print('Dir: '.$subdir.' '); -#### return OK; # What can be printed is a very dynamic decision based on @@ -1890,6 +1902,20 @@ CHOOSE_FROM_SUBDIR $helper->declareVar('PRINT_TYPE'); $paramHash->{CHOICES} = $printChoices; Apache::lonhelper::choices->new(); + + if ($ENV{'request.role.adv'}) { + $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{MESSAGE_TEXT} = "
Next option is available only for advanced users:
"; + Apache::lonhelper::message->new(); + $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{'variable'} = 'ANSWER_TYPE'; + $helper->declareVar('ANSWER_TYPE'); + $paramHash->{CHOICES} = [ + ['Print without answer', 'yes'], + ['Print with answers', 'no'] ]; + Apache::lonhelper::choices->new(); + } + Apache::lonprintout::page_format_state->new("FORMAT"); # Generate the PAGESIZE state which will offer the user the margin