[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
sakharuk
lon-capa-cvs@mail.lon-capa.org
Fri, 20 Sep 2002 20:32:42 -0000
sakharuk Fri Sep 20 16:32:42 2002 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
Now works fine for the printing sequences with empty first resource.
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.72 loncom/interface/lonprintout.pm:1.73
--- loncom/interface/lonprintout.pm:1.72 Thu Sep 19 16:18:09 2002
+++ loncom/interface/lonprintout.pm Fri Sep 20 16:32:42 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.72 2002/09/19 20:18:09 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.73 2002/09/20 20:32:42 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -316,7 +316,7 @@
<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'}">
-Define page layout parameters: <br />
+Define one column layout parameters: <br />
<b>Width</b>: <input type="text" name="width" width="8" value="9cm"> <br />
<b>Height</b>: <input type="text" name="height" width="8" value="25.9cm"> <br />
<b>Left margin</b>: <input type="text" name="leftmargin" width="8" value="-0.57in"> <br />
@@ -370,8 +370,9 @@
#-- where is the primary sequence containing file?
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
$symbolic =~ m/([^_]+)_/;
- my $primary_sequence = '/res/'.$1;
- my @master_seq = &coming_from_hash($primary_sequence);
+ my $primary_sequence = '/res/'.$1;
+ $symbolic =~ m/^([^_]+__)/;
+ my @master_seq = &coming_from_hash($primary_sequence,$1);
#-- produce an output string
my $flag_latex_header_remove = 'NO';
my $flag_page_in_sequence = 'NO';
@@ -423,7 +424,7 @@
# where is the main sequence of the course?
$selectionmade = 4;
my $main_seq = '/res/'.$ENV{'request.course.uri'};
- my @file_seq = &coming_from_hash($main_seq);
+ my @file_seq = &coming_from_hash($main_seq);
my $flag_latex_header_remove = 'NO';
#-- produce an output string
for (my $i=0;$i<=$#file_seq;$i++) {
@@ -448,7 +449,7 @@
} elsif ($choice eq 'All class print') {
#-- prints assignments for whole class or for selected students
$selectionmade = 5;
- my (@students,@st_output) = ((),());
+ my @students = ();
for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) {
if ($ENV{'form.whomtoprint'.$i}=~/:/) {
push @students,$ENV{'form.whomtoprint'.$i};
@@ -457,8 +458,9 @@
#where is the primary sequence containing current resource (the same for all students)?
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
$symbolic =~ m/([^_]+)_/;
- my $primary_sequence = '/res/'.$1;
- my @master_seq = &coming_from_hash($primary_sequence);
+ my $primary_sequence = '/res/'.$1;
+ $symbolic =~ m/^([^_]+__)/;
+ my @master_seq = &coming_from_hash($primary_sequence,$1);
#loop over students
my $flag_latex_header_remove = 'NO';
foreach my $person (@students) {
@@ -468,22 +470,20 @@
#goes through all resources, checks if they are available for current student, and produces output
foreach my $curresline (@master_seq) {
my ($curres,$symb) = split /&&/, $curresline;
- $curres =~ s/^"//;
- $curres =~ s/"$//;
- if ($curres=~/\w+/) {
+ if ($curres=~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
my ($map,$id,$res_url) = split(/___/,$symb);
if (&Apache::lonnet::allowed('bre',$res_url)) {
my $rendered = &Apache::loncommon::get_student_view($symb,$username,$userdomain,
$ENV{'request.course.id'},'tex');
- if ($flag_latex_header_remove ne 'NO') {
+ if ($flag_latex_header_remove eq 'YES') {
$rendered = &latex_header_footer_remove($rendered);
} else {
$rendered =~ s/\\end{document}//;
}
$current_output .= $rendered;
}
+ $flag_latex_header_remove = 'YES';
}
- $flag_latex_header_remove = 'YES';
}
if ($current_output=~/\\documentclass/) {
$current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /;
@@ -599,14 +599,35 @@
}
-sub coming_from_hash {
+sub coming_from_hash_whole {
my $mainsequence = shift;
my @resourcelist = ();
my $mapid = $hash{'map_pc_'.$mainsequence};
my $mapstart = $hash{'map_start_'.$mainsequence};
my $mapfinish = $hash{'map_finish_'.$mainsequence};
- my $symb = &Apache::lonnet::symbread($hash{'src_'.$mapstart});
+ my $current_resource = $mapstart;
+ while ($current_resource ne $mapfinish) {
+ if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
+
+ } else {
+
+ }
+ }
+
+
+ push @resourcelist,$mapid,$mapstart,$mapfinish;
+ return @resourcelist;
+}
+
+
+sub coming_from_hash {
+
+ my ($mainsequence,$symb) = @_;
+ my @resourcelist = ();
+ my $mapid = $hash{'map_pc_'.$mainsequence};
+ my $mapstart = $hash{'map_start_'.$mainsequence};
+ my $mapfinish = $hash{'map_finish_'.$mainsequence};
my ($presymb) = split(/___/,$symb);
$presymb = $presymb.'___';
my $current_resource = $mapstart;
@@ -1085,12 +1106,3 @@
1;
__END__
-
-
-
-#### Test block
-# my $ere;
-# foreach $ere (%ENV) {
-# $result .= ' SS '.$ere.' => '.$ENV{$ere}.' FF '."\n\n";
-# }
-####