version 1.27, 2002/05/09 18:56:21
|
version 1.28, 2002/05/17 21:53:50
|
Line 65 ENDHEADER
|
Line 65 ENDHEADER
|
|
|
sub menu_for_output { |
sub menu_for_output { |
my $r = shift; |
my $r = shift; |
$r->print(<<ENDMENUOUT); |
$r->print(<<ENDMENUOUT1); |
<input type="hidden" name="phase" value="two"> |
<input type="hidden" name="phase" value="two"> |
<input type="hidden" name="url" value="$ENV{'form.postdata'}"> |
<input type="hidden" name="url" value="$ENV{'form.postdata'}"> |
<input type="radio" name="choice" value="Standard LaTeX output for current document" checked> Current document |
<input type="radio" name="choice" value="Standard LaTeX output for current document" checked> Current document |
Line 73 sub menu_for_output {
|
Line 73 sub menu_for_output {
|
<input type="radio" name="choice" value="Standard LaTeX output for the primary sequence"> All problems from the primary sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the primary sequence"> All problems from the primary sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence"> The whole primary sequence (problems plus all html and xml files)<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence"> The whole primary sequence (problems plus all html and xml files)<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence"> All problems from the top level sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence"> All problems from the top level sequence<br /> |
|
<br /> |
|
ENDMENUOUT1 |
|
if ($ENV{'user.adv'} eq '1') { |
|
$r->print(<<ENDMENUOUT2); |
|
<input type="radio" name="choice" value="Subdirectory print"> All problems from particular subdirectory <input type="text" name="subdirect" value="/res/"><br /> |
|
ENDMENUOUT2 |
|
} |
|
$r->print(<<ENDMENUOUT3); |
<br /><hr /><br /> |
<br /><hr /><br /> |
<h1>And what page format do you prefer?</h1> |
<h1>And what page format do you prefer?</h1> |
<input type="radio" name="layout" value="CBI"> Two columns landscape (<small>CBI</small>) <br /> |
<input type="radio" name="layout" value="CBI"> Two columns landscape <br /> |
<input type="radio" name="layout" value="CAPA" checked> Two columns portrait (<small>CAPA</small>) <br /> |
<input type="radio" name="layout" value="CAPA" checked> Two columns portrait <br /> |
<input type="submit" value="Submit your choice"> |
<input type="submit" value="Submit your choice"> |
</form> |
</form> |
</body> |
</body> |
</html> |
</html> |
ENDMENUOUT |
ENDMENUOUT3 |
} |
} |
|
|
|
|
Line 100 ENDPART
|
Line 108 ENDPART
|
|
|
my $choice = $ENV{'form.choice'}; |
my $choice = $ENV{'form.choice'}; |
my $layout = $ENV{'form.layout'}; |
my $layout = $ENV{'form.layout'}; |
|
my $subdirtoprint = $ENV{'form.subdirect'}; |
my $laystyle = 'book'; |
my $laystyle = 'book'; |
my $result = ''; |
my $result = ''; |
my %mystyle; |
my %mystyle; |
Line 151 ENDPART
|
Line 160 ENDPART
|
&Apache::lonnet::delenv('form.grade_target'); |
&Apache::lonnet::delenv('form.grade_target'); |
$result .= $texversion; |
$result .= $texversion; |
} |
} |
} |
} |
#-- additional cleanup for output |
$result = &additional_cleanup($result); |
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); |
|
} |
|
} elsif ($choice eq 'Standard LaTeX output for the top level sequence') { |
} elsif ($choice eq 'Standard LaTeX output for the top level sequence') { |
my @master_seq = (); |
my @master_seq = (); |
my @add_file_seq = (); |
my @add_file_seq = (); |
Line 198 ENDPART
|
Line 199 ENDPART
|
&Apache::lonnet::delenv('form.grade_target'); |
&Apache::lonnet::delenv('form.grade_target'); |
$result .= $texversion; |
$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 |
#-- corrections for the different page formats |
if ($layout eq 'CBI') { |
if ($layout eq 'CBI') { |
Line 254 $r->print(<<FINALEND);
|
Line 284 $r->print(<<FINALEND);
|
FINALEND |
FINALEND |
} |
} |
|
|
|
sub additional_cleanup { |
|
my $result = shift; |
|
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); |
|
} |
|
return $result; |
|
} |
|
|
|
|
sub content_map { |
sub content_map { |