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

version 1.325, 2004/08/16 17:11:10 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'=>{
  if ($layout eq 'book') {    
     if ($numberofcolumns == 1) {        },
  $textwidth = '9.8 in';        
  $textheight = '16 in';       },
  $oddoffset = '-0.57 in';      },'album'=>{
  $evenoffset = '-0.57 in';   '1'=>{'letter'=>{'width'=>'8.8 in','height'=>'6.8 in','topmargin'=>'0 in',
  $topmargin = '-0.5 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
     } elsif ($numberofcolumns == 2) {        },
  $textwidth = '4.9 in';             'legal'=>{
  $textheight = '16 in';        
  $oddoffset = '-0.57 in';        },
  $evenoffset = '-0.57 in';        'tabloid'=>{
  $topmargin = '-0.5 in';  
     }        },
  } elsif ($layout eq 'album') {        'exacutive'=>{
     if ($numberofcolumns eq '1') {    
 # $textwidth = '8.8 in';        },
 # $textheight = '6.8 in';        'a2'=>{
 # $oddoffset = '-40 pt';    
 # $evenoffset = '-60 pt';        },
     } elsif ($numberofcolumns == 2) {        'a3'=>{
 # $textwidth = '4.4 in';    
 # $textheight = '6.8 in';        },
 # $oddoffset = '-0.5 in';        'a4'=>{'width'=>'8.5 in','height'=>'7.7 in','topmargin'=>'0 in',
 # $evenoffset = '-1.5 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
 # $topmargin = '3.5 in';    
     }        },
  }        'a5'=>{
     } elsif($papersize eq '3') {    
  if ($layout eq 'book') {        },
     if ($numberofcolumns == 1) {        'a6'=>{
  $textwidth = '6.8 in';          
  $textheight = '9 in';            },
  $oddoffset = '-0.57 in';    },
  $evenoffset = '-0.57 in';          '2'=>{'letter'=>{'width'=>'4.4 in','height'=>'6.8 in','topmargin'=>'3.5 in',
  $topmargin = '1.2 in';                'oddsidemargin'=>'-0.5 in','evensidemargin'=>'-1.5 in',
     } elsif ($numberofcolumns == 2) {        },
  $textwidth = '3.1 in';             'legal'=>{
  $textheight = '9 in';        
  $oddoffset = '-0.57 in';        },
  $evenoffset = '-0.57 in';        'tabloid'=>{
  $topmargin = '1.2 in';  
     }        },
  } elsif ($layout eq 'album') {        'exacutive'=>{
     if ($numberofcolumns eq '1') {    
 # $textwidth = '8.8 in';        },
 # $textheight = '6.8 in';        'a2'=>{
 # $oddoffset = '-40 pt';    
 # $evenoffset = '-60 pt';        },
     } elsif ($numberofcolumns == 2) {        'a3'=>{
 # $textwidth = '4.4 in';    
 # $textheight = '6.8 in';        },
 # $oddoffset = '-0.5 in';        'a4'=>{'width'=>'3.9 in','height'=>'7.7 in','topmargin'=>'0 in',
 # $evenoffset = '-1.5 in';                'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt',
 # $topmargin = '3.5 in';    
     }        },
  }        'a5'=>{
     } elsif($papersize eq '6') {    
  if ($layout eq 'book') {        },
     if ($numberofcolumns == 1) {        'a6'=>{
  $textwidth = '176 mm';    
  $textheight = '272 mm';        },
  $oddoffset = '-0.57 in';  
  $evenoffset = '-0.57 in';       },
  $topmargin = '-0.5 in';     },
     } elsif ($numberofcolumns == 2) {      };    
  $textwidth = '91 mm';      return $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'width'},
  $textheight = '272 mm';             $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'height'},
  $oddoffset = '-0.57 in';             $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'oddmargin'},
  $evenoffset = '-0.57 in';             $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'evensidemargin'},
  $topmargin = '-0.5 in';             $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'topmargin'};
     }  
  } 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 '4') {  
 #    } elsif($papersize eq '5') {  
 #    } elsif($papersize eq '7') {  
 #    } elsif($papersize eq '8') {  
     }  
     return $textwidth,$textheight,$oddoffset,$evenoffset,$topmargin;  
 }  }
   
   
Line 585  sub page_format_transformation { Line 560  sub page_format_transformation {
  } 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 1345  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 1712  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 2064  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 2127  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.325  
changed lines
  Added in v.1.326


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