Diff for /loncom/interface/lonprintout.pm between versions 1.536.2.1 and 1.545.2.5

version 1.536.2.1, 2008/09/21 21:25:21 version 1.545.2.5, 2009/09/10 23:36:03
Line 37  use Apache::grades; Line 37  use Apache::grades;
 use Apache::edit;  use Apache::edit;
 use Apache::File();  use Apache::File();
 use Apache::lonnavmaps;  use Apache::lonnavmaps;
 use Apache::admannotations;  
 use Apache::lonenc;  use Apache::lonenc;
 use Apache::entities;  use Apache::entities;
   
Line 97  sub fetch_raw_resource { Line 96  sub fetch_raw_resource {
 sub annotate {  sub annotate {
     my ($symb) = @_;      my ($symb) = @_;
   
     my $annotation_text = &Apache::admannotations::get_annotation($symb, 1);      my $annotation_text = &Apache::loncommon::get_annotation($symb, 1);
   
   
     my $result = "";      my $result = "";
   
Line 248  sub format_page_header { Line 246  sub format_page_header {
  # - Allow the assignment to be 2 lines (wrapped).   # - Allow the assignment to be 2 lines (wrapped).
  #   #
  my $chars_per_line = $width/2; # Character/textline.   my $chars_per_line = $width/2; # Character/textline.
   
   
  my $firstline = "$student $course";  
  if (length($firstline) > $chars_per_line) {  
     my $lastchar = $chars_per_line - length($student) - 1;  
     if ($lastchar > 0) {  
  $course = substr($course, 0, $lastchar);  
     } else { # Nothing left of course:  
  $course = '';  
     }  
  }  
  if (length($assignment) > $chars_per_line) {  
     $assignment = substr($assignment, 0, $chars_per_line);  
  }  
   
  $format =  "\\textbf{$student} $course \\hfill \\thepage \\\\ \\textit{$assignment}";          my $firstline = "$student $course";
           if (length($firstline) > $chars_per_line) {
     } else {              my $lastchar = $chars_per_line - length($student) - 1;
  # An open question is how to handle long user formatted page headers...              if ($lastchar > 0) {
  # A possible future is to support e.g. %na so that the user can control                  $course = substr($course, 0, $lastchar);
  # the truncation of the elements that can appear in the header.              } else {            # Nothing left of course:
  #                  $course = '';
  $format =  &printf_style_subst("a", $format, $assignment);              }
  $format =  &printf_style_subst("c", $format, $course);          }
  $format =  &printf_style_subst("n", $format, $student);          if (length($assignment) > $chars_per_line) {
               $assignment = substr($assignment, 0, $chars_per_line);
  # If the user put %'s in the format string, they  must be escaped          }
  # to \% else LaTeX will think they are comments and terminate  
  # the line.. which is bad!!!  
   
           $format =  "\\textbf{$student} $course \\hfill \\thepage \\\\ \\textit{$assignment}";
   
       } else {
           # An open question is how to handle long user formatted page headers...
           # A possible future is to support e.g. %na so that the user can control
           # the truncation of the elements that can appear in the header.
           #
           $format =  &printf_style_subst("a", $format, $assignment);
           $format =  &printf_style_subst("c", $format, $course);
           $format =  &printf_style_subst("n", $format, $student);
   
           # If the user put %'s in the format string, they  must be escaped
           # to \% else LaTeX will think they are comments and terminate
           # the line.. which is bad!!!
       }
       
       # If the user has role author, $course and $assignment are empty so
       # there is '\\ \\ ' in the page header. That's cause a error in LaTeX
       if($format =~ /\\\\\s\\\\\s/) {
           #TODO find sensible caption for page header
           my $testPrintout = '\\\\'.&mt('Construction Space').' \\\\'.&mt('Test-Printout ');
           $format =~ s/\\\\\s\\\\\s/$testPrintout/;
     }      }
           
   
Line 385  sub is_valid_alpha_code { Line 388  sub is_valid_alpha_code {
 sub is_code_valid {  sub is_code_valid {
     my ($code_value, $code_option) = @_;      my ($code_value, $code_option) = @_;
     my ($code_type, $code_length) = ('letter', 6); # defaults.      my ($code_type, $code_length) = ('letter', 6); # defaults.
     open(FG, $Apache::lonnet::perlvar{'lonTabDir'}.'/scantronformat.tab');      my @lines = &Apache::grades::get_scantronformat_file();
     foreach my $line (<FG>) {      foreach my $line (@lines) {
  my ($name, $type, $length) = (split(/:/, $line))[0,2,4];   my ($name, $type, $length) = (split(/:/, $line))[0,2,4];
  if($name eq $code_option) {   if($name eq $code_option) {
     $code_length = $length;      $code_length = $length;
Line 1152  sub print_latex_header { Line 1155  sub print_latex_header {
      '\usepackage{wrapfig}'.       '\usepackage{wrapfig}'.
      '\usepackage{picins}\usepackage{calc}'."\n".       '\usepackage{picins}\usepackage{calc}'."\n".
      '\usepackage[T1]{fontenc}'."\n".       '\usepackage[T1]{fontenc}'."\n".
                '\usepackage{lmodern}'."\n".
      '\usepackage[postscript]{ucs}'."\n".       '\usepackage[postscript]{ucs}'."\n".
      '\usepackage[utf8x]{inputenc}'."\n".       '\usepackage[utf8x]{inputenc}'."\n".
      '\usepackage{pifont}'  . "\n".       '\usepackage{pifont}'  . "\n".
Line 1272  sub recently_generated { Line 1276  sub recently_generated {
     $cuid,$cgid,$crdev,$csize,      $cuid,$cgid,$crdev,$csize,
     $catime,$cmtime,$cctime,      $catime,$cmtime,$cctime,
     $cblksize,$cblocks)=stat($prtspool.'/'.$filename);      $cblksize,$cblocks)=stat($prtspool.'/'.$filename);
  my $result="<a href='/prtspool/$filename'>".          my $ext_text = 'pdf' ? &mt('PDF File'):&mt('Zip File');
     &mt('Generated [_1] ([_2] bytes)',   my $result=&Apache::loncommon::start_data_table_row()
  &Apache::lonlocal::locallocaltime($cctime),$csize).                    .'<td>'
  '</a><br />';                    .'<a href="/prtspool/'.$filename.'">'.$ext_text.'</a>'
                     .'</td>'
                     .'<td>'.&Apache::lonlocal::locallocaltime($cctime).'</td>'
                     .'<td align="right">'.$csize.'</td>'
                     .&Apache::loncommon::end_data_table_row();
  if ($ext eq 'pdf') { $pdf_result .= $result; }   if ($ext eq 'pdf') { $pdf_result .= $result; }
  if ($ext eq 'zip') { $zip_result .= $result; }   if ($ext eq 'zip') { $zip_result .= $result; }
     }      }
       if ($zip_result || $pdf_result) {
           $r->print('<hr />');
       }
     if ($zip_result) {      if ($zip_result) {
  $r->print('<h4>'.&mt('Recently generated printout zip files')."</h4>\n"   $r->print('<h3>'.&mt('Recently generated printout zip files')."</h3>\n"
   .$zip_result);                    .&Apache::loncommon::start_data_table()
                     .&Apache::loncommon::start_data_table_header_row()
                     .'<th>'.&mt('Download').'</th>'
                     .'<th>'.&mt('Creation Date').'</th>'
                     .'<th>'.&mt('File Size (Bytes)').'</th>'
                     .&Apache::loncommon::end_data_table_header_row()
                     .$zip_result
                     .&Apache::loncommon::end_data_table()
           );
     }      }
     if ($pdf_result) {      if ($pdf_result) {
  $r->print('<h4>'.&mt('Recently generated printouts')."</h4>\n"   $r->print('<h3>'.&mt('Recently generated printouts')."</h3>\n"
   .$pdf_result);                    .&Apache::loncommon::start_data_table()
                     .&Apache::loncommon::start_data_table_header_row()
                     .'<th>'.&mt('Download').'</th>'
                     .'<th>'.&mt('Creation Date').'</th>'
                     .'<th>'.&mt('File Size (Bytes)').'</th>'
                     .&Apache::loncommon::end_data_table_header_row()
                     .$pdf_result
                     .&Apache::loncommon::end_data_table()
           );
     }      }
 }  }
   
Line 1510  ENDPART Line 1537  ENDPART
  &Apache::lonnet::appenv({'construct.style' =>   &Apache::lonnet::appenv({'construct.style' =>
  $helper->{'VARS'}->{'style_file'}});   $helper->{'VARS'}->{'style_file'}});
     } elsif ($env{'construct.style'}) {      } elsif ($env{'construct.style'}) {
  &Apache::lonnet::delenv('construct\\.style');   &Apache::lonnet::delenv('construct.style');
     }      }
   
   
Line 1934  ENDPART Line 1961  ENDPART
  my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'};   my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'};
   
  my $code_option=$helper->{'VARS'}->{'CODE_OPTION'};   my $code_option=$helper->{'VARS'}->{'CODE_OPTION'};
  open(FH,$Apache::lonnet::perlvar{'lonTabDir'}.'/scantronformat.tab');           my @lines = &Apache::grades::get_scantronformat_file();
  my ($code_type,$code_length)=('letter',6);   my ($code_type,$code_length)=('letter',6);
  foreach my $line (<FH>) {   foreach my $line (@lines) {
      my ($name,$type,$length) = (split(/:/,$line))[0,2,4];       my ($name,$type,$length) = (split(/:/,$line))[0,2,4];
      if ($name eq $code_option) {       if ($name eq $code_option) {
  $code_length=$length;   $code_length=$length;
Line 2457  sub get_randomly_ordered_warning { Line 2484  sub get_randomly_ordered_warning {
   
     my $postdata = $env{'form.postdata'} || $helper->{VARS}{'postdata'};      my $postdata = $env{'form.postdata'} || $helper->{VARS}{'postdata'};
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();
     my $res = $navmap->getResourceByUrl($map);      if (defined($navmap)) {
     if ($res) {          my $res = $navmap->getResourceByUrl($map);
  my $func =           if ($res) {
     sub { return ($_[0]->is_map() && $_[0]->randomorder); };      my $func = 
  my @matches = $navmap->retrieveResources($res, $func,1,1,1);          sub { return ($_[0]->is_map() && $_[0]->randomorder); };
  if (@matches) {      my @matches = $navmap->retrieveResources($res, $func,1,1,1);
     $message = "Some of the items below are in folders set to be randomly ordered. However, when printing the contents of these folders, they will be printed in the original order for all students, not the randomized order.";      if (@matches) {
  }          $message = "Some of the items below are in folders set to be randomly ordered. However, when printing the contents of these folders, they will be printed in the original order for all students, not the randomized order.";
     }      }
     if ($message) {          }
  return '<message type="warning">'.$message.'</message>';          if ($message) {
       return '<message type="warning">'.$message.'</message>';
           }
       } else {
           &Apache::lonnet::logthis('Retrieval of resources to check for folders set to be randomly ordered failed - could not create navmap object');
           $message = "Retrieval of information about ordering of resources failed."; 
           return '<message type="warning">'.$message.'</message>';
     }      }
     return;      return;
 }  }
Line 2854  CHOOSE_STUDENTS Line 2887  CHOOSE_STUDENTS
   
  }   }
   
           my @lines = &Apache::grades::get_scantronformat_file();
  open(FH,$Apache::lonnet::perlvar{'lonTabDir'}.'/scantronformat.tab');  
  my $codechoice='';   my $codechoice='';
  foreach my $line (<FH>) {   foreach my $line (@lines) {
     my ($name,$description,$code_type,$code_length)=      my ($name,$description,$code_type,$code_length)=
  (split(/:/,$line))[0,1,2,4];   (split(/:/,$line))[0,1,2,4];
     if ($code_length > 0 &&       if ($code_length > 0 && 
Line 3122  CHOOSE_FROM_ANY_SEQUENCE Line 3154  CHOOSE_FROM_ANY_SEQUENCE
   
     if (($perm{'pav'} and &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) or       if (($perm{'pav'} and &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) or 
  ($helper->{VARS}->{'construction'} eq '1')) {   ($helper->{VARS}->{'construction'} eq '1')) {
  addMessage("<hr width='33%' /><table><tr><td align='right'>".   &addMessage('<br />'
                    '<label for="ANSWER_TYPE_forminput">'.                     .'<h3>'.&mt('Print Options').'</h3>'
                    &mt('Print').                     .&Apache::lonhtmlcommon::start_pick_box()
                    "</label>: </td><td>");  #                  .&Apache::lonhtmlcommon::row_headline()
   #                  .'<h3>'.&mt('Print Options').'</h3>'
   #                  .&Apache::lonhtmlcommon::row_closure()
                      .&Apache::lonhtmlcommon::row_title(
                          '<label for="ANSWER_TYPE_forminput">'
                         .&mt('Print Answers')
                         .'</label>'
                       )
           );
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'ANSWER_TYPE';      $paramHash->{'variable'} = 'ANSWER_TYPE';   
  $helper->declareVar('ANSWER_TYPE');            $helper->declareVar('ANSWER_TYPE');         
Line 3135  CHOOSE_FROM_ANY_SEQUENCE Line 3175  CHOOSE_FROM_ANY_SEQUENCE
                                    ['Only Answers', 'only']                                     ['Only Answers', 'only']
                                 ];                                  ];
         Apache::lonhelper::dropdown->new();          Apache::lonhelper::dropdown->new();
  addMessage("</td></tr>");   &addMessage(&Apache::lonhtmlcommon::row_closure());
  $startedTable = 1;   $startedTable = 1;
     }      }
   
Line 3147  CHOOSE_FROM_ANY_SEQUENCE Line 3187  CHOOSE_FROM_ANY_SEQUENCE
                        "</label>: </td><td>");                         "</label>: </td><td>");
     $startedTable = 1;      $startedTable = 1;
  } else {   } else {
     addMessage("<tr><td align='right'>".      &addMessage(&Apache::lonhtmlcommon::row_title(
                        '<label for="LATEX_TYPE_forminput">'.                             '<label for="LATEX_TYPE_forminput">'
                         &mt('LaTeX mode').                             .&mt('LaTeX mode')
                        "</label>: </td><td>");                             .'</label>'
                           )
               );
  }   }
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'LATEX_TYPE';      $paramHash->{'variable'} = 'LATEX_TYPE';   
Line 3166  CHOOSE_FROM_ANY_SEQUENCE Line 3208  CHOOSE_FROM_ANY_SEQUENCE
  }   }
         Apache::lonhelper::dropdown->new();          Apache::lonhelper::dropdown->new();
     
  addMessage("</td></tr><tr><td align='right'>".   &addMessage(&Apache::lonhtmlcommon::row_closure()
                    '<label for="TABLE_CONTENTS_forminput">'.                     .&Apache::lonhtmlcommon::row_title(
                    &mt('Print Table of Contents').                          '<label for="TABLE_CONTENTS_forminput">'
                    "</label>: </td><td>");                         .&mt('Print Table of Contents')
                          .'</label>'
                       )
           );
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'TABLE_CONTENTS';      $paramHash->{'variable'} = 'TABLE_CONTENTS';   
  $helper->declareVar('TABLE_CONTENTS');            $helper->declareVar('TABLE_CONTENTS');         
Line 3177  CHOOSE_FROM_ANY_SEQUENCE Line 3222  CHOOSE_FROM_ANY_SEQUENCE
                                    ['No', 'no'],                                     ['No', 'no'],
                                    ['Yes', 'yes'] ];                                     ['Yes', 'yes'] ];
         Apache::lonhelper::dropdown->new();          Apache::lonhelper::dropdown->new();
  addMessage("</td></tr>");   &addMessage(&Apache::lonhtmlcommon::row_closure());
                   
  if (not $helper->{VARS}->{'construction'}) {   if (not $helper->{VARS}->{'construction'}) {
     addMessage("<tr><td align='right'>".      &addMessage(&Apache::lonhtmlcommon::row_title(
                        '<label for="TABLE_INDEX_forminput">'.                              '<label for="TABLE_INDEX_forminput">'
                        &mt('Print Index').                             .&mt('Print Index')
                        "</label>: </td><td>");                             .'</label>'
                           )
               );
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'variable'} = 'TABLE_INDEX';         $paramHash->{'variable'} = 'TABLE_INDEX';   
     $helper->declareVar('TABLE_INDEX');               $helper->declareVar('TABLE_INDEX');         
Line 3191  CHOOSE_FROM_ANY_SEQUENCE Line 3238  CHOOSE_FROM_ANY_SEQUENCE
      ['No', 'no'],       ['No', 'no'],
      ['Yes', 'yes'] ];       ['Yes', 'yes'] ];
     Apache::lonhelper::dropdown->new();      Apache::lonhelper::dropdown->new();
     addMessage("</td></tr>");              &addMessage(&Apache::lonhtmlcommon::row_closure());
     addMessage("<tr><td align='right'>".              &addMessage(&Apache::lonhtmlcommon::row_title(
                        '<label for="PRINT_DISCUSSIONS_forminput">'.                              '<label for="PRINT_DISCUSSIONS_forminput">'
                        &mt('Print Discussions').                             .&mt('Print Discussions')
                        "</label>: </td><td>");                             .'</label>'
                           )
               );
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'variable'} = 'PRINT_DISCUSSIONS';         $paramHash->{'variable'} = 'PRINT_DISCUSSIONS';   
     $helper->declareVar('PRINT_DISCUSSIONS');               $helper->declareVar('PRINT_DISCUSSIONS');         
Line 3203  CHOOSE_FROM_ANY_SEQUENCE Line 3252  CHOOSE_FROM_ANY_SEQUENCE
      ['No', 'no'],       ['No', 'no'],
      ['Yes', 'yes'] ];       ['Yes', 'yes'] ];
     Apache::lonhelper::dropdown->new();      Apache::lonhelper::dropdown->new();
     addMessage("</td></tr>");              &addMessage(&Apache::lonhtmlcommon::row_closure());
   
     # Prompt for printing annotations too.      # Prompt for printing annotations too.
   
     addMessage("<tr><td align='right'>".      &addMessage(&Apache::lonhtmlcommon::row_title(
        '<label for="PRINT_ANNOTATIONS_forminput">'.                              '<label for="PRINT_ANNOTATIONS_forminput">'
        &mt('Print Annotations').                             .&mt('Print Annotations')
        "</label>:</td><td>");                             .'</label>'
                           )
               );
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'variable'} = "PRINT_ANNOTATIONS";      $paramHash->{'variable'} = "PRINT_ANNOTATIONS";
     $helper->declareVar("PRINT_ANNOTATIONS");      $helper->declareVar("PRINT_ANNOTATIONS");
