--- loncom/interface/lonprintout.pm 2004/08/13 18:06:14 1.324
+++ loncom/interface/lonprintout.pm 2004/11/16 21:59:48 1.338
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.324 2004/08/13 18:06:14 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.338 2004/11/16 21:59:48 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -41,10 +41,7 @@ use Apache::lonnavmaps;
use Apache::lonratedt;
use POSIX qw(strftime);
use Apache::lonlocal;
-use GDBM_File;
-
-my %hash;
my $LaTeXwidth = 0;
@@ -229,7 +226,7 @@ sub character_chart {
$result =~ s/&(\#219|Ucirc);/\\^{U}/g;
$result =~ s/&(\#220|Uuml);/\\\"{U}/g;
$result =~ s/&(\#221|Yacute);/\\\'{Y}/g;
- $result =~ s/&(\#223|szlig);/\\ss/g;
+ $result =~ s/&(\#223|szlig);/{\\ss}/g;
$result =~ s/&(\#224|agrave);/\\\`{a}/g;
$result =~ s/&(\#225|aacute);/\\\'{a}/g;
$result =~ s/&(\#226|acirc);/\\^{a}/g;
@@ -373,169 +370,110 @@ sub character_chart {
}
+ #width, height, oddsidemargin, evensidemargin, topmargin
+my %page_formats=
+ ('letter' => {
+ 'book' => {
+ '1' => [ '7.1 in','10.2 in', '-0.57 in','-0.57 in','1 cm'],
+ '2' => ['3.66 in','10.2 in', '-0.57 in','-0.57 in','1 cm']
+ },
+ 'album' => {
+ '1' => [ '8.8 in', '6.8 in','-40 pt in', '-60 pt','1 cm'],
+ '2' => [ '4.4 in', '6.8 in','-0.5 in', '-1.5 in','3.5 in']
+ },
+ },
+ 'legal' => {
+ 'book' => {
+ '1' => ['7.1 in','13 in',,'-0.57 in','-0.57 in','-0.5 in'],
+ '2' => ['3.16 in','13 in','-0.57 in','-0.57 in','-0.5 in']
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'tabloid' => {
+ 'book' => {
+ '1' => ['9.8 in','16 in','-0.57 in','-0.57 in','-0.5 in'],
+ '2' => ['4.9 in','16 in','-0.57 in','-0.57 in','-0.5 in']
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'executive' => {
+ 'book' => {
+ '1' => ['6.8 in','9 in','-0.57 in','-0.57 in','1.2 in'],
+ '2' => ['3.1 in','9 in','-0.57 in','-0.57 in','1.2 in']
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'a2' => {
+ 'book' => {
+ '1' => [],
+ '2' => []
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'a3' => {
+ 'book' => {
+ '1' => [],
+ '2' => []
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'a4' => {
+ 'book' => {
+ '1' => ['176 mm','272 mm','-40 pt in','-60 pt','-0.5 in'],
+ '2' => [ '91 mm','272 mm','-40 pt in','-60 pt','-0.5 in']
+ },
+ 'album' => {
+ '1' => ['8.5 in','7.7 in','-40 pt in','-60 pt','0 in'],
+ '2' => ['3.9 in','7.7 in','-40 pt in','-60 pt','0 in']
+ },
+ },
+ 'a5' => {
+ 'book' => {
+ '1' => [],
+ '2' => []
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ 'a6' => {
+ 'book' => {
+ '1' => [],
+ '2' => []
+ },
+ 'album' => {
+ '1' => [],
+ '2' => []
+ },
+ },
+ );
+
sub page_format {
#
-#Correspondence between $papersize variable and real paper format:
-# 0 - "Letter [8 1/2x11 in]"
-# 1 - "Legal [8 1/2x14 in]"
-# 2 - "Ledger/Tabloid [11x17 in]"
-# 3 - "Executive [7 1/2x10 in]"
-# 4 - "A2 [420x594 mm]"
-# 5 - "A3 [297x420 mm]"
-# 6 - "A4 [210x297 mm]"
-# 7 - "A5 [148x210 mm]"
-# 8 - "A6 [105x148 mm]"
+#Supported paper format: "Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]",
+# "Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]",
+# "A2 [420x594 mm]", "A3 [297x420 mm]",
+# "A4 [210x297 mm]", "A5 [148x210 mm]",
+# "A6 [105x148 mm]"
#
my ($papersize,$layout,$numberofcolumns) = @_;
- my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0);
- if ($papersize eq '0') {
- if ($layout eq 'book') {
- if ($numberofcolumns == 1) {
- $textwidth = '7.1 in'; #'18 cm';
- $textheight = '10.2 in'; #'25.9 cm';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '3.66 in'; #'93 mm';
- $textheight = '10.2 in'; #'25.9 cm';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- }
- } elsif ($layout eq 'album') {
- if ($numberofcolumns eq '1') {
- $textwidth = '8.8 in';
- $textheight = '6.8 in';
- $oddoffset = '-40 pt';
- $evenoffset = '-60 pt';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '4.4 in';
- $textheight = '6.8 in';
- $oddoffset = '-0.5 in';
- $evenoffset = '-1.5 in';
- $topmargin = '3.5 in';
- }
- }
- } elsif($papersize eq '1') {
- if ($layout eq 'book') {
- if ($numberofcolumns == 1) {
- $textwidth = '7.1 in';
- $textheight = '13 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '3.66 in';
- $textheight = '13 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- }
- } elsif ($layout eq 'album') {
- if ($numberofcolumns eq '1') {
-# $textwidth = '8.8 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-40 pt';
-# $evenoffset = '-60 pt';
- } elsif ($numberofcolumns == 2) {
-# $textwidth = '4.4 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-0.5 in';
-# $evenoffset = '-1.5 in';
-# $topmargin = '3.5 in';
- }
- }
- } elsif($papersize eq '2') {
- if ($layout eq 'book') {
- if ($numberofcolumns == 1) {
- $textwidth = '9.8 in';
- $textheight = '16 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '4.9 in';
- $textheight = '16 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- }
- } elsif ($layout eq 'album') {
- if ($numberofcolumns eq '1') {
-# $textwidth = '8.8 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-40 pt';
-# $evenoffset = '-60 pt';
- } elsif ($numberofcolumns == 2) {
-# $textwidth = '4.4 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-0.5 in';
-# $evenoffset = '-1.5 in';
-# $topmargin = '3.5 in';
- }
- }
- } elsif($papersize eq '3') {
- if ($layout eq 'book') {
- if ($numberofcolumns == 1) {
- $textwidth = '7 in';
- $textheight = '9 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '3.5 in';
- $textheight = '9 in';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- }
- } elsif ($layout eq 'album') {
- if ($numberofcolumns eq '1') {
-# $textwidth = '8.8 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-40 pt';
-# $evenoffset = '-60 pt';
- } elsif ($numberofcolumns == 2) {
-# $textwidth = '4.4 in';
-# $textheight = '6.8 in';
-# $oddoffset = '-0.5 in';
-# $evenoffset = '-1.5 in';
-# $topmargin = '3.5 in';
- }
- }
- } elsif($papersize eq '6') {
- if ($layout eq 'book') {
- if ($numberofcolumns == 1) {
- $textwidth = '176 mm';
- $textheight = '272 mm';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '91 mm';
- $textheight = '272 mm';
- $oddoffset = '-0.57 in';
- $evenoffset = '-0.57 in';
- $topmargin = '-0.5 in';
- }
- } elsif ($layout eq 'album') {
- if ($numberofcolumns eq '1') {
- $textwidth = '8.5 in';
- $textheight = '7.7 in';
- $oddoffset = '-40 pt';
- $evenoffset = '-60 pt';
- } elsif ($numberofcolumns == 2) {
- $textwidth = '3.9 in';
- $textheight = '7.7 in';
- $oddoffset = '-40 pt';
- $evenoffset = '-60 pt';
- }
- }
-# } elsif($papersize eq '5') {
-# } elsif($papersize eq '4') {
-# } elsif($papersize eq '7') {
-# } elsif($papersize eq '8') {
- }
- return $textwidth,$textheight,$oddoffset,$evenoffset,$topmargin;
+ return @{$page_formats{$papersize}->{$layout}->{$numberofcolumns}};
}
@@ -571,16 +509,21 @@ sub page_format_transformation {
if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
my $topmargintoinsert = '';
if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';}
+ my $fancypagestatement='';
+ if ($numberofcolumns eq '2') {
+ $fancypagestatement="\\fancyhead{}\\fancyhead[LO]{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}";
+ } else {
+ $fancypagestatement="\\rhead{}\\chead{}\\lhead{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}";
+ }
if ($layout eq 'album') {
- $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}$topmargintoinsert\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}} \\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1} /;
+ $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}$topmargintoinsert\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\usepackage{fancyhdr}\\addtolength{\\headheight}{\\baselineskip}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1} /;
} elsif ($layout eq 'book') {
-
if ($choice ne 'All class print') {
- $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/;
+ $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\addtolength{\\headheight}{\\baselineskip}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/;
} else {
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1} \\vskip 5 mm /;
}
- if ($papersize eq '6') {
+ if ($papersize eq 'a4') {
$text =~ s/(\\begin{document})/$1\\special{papersize=210mm,297mm}/;
}
}
@@ -608,9 +551,11 @@ sub page_cleanup {
sub details_for_menu {
-
- my $name_of_resourse = &Apache::lonnet::gettitle($ENV{'form.postdata'});
- my $symbolic = &Apache::lonnet::symbread($ENV{'form.postdata'});
+ my ($helper)=@_;
+ my $postdata=$ENV{'form.postdata'};
+ if (!$postdata) { $postdata=$helper->{VARS}{'postdata'}; }
+ my $name_of_resource = &Apache::lonnet::gettitle($postdata);
+ my $symbolic = &Apache::lonnet::symbread($postdata);
my ($map,$id,$resource)=&Apache::lonnet::decode_symb($symbolic);
$map=&Apache::lonnet::clutter($map);
my $name_of_sequence = &Apache::lonnet::gettitle($map);
@@ -623,8 +568,7 @@ sub details_for_menu {
$ENV{'request.course.uri'} =~ m|([^/]+)$|;
$name_of_map = $1;
}
- return ($name_of_resourse,$name_of_sequence,$name_of_map);
-
+ return ($name_of_resource,$name_of_sequence,$name_of_map);
}
@@ -719,24 +663,21 @@ sub print_latex_header {
}
sub path_to_problem {
- my ($urlp,$LaTeXwidth)=@_;
+ my ($urlp,$colwidth)=@_;
my $newurlp = '';
- $LaTeXwidth=~s/\s*mm\s*$//;
- my $HowMany = length($urlp)*2;
- if ($HowMany > $LaTeXwidth) {
- my @temporrary = split '/',$urlp;
- my $HowManyNew = 0;
- for (my $ii=0;$ii<=$#temporrary;$ii++) {
- if ($temporrary[$ii] ne '') {
- $HowManyNew += length($temporrary[$ii])*2;
- if ($HowManyNew < $LaTeXwidth ) {
- $newurlp .= '/'.$temporrary[$ii];
- } else {
- $HowManyNew = 0;
- $newurlp .= '|\vskip -1 mm \noindent \verb|';
- $ii--;
- }
+ $colwidth=~s/\s*mm\s*$//;
+#characters average about 2 mm in width
+ if (length($urlp)*2 > $LaTeXwidth) {
+ my @elements = split '/',$urlp;
+ my $curlength=0;
+ foreach my $element (@elements) {
+ if ($curlength+(length($element)*2) > $colwidth) {
+ $newurlp .= '|\vskip -1 mm \noindent \verb|';
+ $curlength=0;
+ } else {
+ $curlength+=length($element)*2;
}
+ $newurlp.='/'.$element;
}
} else {
$newurlp=$urlp;
@@ -1072,7 +1013,7 @@ ENDPART
my $courseidinfo = &get_course();
if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
$prevassignment=$assignment;
- $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm ';
+ $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm ';
}
$result .= $texversion;
$flag_latex_header_remove = 'YES';
@@ -1100,6 +1041,7 @@ ENDPART
$result .= $texversion;
$flag_latex_header_remove = 'YES';
}
+ if (&Apache::loncommon::connection_aborted($r)) { last; }
}
&Apache::lonnet::delenv('form.counter');
if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}
@@ -1124,6 +1066,7 @@ ENDPART
#loop over students
my $flag_latex_header_remove = 'NO';
my %moreenv;
+ $moreenv{'instructor_comments'}='hide';
$moreenv{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);
$moreenv{'print_discussions'}=$helper->{'VARS'}->{'PRINT_DISCUSSIONS'};
if ($helper->{'VARS'}->{'PRINT_DISCUSSIONS'} eq 'yes') {$moreenv{'problem_split'}='yes';}
@@ -1142,6 +1085,7 @@ ENDPART
$student_names[$i].=$person.':'.$fullname.'_END_';
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,&mt('last student').' '.$fullname);
$flag_latex_header_remove = 'YES';
+ if (&Apache::loncommon::connection_aborted($r)) { last; }
}
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
$result .= $print_array[0].' \end{document}';
@@ -1152,20 +1096,13 @@ ENDPART
my $num_todo=$helper->{'VARS'}->{'NUMBER_TO_PRINT_TOTAL'};
my $code_name=$helper->{'VARS'}->{'ANON_CODE_STORAGE_NAME'};
my $old_name=$helper->{'VARS'}->{'REUSE_OLD_CODES'};
- my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
- my ($type) = split(/_/,$helper->{'VARS'}->{'PRINT_TYPE'});
- my $number_per_page=$helper->{'VARS'}->{'NUMBER_TO_PRINT'};
- if ($number_per_page eq '0' || $number_per_page eq 'all') {
- $number_per_page=$num_todo;
- }
- my $flag_latex_header_remove = 'NO';
my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth));
- my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$num_todo,'inline','75');
my $seed=time+($$<<16)+($$);
my @allcodes;
if ($old_name) {
my %result=&Apache::lonnet::get('CODEs',[$old_name],$cdom,$cnum);
@allcodes=split(',',$result{$old_name});
+ $num_todo=scalar(@allcodes);
} else {
my %allcodes;
srand($seed);
@@ -1179,6 +1116,14 @@ ENDPART
}
@allcodes=keys(%allcodes);
}
+ my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
+ my ($type) = split(/_/,$helper->{'VARS'}->{'PRINT_TYPE'});
+ my $number_per_page=$helper->{'VARS'}->{'NUMBER_TO_PRINT'};
+ if ($number_per_page eq '0' || $number_per_page eq 'all') {
+ $number_per_page=$num_todo;
+ }
+ my $flag_latex_header_remove = 'NO';
+ my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$num_todo,'inline','75');
my $count=0;
foreach my $code (sort(@allcodes)) {
my $file_num=int($count/$number_per_page);
@@ -1191,6 +1136,7 @@ ENDPART
&mt('last assignment').' '.$fullname);
$flag_latex_header_remove = 'YES';
$count++;
+ if (&Apache::loncommon::connection_aborted($r)) { last; }
}
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
$result .= $print_array[0].' \end{document}';
@@ -1412,10 +1358,9 @@ sub print_resources {
my $current_counter=$ENV{'form.counter'};
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
- my %form;
- $form{'answer_output_mode'}='tex';
- $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
- my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);
+ $moreenv->{'answer_output_mode'}='tex';
+ $moreenv->{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
+ my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%{$moreenv});
&Apache::lonnet::appenv(('form.counter' => $current_counter));
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
$rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;
@@ -1458,17 +1403,18 @@ sub print_resources {
}
$remove_latex_header = 'YES';
}
+ if (&Apache::loncommon::connection_aborted($r)) { last; }
}
my $courseidinfo = &get_course();
if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection}
my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');
if ($current_output=~/\\documentclass/) {
- $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}\\vskip 3 mm /;
+ $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /;
} else {
my $blankpages = '';
for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blankpages.='\clearpage\strut\clearpage';}
- $current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip -5 mm '.$current_output;
+ $current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output;
}
return ($current_output,$fullname);
@@ -1527,11 +1473,6 @@ use Data::Dumper;
sub printHelper {
my $r = shift;
- if ($ENV{'request.course.id'}) {
- my $fn=$ENV{'request.course.fn'};
- tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640);
- }
-
if ($r->header_only) {
if ($ENV{'browser.mathml'}) {
&Apache::loncommon::content_type($r,'text/xml');
@@ -1593,7 +1534,7 @@ sub printHelper {
}
- my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu;
+ my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu($helper);
if ($sequenceTitle ne '') {$helper->{VARS}->{'assignment'}=$sequenceTitle;}
@@ -1707,7 +1648,7 @@ sub printHelper {
HELPERFRAGMENT
- &Apache::lonxml::xmlparse($r, 'helper', $helperFragment);
+ &Apache::lonxml::xmlparse($r, 'helper', $helperFragment);
}
# If the user is priviledged, allow them to print all
@@ -1762,7 +1703,7 @@ CHOOSE_STUDENTS
my $cnum = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
my @names=&Apache::lonnet::getkeys('CODEs',$cdom,$cnum);
my $namechoice='';
- foreach my $name (@names) {
+ foreach my $name (sort {uc($a) cmp uc($b)} @names) {
if ($name =~ /^error: 2 /) { next; }
$namechoice.=''.$name.'';
}
@@ -2016,9 +1957,7 @@ RNDSEED
$r->print($helper->display());
- Apache::lonhelper::unregisterHelperTags();
-
- untie %hash;
+ &Apache::lonhelper::unregisterHelperTags();
return OK;
}
@@ -2059,10 +1998,10 @@ use strict;
use Apache::lonlocal;
my $maxColumns = 2;
-my @paperSize = ("Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]",
- "Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]",
- "A2 [420x594 mm]", "A3 [297x420 mm]", "A4 [210x297 mm]",
- "A5 [148x210 mm]", "A6 [105x148 mm]" );
+my @paperSize = ("letter [8 1/2x11 in]", "legal [8 1/2x14 in]",
+ "tabloid (ledger) [11x17 in]", "executive [7 1/2x10 in]",
+ "a2 [420x594 mm]", "a3 [297x420 mm]", "a4 [210x297 mm]",
+ "a5 [148x210 mm]", "a6 [105x148 mm]" );
# Tentative format: Orientation (L = Landscape, P = portrait) | Colnum |
# Paper type
@@ -2122,14 +2061,15 @@ STATEHTML
if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';}
$i = 0;
foreach (@paperSize) {
+ $_=~/(\w+)/;
+ my $papersize=$1;
if ($paperSize[$i]=~/$DefaultPaperSize/) {
- $result .= "\n";
+ $result .= "\n";
} else {
- $result .= "\n";
+ $result .= "\n";
}
$i++;
}
-
$result .= "";
return $result;
}