--- loncom/interface/lonprintout.pm 2002/04/10 16:21:33 1.21 +++ loncom/interface/lonprintout.pm 2002/05/21 00:44:03 1.30 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.21 2002/04/10 16:21:33 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.30 2002/05/21 00:44:03 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,23 +65,31 @@ ENDHEADER sub menu_for_output { my $r = shift; - $r->print(<print(< - Current document + Current document (you will print what you see on the screen)
All problems from the primary sequence
The whole primary sequence (problems plus all html and xml files)
All problems from the top level sequence
+
+ENDMENUOUT1 + if ($ENV{'user.adv'} eq '1') { + $r->print(< All problems from particular subdirectory
+ENDMENUOUT2 + } + $r->print(<

And what page format do you prefer?

- CBI
- CAPA
+ Two columns landscape
+ Two columns portrait
-ENDMENUOUT +ENDMENUOUT3 } @@ -100,6 +108,7 @@ ENDPART my $choice = $ENV{'form.choice'}; my $layout = $ENV{'form.layout'}; + my $subdirtoprint = $ENV{'form.subdirect'}; my $laystyle = 'book'; my $result = ''; my %mystyle; @@ -117,7 +126,7 @@ ENDPART $moreenv{'request.filename'}=$currequest; &Apache::lonnet::appenv(%moreenv); $result .= $texversion; - + $result = &additional_cleanup($result); } elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole primary sequence') { #-- where is the primary sequence containing file? my %moreenv; @@ -151,16 +160,8 @@ ENDPART &Apache::lonnet::delenv('form.grade_target'); $result .= $texversion; } - } -#-- additional cleanup for output - my $first_app = index($result,'\documentclass',0); - $first_app = index($result,'\documentclass',$first_app+5); - while ($first_app != -1) { - my $second_app = index($result,'begin{document}',$first_app); - $first_app = rindex($result,'\end{document}',$first_app); - substr($result,$first_app,$second_app-$first_app+15) = '\vskip 3 mm'; - $first_app = index($result,'\documentclass',$first_app+5); - } + } + $result = &additional_cleanup($result); } elsif ($choice eq 'Standard LaTeX output for the top level sequence') { my @master_seq = (); my @add_file_seq = (); @@ -198,16 +199,45 @@ ENDPART &Apache::lonnet::delenv('form.grade_target'); $result .= $texversion; } + } + $result = &additional_cleanup($result); + } elsif ($choice eq 'Subdirectory print') { + if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') { + my $locald = &Apache::lonnet::filelocation("",$subdirtoprint); + unless (-e $locald) { +#do something in the case of the absence of this subdirectory on the local mashine +#replication process + } + my @list_of_files = (); + my @content_directory = &Apache::lonnet::dirlist($subdirtoprint); + for (my $iy=0;$iy<=$#content_directory;$iy++) { + my @tempo_array = split(/&/,$content_directory[$iy]); + $content_directory[$iy] = $tempo_array[0]; + if ($content_directory[$iy] =~ m/\.problem$/) { + push @list_of_files,$content_directory[$iy]; + } + } + for (my $i=0;$i<=$#list_of_files;$i++) { + $subdirtoprint =~ s/\/$//; + my $urlp = $subdirtoprint.'/'.$list_of_files[$i]; + my %moreenv; + $moreenv{'form.grade_target'}='tex'; + &Apache::lonnet::appenv(%moreenv); + my $texversion=&Apache::lonnet::ssi($urlp); + &Apache::lonnet::delenv('form.grade_target'); + $texversion =~ s/(\\begin{document})/$1 {\\tiny\\begin{verbatim}$urlp\\end{verbatim}}/; + $result .= $texversion; + } + $result = &additional_cleanup($result); + + } else { +#message "you not allowed to do this" } -#-- additional cleanup for output - my $first_app = index($result,'\documentclass',0); - $first_app = index($result,'\documentclass',$first_app+5); - while ($first_app != -1) { - my $second_app = index($result,'begin{document}',$first_app); - $first_app = rindex($result,'\end{document}',$first_app); - substr($result,$first_app,$second_app-$first_app+15) = '\vskip 3 mm'; - $first_app = index($result,'\documentclass',$first_app+5); - } + + + + + } #-- corrections for the different page formats if ($layout eq 'CBI') { @@ -219,46 +249,54 @@ ENDPART m/.*\/(.*)/; $courseidinfo = $ENV{'course.physnet_'.$1.'.description'}; $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; - $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /; - $result =~ s/\\includegraphics/\\includegraphics\[width=9\.0 cm\]/g; - $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPS $1/; + $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /; + $result =~ s/\\includegraphics{/\\includegraphics\[width=9\.0 cm\]{/g; + $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPL $1/; + } +#-- LaTeX corrections + my $first_comment = index($result,'',$first_comment); + substr($result,$first_comment,$end_comment-$first_comment+3) = ''; + $first_comment = index($result,'