Line 3218  CHOOSE_FROM_ANY_SEQUENCE Line 3269  CHOOSE_FROM_ANY_SEQUENCE
      ['No', 'no'],       ['No', 'no'],
      ['Yes', 'yes']];       ['Yes', 'yes']];
     Apache::lonhelper::dropdown->new();      Apache::lonhelper::dropdown->new();
     addMessage("</td></tr>");              &addMessage(&Apache::lonhtmlcommon::row_closure());
   
     addMessage("<tr><td align = 'right'>  </td><td>");              &addMessage(&Apache::lonhtmlcommon::row_title(&mt('Foils')));
     $paramHash = Apache::lonhelper::getParamHash();      $paramHash = Apache::lonhelper::getParamHash();
     $paramHash->{'multichoice'} = "true";      $paramHash->{'multichoice'} = "true";
     $paramHash->{'allowempty'}  = "true";      $paramHash->{'allowempty'}  = "true";
     $paramHash->{'variable'}   = "showallfoils";      $paramHash->{'variable'}   = "showallfoils";
     $paramHash->{'CHOICES'} = [ ["Show all foils", "1"] ];      $paramHash->{'CHOICES'} = [ ["Show all foils", "1"] ];
     Apache::lonhelper::choices->new();      Apache::lonhelper::choices->new();
     addMessage("</td></tr>");              &addMessage(&Apache::lonhtmlcommon::row_closure(1));
  }   }
   
  if ($helper->{'VARS'}->{'construction'}) {    if ($helper->{'VARS'}->{'construction'}) { 
Line 3236  CHOOSE_FROM_ANY_SEQUENCE Line 3287  CHOOSE_FROM_ANY_SEQUENCE
             my $stylefiletext=&mt("Use style file");              my $stylefiletext=&mt("Use style file");
             my $selectfiletext=&mt("Select style file");              my $selectfiletext=&mt("Select style file");
   
     my $xmlfrag .= <<"RNDSEED";      my $xmlfrag .= '<message>'
     <message><tr><td align='right'>              .&Apache::lonhtmlcommon::row_title('<label for="curseed_forminput">'
             <label for="curseed_forminput">$randseedtext</label>:                                                .$randseedtext
             </td><td></message>                                                .'</label>'
     <string variable="curseed" size="15" maxlength="15">               )
  <defaultvalue>              .'</message>
             return $helper->{VARS}->{'curseed'};              <string variable="curseed" size="15" maxlength="15">
         </defaultvalue>                  <defaultvalue>
     </string>                     return '.$helper->{VARS}->{'curseed'}.';
      <message></td></tr><tr><td align="right">                  </defaultvalue>'
              <label for="style_file">$stylefiletext</label>:              .'</string>'
              </td><td></message>              .'<message>'
               .&Apache::lonhtmlcommon::row_closure()
               .&Apache::lonhtmlcommon::row_title('<label for="style_file">'
                                                 .$stylefiletext
                                                 .'</label>'
                )
               .'</message>
              <string variable="style_file" size="40">               <string variable="style_file" size="40">
  <defaultvalue>                  <defaultvalue>
             return $stylevalue;                      return '.$stylevalue.';
         </defaultvalue>                  </defaultvalue>
              </string><message>&nbsp; <a href="javascript:openbrowser('helpform','style_file_forminput','sty')">$selectfiletext</a> </td></tr><tr><td></td><td align="left"></message>               </string><message>&nbsp;'
   .qq|<a href="javascript:openbrowser('helpform','style_file_forminput','sty')">|
   .$selectfiletext.'</a>'
               .&Apache::lonhtmlcommon::row_closure()
               .&Apache::lonhtmlcommon::row_title(&mt('Show all foils'))
               .'</message>
      <choices allowempty="1" multichoice="true" variable="showallfoils">       <choices allowempty="1" multichoice="true" variable="showallfoils">
                 <choice computer="1">Show all foils</choice>                  <choice computer="1">&nbsp;</choice>
              </choices>               </choices>'
      <message></td></tr></message>      .'<message>'
 RNDSEED              .&Apache::lonhtmlcommon::row_closure()
               .'</message>';
             &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);              &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);
   
   
     addMessage("<tr><td>Problem Type:</td><td>");              &addMessage(&Apache::lonhtmlcommon::row_title(&mt('Problem Type')));
     #      #
     # Initial value from construction space:      # Initial value from construction space:
     #      #
