Diff for /loncom/interface/lonprintout.pm between versions 1.321 and 1.326

version 1.321, 2004/08/12 17:27:13 version 1.326, 2004/08/18 18:56:46
Line 375  sub character_chart { Line 375  sub character_chart {
   
 sub page_format {  sub page_format {
 #  #
 #Correspondence between $papersize variable and real paper format:  #Supported paper format: "Letter [8 1/2x11 in]",      "Legal [8 1/2x14 in]",
 # 0 - "Letter [8 1/2x11 in]"  #                        "Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]",
 # 1 - "Legal [8 1/2x14 in]"  #                        "A2 [420x594 mm]",           "A3 [297x420 mm]",
 # 2 - "Ledger/Tabloid [11x17 in]"  #                        "A4 [210x297 mm]",           "A5 [148x210 mm]",
 # 3 - "Executive [7 1/2x10 in]"  #                        "A6 [105x148 mm]"
 # 4 - "A2 [420x594 mm]"  
 # 5 - "A3 [297x420 mm]"  
 # 6 - "A4 [210x297 mm]"  
 # 7 - "A5 [148x210 mm]"  
 # 8 - "A6 [105x148 mm]"  
 #   # 
     my ($papersize,$layout,$numberofcolumns) = @_;       my ($papersize,$layout,$numberofcolumns) = @_; 
     my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0);      my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0);
     if ($papersize eq '0') {      my $page_formats={'book'=>{
  if ($layout eq 'book') {   '1'=>{'letter'=>{'width'=>'7.1 in','height'=>'10.2 in','topmargin'=>'0 in',
     if ($numberofcolumns == 1) {                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',
  $textwidth = '7.1 in';      #'18 cm';        },
  $textheight = '10.2 in';    #'25.9 cm';        'legal'=>{'width'=>'7.1 in','height'=>'13 in','topmargin'=>'-0.5 in',
  $oddoffset = '-0.57 in';                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',
  $evenoffset = '-0.57 in';        },
     } elsif ($numberofcolumns == 2) {        'tabloid'=>{'width'=>'9.8 in','height'=>'16 in','topmargin'=>'-0.5 in',
  $textwidth = '3.66 in';     #'93 mm';                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',
  $textheight = '10.2 in';    #'25.9 cm';        },
  $oddoffset = '-0.57 in';        'exacutive'=>{'width'=>'6.8 in','height'=>'9 in','topmargin'=>'1.2 in',
  $evenoffset = '-0.57 in';                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',  
     }        },
  } elsif ($layout eq 'album') {        'a2'=>{
     if ($numberofcolumns eq '1') {    
  $textwidth = '8.8 in';        },
  $textheight = '6.8 in';        'a3'=>{
  $oddoffset = '-40 pt';    
  $evenoffset = '-60 pt';        },
     } elsif ($numberofcolumns == 2) {        'a4'=>{'width'=>'176 mm','height'=>'272 mm','topmargin'=>'-0.5 in',
  $textwidth = '4.4 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
  $textheight = '6.8 in';    
  $oddoffset = '-0.5 in';        },
  $evenoffset = '-1.5 in';        'a5'=>{
  $topmargin = '3.5 in';    
     }        },
  }        'a6'=>{
     } elsif($papersize eq '1') {    
  if ($layout eq 'book') {        },
     if ($numberofcolumns == 1) {    },
  $textwidth = '7.1 in';                '2'=>{'letter'=>{'width'=>'3.66 in','height'=>'10.2 in','topmargin'=>'0 in',
  $textheight = '13 in';                    'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',
  $oddoffset = '-0.57 in';        },
  $evenoffset = '-0.57 in';        'legal'=>{'width'=>'3.16 in','height'=>'13 in','topmargin'=>'-0.5 in',
  $topmargin = '-0.5 in';                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',  
     } elsif ($numberofcolumns == 2) {        },
  $textwidth = '3.66 in';             'tabloid'=>{'width'=>'4.9 in','height'=>'16 in','topmargin'=>'-0.5 in',
  $textheight = '13 in';                    'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',
  $oddoffset = '-0.57 in';  
  $evenoffset = '-0.57 in';        },
  $topmargin = '-0.5 in';        'exacutive'=>{'width'=>'3.1 in','height'=>'9 in','topmargin'=>'1.2 in',
     }                'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in',  
  } elsif ($layout eq 'album') {        },
     if ($numberofcolumns eq '1') {        'a2'=>{
 # $textwidth = '8.8 in';    
 # $textheight = '6.8 in';        },
 # $oddoffset = '-40 pt';        'a3'=>{
 # $evenoffset = '-60 pt';    
     } elsif ($numberofcolumns == 2) {        },
 # $textwidth = '4.4 in';        'a4'=>{'width'=>'91 mm','height'=>'272 mm','topmargin'=>'-0.5 in',
 # $textheight = '6.8 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
 # $oddoffset = '-0.5 in';    
 # $evenoffset = '-1.5 in';        },
 # $topmargin = '3.5 in';        'a5'=>{
     }    
  }        },
 #    } elsif($papersize eq '2') {        'a6'=>{
 #    } elsif($papersize eq '3'/) {    
     } elsif($papersize eq '6') {        },
  if ($layout eq 'book') {  
     if ($numberofcolumns == 1) {   },
  $textwidth = '176 mm';      },'album'=>{
  $textheight = '272 mm';   '1'=>{'letter'=>{'width'=>'8.8 in','height'=>'6.8 in','topmargin'=>'0 in',
  $oddoffset = '-0.57 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
  $evenoffset = '-0.57 in';        },
  $topmargin = '-0.5 in';        'legal'=>{
     } elsif ($numberofcolumns == 2) {    
  $textwidth = '91 mm';        },
  $textheight = '272 mm';        'tabloid'=>{
  $oddoffset = '-0.57 in';  
  $evenoffset = '-0.57 in';        },
  $topmargin = '-0.5 in';        'exacutive'=>{
     }    
  } elsif ($layout eq 'album') {        },
     if ($numberofcolumns eq '1') {        'a2'=>{
  $textwidth = '8.5 in';    
  $textheight = '7.7 in';        },
  $oddoffset = '-40 pt';        'a3'=>{
  $evenoffset = '-60 pt';    
     } elsif ($numberofcolumns == 2) {        },
  $textwidth = '3.9 in';        'a4'=>{'width'=>'8.5 in','height'=>'7.7 in','topmargin'=>'0 in',
  $textheight = '7.7 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
  $oddoffset = '-40 pt';    
  $evenoffset = '-60 pt';        },
     }        'a5'=>{
  }    
 #    } elsif($papersize eq '5') {        },
 #    } elsif($papersize eq '4') {        'a6'=>{
 #    } elsif($papersize eq '7') {    
 #    } elsif($papersize eq '8') {        },
     }    },
     return $textwidth,$textheight,$oddoffset,$evenoffset,$topmargin;          '2'=>{'letter'=>{'width'=>'4.4 in','height'=>'6.8 in','topmargin'=>'3.5 in',
                 'oddsidemargin'=>'-0.5 in','evensidemargin'=>'-1.5 in',
         },
         'legal'=>{
     
         },
         'tabloid'=>{
   
         },
         'exacutive'=>{
     
         },
         'a2'=>{
     
         },
         'a3'=>{
     
         },
         'a4'=>{'width'=>'3.9 in','height'=>'7.7 in','topmargin'=>'0 in',
                 'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
     
         },
         'a5'=>{
     
         },
         'a6'=>{
     
         },
   
        },
      },
       };    
       return $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'width'},
              $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'height'},
              $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'oddmargin'},
              $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'evensidemargin'},
              $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'topmargin'};
 }  }
   
   
