--- loncom/interface/lonprintout.pm 2003/05/14 13:20:06 1.167 +++ loncom/interface/lonprintout.pm 2003/05/15 16:16:36 1.176 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.167 2003/05/14 13:20:06 albertel Exp $ +# $Id: lonprintout.pm,v 1.176 2003/05/15 16:16:36 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -486,7 +486,7 @@ ENDPART } $moreenv{'request.filename'}=$ENV{'form.url'}; my %form; - $from{'textwidth'}=$LaTeXwidth; + $form{'textwidth'}=$LaTeXwidth; $form{'grade_target'}='tex'; &Apache::lonnet::appenv(%moreenv); my $texversion=&Apache::lonnet::ssi($ENV{'form.url'},%form); @@ -1041,6 +1041,8 @@ sub character_chart { sub page_format { my ($papersize,$layout,$numberofcolumns) = @_; my ($textwidth,$textheight,$oddoffset,$evenoffset) = (0,0,0,0); + + if ($papersize=~/Letter/) { if ($layout eq 'CAPA') { if ($numberofcolumns == 1) { @@ -1375,17 +1377,19 @@ ENDPART my %form; $form{'grade_target'}='tex'; $form{'textwidth'}=$LaTeXwidth; + my $rndseed=time; + $form{'rndseed'}=$rndseed; &Apache::lonnet::appenv(%moreenv); - my $texversion=&Apache::lonnet::ssi($currentURL,$form); + my $texversion=&Apache::lonnet::ssi($currentURL,%form); &Apache::lonnet::delenv('form.counter'); &Apache::lonnet::delenv('request.filename'); if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { my %form; $form{'grade_target'}='answer'; $form{'answer_output_mode'}='tex'; + $form{'rndseed'}=$rndseed; my $answer=&Apache::lonnet::ssi($currentURL,%form); -# $r->print('
'.$answer.'
'); return OK; - $texversion=~s/(\\end{document})/$answer$1/; + $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; } $result .= $texversion; if ($currentURL=~m/\.page\s*$/) { @@ -1417,7 +1421,7 @@ ENDPART } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') { $selectionmade = 4; } - my %form; + my %form; $form{'grade_target'}='tex'; $form{'textwidth'}=$LaTeXwidth; $form{'symb'}=$master_seq[$i]; @@ -1434,6 +1438,13 @@ ENDPART } else { $texversion =~ s/\\end{document}//; } + if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + my %form; + $form{'grade_target'}='answer'; + $form{'answer_output_mode'}='tex'; + my $answer=&Apache::lonnet::ssi($urlp,%form); + $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; + } $result .= $texversion; $flag_latex_header_remove = 'YES'; } @@ -1468,6 +1479,13 @@ ENDPART } else { $rendered =~ s/\\end{document}//; } + if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + my %form; + $form{'answer_output_mode'}='tex'; + my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain, + $ENV{'request.course.id'},%form); + $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/; + } $current_output .= $rendered; } $flag_latex_header_remove = 'YES'; @@ -1495,19 +1513,29 @@ ENDPART $selectionmade = 6; my @list_of_files=split /\|\|\|/, $helper->{'VARS'}->{'FILES'}; @list_of_files=sort @list_of_files; - my $flag_latex_header_remove = 'NO'; + my $flag_latex_header_remove = 'NO'; + my $rndseed=time; for (my $i=0;$i<=$#list_of_files;$i++) { my $urlp = $list_of_files[$i]; if ($urlp=~/\//) { my %form; $form{'grade_target'}='tex'; $form{'textwidth'}=$LaTeXwidth; + $form{'rndseed'}=$rndseed; if ($urlp =~ m|/home/([^/]+)/public_html|) { $urlp =~ s|/home/([^/]*)/public_html|/~$1|; } else { $urlp =~ s|^/home/httpd/html||; } my $texversion=&Apache::lonnet::ssi($urlp,%form); + if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + my %form; + $form{'grade_target'}='answer'; + $form{'answer_output_mode'}='tex'; + $form{'rndseed'}=$rndseed; + my $answer=&Apache::lonnet::ssi($urlp,%form); + $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; + } #this chunck is responsible for printing the path to problem my $newurlp = ''; my $HowMany = length($urlp)*2; @@ -1537,6 +1565,7 @@ ENDPART } $flag_latex_header_remove = 'YES'; } + if ($helper->{VARS}->{'construction'} eq '1') {$result=~s/(\\typeout)/ RANDOM SEED IS $rndseed $1/;} $result .= '\end{document}'; } #-------------------------------------------------------- corrections for the different page formats @@ -1690,7 +1719,7 @@ sub printHelper { Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING}); - my $helper = Apache::lonhelper::helper->new("Printing Wizard"); + my $helper = Apache::lonhelper::helper->new("Printing Helper"); $helper->declareVar('symb'); $helper->declareVar('postdata'); $helper->declareVar('filename'); @@ -1826,7 +1855,7 @@ HELPERFRAGMENT &Apache::lonxml::xmlparse($r, 'helper', < (mark them then click "next" button)
- + PAGESIZE return $isProblemOrMap return $isProblem @@ -1888,7 +1917,8 @@ CHOOSE_FROM_SUBDIR $paramHash->{CHOICES} = $printChoices; Apache::lonhelper::choices->new(); - if ($ENV{'request.role.adv'}) { + if (($ENV{'request.role.adv'} and &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) or + ($helper->{VARS}->{'construction'} eq '1')) { $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{MESSAGE_TEXT} = "
Next option is available only for advanced users:
"; Apache::lonhelper::message->new();