Line 3280  RNDSEED Line 3343  RNDSEED
 PROBTYPE  PROBTYPE
             &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);              &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);
           
     addMessage("</td></tr>");               &addMessage(&Apache::lonhtmlcommon::row_closure(1));
   
  }           }
     }      }
   
   
   
   
     if ($startedTable) {      if ($startedTable) {
  addMessage("</table>");          &addMessage(&Apache::lonhtmlcommon::end_pick_box());
     }      }
   
     Apache::lonprintout::page_format_state->new("FORMAT");      Apache::lonprintout::page_format_state->new("FORMAT");
Line 3388  sub render { Line 3451  sub render {
     my $PaperType=&mt('Paper type');      my $PaperType=&mt('Paper type');
     my $landscape=&mt('Landscape');      my $landscape=&mt('Landscape');
     my $portrait=&mt('Portrait');      my $portrait=&mt('Portrait');
     $result .= <<STATEHTML;      $result.='<h3>'.&mt('Layout Options').'</h3>'
               .&Apache::loncommon::start_data_table()
               .&Apache::loncommon::start_data_table_header_row()
               .'<th>'.$PageLayout.'</th>'
               .'<th>'.$NumberOfColumns.'</th>'
               .'<th>'.$PaperType.'</th>'
               .&Apache::loncommon::end_data_table_header_row()
               .&Apache::loncommon::start_data_table_row()
       .'<td>'
       .'<label><input type="radio" name="'.${var}.'.layout" value="L" />'.$landscape.'</label><br />'
       .'<label><input type="radio" name="'.${var}.'.layout" value="P" checked="checked" />'.$portrait.'</label>'
       .'</td>';
   
 <hr width="33%" />      $result.='<td align="center">'
 <table cellpadding="3">              .'<select name="'.${var}.'.cols">';
   <tr>  
     <td align="center"><b>$PageLayout</b></td>  
     <td align="center"><b>$NumberOfColumns</b></td>  
     <td align="center"><b>$PaperType</b></td>  
   </tr>  
   <tr>  
     <td>  
       <label><input type="radio" name="${var}.layout" value="L" /> $landscape </label><br />  
       <label><input type="radio" name="${var}.layout" value="P" checked='1'  /> $portrait </label>  
     </td>  
     <td align="center">  
       <select name="${var}.cols">  
 STATEHTML  
   
     my $i;      my $i;
     for ($i = 1; $i <= $maxColumns; $i++) {      for ($i = 1; $i <= $maxColumns; $i++) {
Line 3433  STATEHTML Line 3494  STATEHTML
         }          }
         $i++;          $i++;
     }      }
     $result .= "</select></td></tr></table>";      $result .= <<HTML;
           </select>
       </td>
   HTML
       $result.=&Apache::loncommon::end_data_table_row()
               .&Apache::loncommon::end_data_table();
   
     return $result;      return $result;
 }  }
   

Removed from v.1.536.2.1  
changed lines
  Added in v.1.545.2.5


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