Line 515  sub page_format_transformation { Line 546  sub page_format_transformation {
     if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }      if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
     my $topmargintoinsert = '';      my $topmargintoinsert = '';
     if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';}      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') {      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}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1} /;
     } elsif ($layout eq 'book') {      } elsif ($layout eq 'book') {
   
  if ($choice ne 'All class print') {    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}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/;
  } else {   } 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 /;      $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}/;      $text =~ s/(\\begin{document})/$1\\special{papersize=210mm,297mm}/;
  }   }
     }      }
Line 1284  ENDPART Line 1320  ENDPART
  }   }
     }      }
   
       &Apache::lonnet::logthis("SSSSSSS: $filename,$laystyle,$papersize,$numberofcolumns,$selectionmade,$helper->{'VARS'}->{'TABLE_CONTENTS'},$helper->{'VARS'}->{'TABLE_INDEX'},$ENV{'request.role.adv'},$#print_array,$student_names,$URLback");
   
   
     &Apache::lonnet::appenv('cgi.'.$identifier.'.file'   => $filename,      &Apache::lonnet::appenv('cgi.'.$identifier.'.file'   => $filename,
                             'cgi.'.$identifier.'.layout'  => $laystyle,                              'cgi.'.$identifier.'.layout'  => $laystyle,
                             'cgi.'.$identifier.'.numcol'  => $numberofcolumns,                              'cgi.'.$identifier.'.numcol'  => $numberofcolumns,
Line 1651  sub printHelper { Line 1690  sub printHelper {
     </state>      </state>
 HELPERFRAGMENT  HELPERFRAGMENT
   
         &Apache::lonxml::xmlparse($r, 'helper', $helperFragment);    &Apache::lonxml::xmlparse($r, 'helper', $helperFragment);
     }      }
   
     # If the user is priviledged, allow them to print all       # If the user is priviledged, allow them to print all 
Line 2003  use strict; Line 2042  use strict;
 use Apache::lonlocal;  use Apache::lonlocal;
   
 my $maxColumns = 2;  my $maxColumns = 2;
 my @paperSize = ("Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]",   my @paperSize = ("letter [8 1/2x11 in]", "legal [8 1/2x14 in]", 
                  "Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]",                   "tabloid (ladger) [11x17 in]", "executive [7 1/2x10 in]",
                  "A2 [420x594 mm]", "A3 [297x420 mm]", "A4 [210x297 mm]",                    "a2 [420x594 mm]", "a3 [297x420 mm]", "a4 [210x297 mm]", 
                  "A5 [148x210 mm]", "A6 [105x148 mm]" );                   "a5 [148x210 mm]", "a6 [105x148 mm]" );
   
 # Tentative format: Orientation (L = Landscape, P = portrait) | Colnum |  # Tentative format: Orientation (L = Landscape, P = portrait) | Colnum |
 #                   Paper type  #                   Paper type
Line 2066  STATEHTML Line 2105  STATEHTML
     if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';}      if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';}
     $i = 0;      $i = 0;
     foreach (@paperSize) {      foreach (@paperSize) {
    $_=~/(\w+)/;
    my $papersize=$1;
         if ($paperSize[$i]=~/$DefaultPaperSize/) {          if ($paperSize[$i]=~/$DefaultPaperSize/) {
             $result .= "<option selected value='$i'>" . $paperSize[$i] . "</option>\n";              $result .= "<option selected value='$papersize'>" . $paperSize[$i] . "</option>\n";
         } else {          } else {
             $result .= "<option value='$i'>" . $paperSize[$i] . "</option>\n";              $result .= "<option value='$papersize'>" . $paperSize[$i] . "</option>\n";
         }          }
         $i++;          $i++;
     }      }
   
     $result .= "</select></td></tr></table>";      $result .= "</select></td></tr></table>";
     return $result;      return $result;
 }  }

Removed from v.1.321  
changed lines
  Added in v.1.326


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>