--- loncom/interface/lonprintout.pm 2004/03/23 01:34:17 1.284 +++ loncom/interface/lonprintout.pm 2004/03/24 22:22:04 1.287 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.284 2004/03/23 01:34:17 albertel Exp $ +# $Id: lonprintout.pm,v 1.287 2004/03/24 22:22:04 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -661,6 +661,17 @@ sub recalcto_mm { return $LaTeXwidth; } +sub get_textwidth { + my ($helper,$LaTeXwidth)=@_; + my $textwidth=$LaTeXwidth; + if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && + $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { + $textwidth=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '. + $helper->{'VARS'}->{'pagesize.widthunit'}); + } + return $textwidth; +} + sub output_data { my ($r,$helper,$rparmhash) = @_; my %parmhash = %$rparmhash; @@ -740,12 +751,7 @@ ENDPART } my %form; $form{'grade_target'}='tex'; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $form{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $form{'textwidth'}=$LaTeXwidth; - } + $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; if ($helper->{'VARS'}->{'curseed'}) { @@ -810,12 +816,7 @@ ENDPART if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { my %form; $form{'grade_target'}='tex'; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $form{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $form{'textwidth'}=$LaTeXwidth; - } + $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; $form{'rndseed'}=$rndseed; @@ -861,12 +862,7 @@ ENDPART } elsif ($currentURL=~/\/smppg$/) { my %form; $form{'grade_target'}='tex'; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $form{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $form{'textwidth'}=$LaTeXwidth; - } + $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; my $texversion=&Apache::lonnet::ssi($currentURL,%form); $result .= $texversion; @@ -888,12 +884,7 @@ ENDPART #-- produce an output string my %form=(); $form{'grade_target'}='tex'; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $form{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $form{'textwidth'}=$LaTeXwidth; - } + $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; my $flag_latex_header_remove = 'NO'; @@ -994,12 +985,7 @@ ENDPART #loop over students my $flag_latex_header_remove = 'NO'; my %moreenv; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $moreenv{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $moreenv{'textwidth'}=$LaTeXwidth; - } + $moreenv{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$#students+1); my $student_counter=-1; foreach my $person (@students) { @@ -1034,12 +1020,7 @@ ENDPART if ($urlp=~/\//) { my %form; $form{'grade_target'}='tex'; - if ($helper->{'VARS'}->{'pagesize.width'}=~/\d+/ && - $helper->{'VARS'}->{'pagesize.widthunit'}=~/\w+/) { - $form{'textwidth'}=&recalcto_mm($helper->{'VARS'}->{'pagesize.width'}.' '.$helper->{'VARS'}->{'pagesize.widthunit'}); - } else { - $form{'textwidth'}=$LaTeXwidth; - } + $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'rndseed'}=$rndseed; if ($urlp =~ m|/home/([^/]+)/public_html|) { $urlp =~ s|/home/([^/]*)/public_html|/~$1|; @@ -1434,10 +1415,10 @@ sub printHelper { # $r->print($helper->{VARS}->{'postdata'}); # Useful filter strings - my $isProblem = '$res->is_problem()'; + my $isProblem = '($res->is_problem()||$res->contains_problem) '; $isProblem .= ' && !$res->randomout()' if !$userCanSeeHidden; - my $isProblemOrMap = '$res->is_problem() || $res->is_map()'; - my $isNotMap = '!$res->is_map()'; + my $isProblemOrMap = '$res->is_problem() || $res->contains_problem() || $res->is_sequence()'; + my $isNotMap = '!$res->is_sequence()'; $isNotMap .= ' && !$res->randomout()' if !$userCanSeeHidden; my $isMap = '$res->is_map()'; my $symbFilter = '$res->symb()'; @@ -1461,7 +1442,8 @@ sub printHelper { my $helperFragment = < (mark them then click "next" button)
- + PAGESIZE return $isProblem; $map @@ -1471,7 +1453,8 @@ sub printHelper { (mark them then click "next" button)
- + PAGESIZE return $isNotMap; $map @@ -1490,11 +1473,11 @@ HELPERFRAGMENT &Apache::lonxml::xmlparse($r, 'helper', < (mark them then click "next" button)
- + PAGESIZE return $isProblemOrMap; - return $isProblem; + return $isNotMap; return $symbFilter;
@@ -1506,7 +1489,8 @@ ALL_PROBLEMS } my $resource_selector=<
Select resources for the assignment
- + return $isProblem; $map return $symbFilter; @@ -1530,8 +1514,9 @@ RESOURCE_SELECTOR CHOOSE_STUDENTS &Apache::lonxml::xmlparse($r, 'helper', < -
How many Anonymous exams to print?
+
Number of anonymous assignments to print?
+
$resource_selector @@ -1546,7 +1531,8 @@ CHOOSE_ANON1 $resource_selector=<
Select resources for the assignment
- + return $isNotMap; $map return $symbFilter; @@ -1624,7 +1610,8 @@ CHOOSE_FROM_SUBDIR (mark desired resources then click "next" button)
- + PAGESIZE return $isProblem return '$escapedSequenceName';