version 1.57, 2002/09/09 19:27:42
|
version 1.58, 2002/09/09 20:20:40
|
Line 118 ENDMENUOUT5
|
Line 118 ENDMENUOUT5
|
} |
} |
|
|
|
|
|
sub problem_choice_menu { |
|
my $r = shift; |
|
my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); |
|
$subdirtoprint =~ s/\/[^\/]+$//; |
|
my @list_of_files = (); |
|
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
|
$subdirtoprint =~ s/^[^~]*~(\w+)\//\/home\/$1\/public_html\//; |
|
} else { |
|
$subdirtoprint =~ s/.*(\/res\/)/$1/; |
|
} |
|
my @content_directory = (); |
|
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
|
@content_directory = &Apache::lonnet::dirlist($subdirtoprint,$ENV{'user.domain'}, $ENV{'user.name'},''); |
|
} else { |
|
@content_directory = &Apache::lonnet::dirlist($subdirtoprint); |
|
} |
|
for (my $iy=0;$iy<=$#content_directory;$iy++) { |
|
my @tempo_array = split(/&/,$content_directory[$iy]); |
|
if ($tempo_array[0] =~ m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/) { |
|
push(@list_of_files,$tempo_array[0]); |
|
} |
|
} |
|
$subdirtoprint =~ s/\/$//; |
|
for (my $i=0;$i<=$#list_of_files;$i++) { |
|
$list_of_files[$i] = $subdirtoprint.'/'.$list_of_files[$i]; |
|
} |
|
$r->print(<<ENDMENUOUT1); |
|
<input type="hidden" name="url" value="$ENV{'form.url'}"> |
|
<input type="hidden" name="choice" value="$ENV{'form.choice'}"> |
|
<input type="hidden" name="layout" value="$ENV{'form.layout'}"> |
|
<input type="hidden" name="numberofcolumns" value="$ENV{'form.numberofcolumns'}"> |
|
<h1>Mark problems which you want to print</h1> |
|
<script> |
|
function checkall() { |
|
for (i=0; i<document.forms.printform.elements.length; i++) { |
|
if |
|
(document.forms.printform.elements[i].name.indexOf('whattoprint')==0) { |
|
document.forms.printform.elements[i].checked=true; |
|
} |
|
} |
|
} |
|
|
|
|
|
function uncheckall() { |
|
for (i=0; i<document.forms.printform.elements.length; i++) { |
|
if |
|
(document.forms.printform.elements[i].name.indexOf('whattoprint')==0) { |
|
document.forms.printform.elements[i].checked=false; |
|
} |
|
} |
|
} |
|
</script> |
|
<input type=button onClick="checkall()" value="Check for All"> |
|
<input type=button onClick="uncheckall()" value="Check for None"> |
|
<p> |
|
ENDMENUOUT1 |
|
my $i; |
|
foreach my $file (@list_of_files) { |
|
$r->print('<br /><input type=checkbox name="whattoprint'.$i.'" value="'.$file.'"> '. |
|
$file); |
|
$i++; |
|
} |
|
$r->print(<<ENDMENUOUT2); |
|
<br /> |
|
<input type="hidden" name="numberofproblems" value="$i"> |
|
<input type="hidden" name="phase" value="three"> |
|
<input type="submit" value="Submit"> |
|
ENDMENUOUT2 |
|
} |
|
|
|
|
sub additional_class_menu { |
sub additional_class_menu { |
my $r = shift; |
my $r = shift; |
$r->print(<<ENDMENUOUT1); |
$r->print(<<ENDMENUOUT1); |
Line 133 ENDMENUOUT1
|
Line 204 ENDMENUOUT1
|
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
my $now=time; |
my $now=time; |
$r->print(<<ENDDISHEADER); |
$r->print(<<ENDDISHEADER); |
<input type=hidden name=sendmode value=group> |
|
<script> |
<script> |
function checkall() { |
function checkall() { |
for (i=0; i<document.forms.printform.elements.length; i++) { |
for (i=0; i<document.forms.printform.elements.length; i++) { |
Line 206 sub additional_print_menu {
|
Line 276 sub additional_print_menu {
|
for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) { |
for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) { |
$what_to_print .= '<input type="hidden" name="whomtoprint'.$i.'" value="'.$ENV{'form.whomtoprint'.$i}.'">'; |
$what_to_print .= '<input type="hidden" name="whomtoprint'.$i.'" value="'.$ENV{'form.whomtoprint'.$i}.'">'; |
} |
} |
|
for (my $i=0; $i<$ENV{'form.numberofproblems'};$i++) { |
|
$what_to_print .= '<input type="hidden" name="whattoprint'.$i.'" value="'.$ENV{'form.whattoprint'.$i}.'">'; |
|
} |
$r->print(<<ENDMENUOUT); |
$r->print(<<ENDMENUOUT); |
$what_to_print |
$what_to_print |
<input type="hidden" name="url" value="$ENV{'form.url'}"> |
<input type="hidden" name="url" value="$ENV{'form.url'}"> |
<input type="hidden" name="choice" value="$ENV{'form.choice'}"> |
<input type="hidden" name="choice" value="$ENV{'form.choice'}"> |
<input type="hidden" name="layout" value="$ENV{'form.layout'}"> |
<input type="hidden" name="layout" value="$ENV{'form.layout'}"> |
<input type="hidden" name="numberofstudents" value="$ENV{'form.numberofstudents'}"> |
<input type="hidden" name="numberofstudents" value="$ENV{'form.numberofstudents'}"> |
|
<input type="hidden" name="numberofproblems" value="$ENV{'form.numberofproblems'}"> |
<input type="hidden" name="numberofcolumns" value="$ENV{'form.numberofcolumns'}"> |
<input type="hidden" name="numberofcolumns" value="$ENV{'form.numberofcolumns'}"> |
Define page layout parameters: <br /> |
Define page layout parameters: <br /> |
<b>Width</b>: <input type="text" name="width" width="8" value="9cm"> <br /> |
<b>Width</b>: <input type="text" name="width" width="8" value="9cm"> <br /> |
Line 397 ENDPART
|
Line 471 ENDPART
|
$current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /; |
$current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /; |
$result .= $current_output; |
$result .= $current_output; |
} |
} |
|
|
$result = &additional_cleanup($result); |
$result = &additional_cleanup($result); |
|
|
|
|
|
|
|
|
|
|
|
|
} elsif ($choice eq 'Subdirectory print') { |
} elsif ($choice eq 'Subdirectory print') { |
my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); |
#prints selected problems from the subdirectory |
$subdirtoprint =~ s/\/[^\/]+$//; |
my @list_of_files = (); |
my @list_of_files = (); |
for (my $i=0; $i<$ENV{'form.numberofproblems'};$i++) { |
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
if ($ENV{'form.whattoprint'.$i}=~/^\//) { |
$subdirtoprint =~ s/^[^~]*~(\w+)\//\/home\/$1\/public_html\//; |
# $result.= $ENV{'form.whattoprint'.$i}.' FFF '; |
} else { |
push @list_of_files,$ENV{'form.whattoprint'.$i}; |
$subdirtoprint =~ s/.*(\/res\/)/$1/; |
|
} |
|
my @content_directory = (); |
|
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
|
@content_directory = &Apache::lonnet::dirlist($subdirtoprint,$ENV{'user.domain'}, $ENV{'user.name'},''); |
|
} else { |
|
@content_directory = &Apache::lonnet::dirlist($subdirtoprint); |
|
} |
|
for (my $iy=0;$iy<=$#content_directory;$iy++) { |
|
my @tempo_array = split(/&/,$content_directory[$iy]); |
|
if ($tempo_array[0] =~ m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/) { |
|
push(@list_of_files,$tempo_array[0]); |
|
} |
} |
} |
} |
$subdirtoprint =~ s/\/$//; |
|
for (my $i=0;$i<=$#list_of_files;$i++) { |
for (my $i=0;$i<=$#list_of_files;$i++) { |
my $urlp = $subdirtoprint.'/'.$list_of_files[$i]; |
my $urlp = $list_of_files[$i]; |
my %moreenv; |
if ($urlp=~/\//) { |
$moreenv{'form.grade_target'}='tex'; |
my %moreenv; |
&Apache::lonnet::appenv(%moreenv); |
$moreenv{'form.grade_target'}='tex'; |
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
&Apache::lonnet::appenv(%moreenv); |
$urlp =~ s/\/home\/([^\/]*)\/public_html/\/~$1/; |
if ($ENV{'request.role'}=~m/^au\./ or $ENV{'request.role'}=~m/^ca\./) { |
} |
$urlp =~ s/\/home\/([^\/]*)\/public_html/\/~$1/; |
my $texversion=&Apache::lonnet::ssi($urlp); |
} |
&Apache::lonnet::delenv('form.grade_target'); |
my $texversion=&Apache::lonnet::ssi($urlp); |
$texversion =~ s/(\\begin{document})/$1 {\\tiny\\begin{verbatim}$urlp\\end{verbatim}}/; |
&Apache::lonnet::delenv('form.grade_target'); |
$result .= $texversion; |
$texversion =~ s/(\\begin{document})/$1 {\\tiny\\begin{verbatim}$urlp\\end{verbatim}}/; |
|
$result .= $texversion; |
|
} |
} |
} |
$result = &additional_cleanup($result); |
$result = &additional_cleanup($result); |
|
|
Line 939 sub handler {
|
Line 995 sub handler {
|
if ($ENV{'form.phase'} eq 'two') { |
if ($ENV{'form.phase'} eq 'two') { |
if($ENV{'form.choice'} eq 'All class print') { |
if($ENV{'form.choice'} eq 'All class print') { |
&additional_class_menu($r); |
&additional_class_menu($r); |
|
} elsif($ENV{'form.choice'} eq 'Subdirectory print') { |
|
&problem_choice_menu($r); |
} else { |
} else { |
$ENV{'form.phase'} = 'three'; |
$ENV{'form.phase'} = 'three'; |
} |
} |