Diff for /loncom/interface/lonprintout.pm between versions 1.627.2.8 and 1.635

version 1.627.2.8, 2013/08/28 14:31:54 version 1.635, 2013/07/24 18:21:39
Line 738  sub master_seq_to_person_seq { Line 738  sub master_seq_to_person_seq {
     }      }
           
     my $navmap           = Apache::lonnavmaps::navmap->new($username, $userdomain,      my $navmap           = Apache::lonnavmaps::navmap->new($username, $userdomain,
                                                            $code,$unhidden);                                                             $code, $unhidden);
     my ($start,$finish);      my ($start,$finish);
   
     if ($map) {      if ($map) {
Line 758  sub master_seq_to_person_seq { Line 758  sub master_seq_to_person_seq {
     #  Iterate on the resource..select the items that are randomly selected      #  Iterate on the resource..select the items that are randomly selected
     #  and that are in the seq_has.  Presumably the iterator will take care      #  and that are in the seq_has.  Presumably the iterator will take care
     # of the random ordering part of the deal.      # of the random ordering part of the deal.
       #
     my $curres;      my $curres;
     while ($curres = $iterator->next()) {      while ($curres = $iterator->next()) {
  #   #
  #  Only process resources..that are not removed by randomout...   #  Only process resources..that are not removed by randomout...
  #  and are selected for printint as well.   #  and are selected for printint as well.
  #   #
   
         if (ref($curres) && ! $curres->randomout()) {          if (ref($curres) && ! $curres->randomout()) {
             my $currsymb = $curres->symb();              my $currsymb = $curres->symb();
             if (exists($seq_hash{$currsymb})) {              if (exists($seq_hash{$currsymb})) {
Line 1051  sub printf_style_subst { Line 1051  sub printf_style_subst {
 #     %s    - The section if it is supplied.  #     %s    - The section if it is supplied.
 #  #
 sub format_page_header {  sub format_page_header {
     my ($width, $format, $assignment, $course, $student) = @_;      my ($width, $format, $assignment, $course, $student, $section) = @_;
   
   
   
     $width = &recalcto_mm($width); # Get width in mm.      $width = &recalcto_mm($width); # Get width in mm.
     my $chars_per_line = int($width/2);   # Character/textline.      my $chars_per_line = int($width/1.6);   # Character/textline.
   
     #  Default format?      #  Default format?
   
Line 1072  sub format_page_header { Line 1072  sub format_page_header {
  # - Allow the assignment to be 2 lines (wrapped).   # - Allow the assignment to be 2 lines (wrapped).
  #   #
   
         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 $name_length    = int($chars_per_line *3 /4);
    my $sec_length     = int($chars_per_line / 5);
   
     } else {   $format  = "%$name_length".'n';
         # 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 ($section) {
       $format .=  ' - Sec: '."%$sec_length".'s';
    }
   
     return $format;   $format .= '\\\\%c \\\\ %a';
           
   
       }
       # 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);
       $format =  &printf_style_subst("s", $format, $section);
       
       
       # 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      # 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      # there is '\\ \\ ' in the page header. That's cause a error in LaTeX
Line 1231  sub is_code_valid { Line 1227  sub is_code_valid {
     my ($code_type, $code_length) = ('letter', 6); # defaults.      my ($code_type, $code_length) = ('letter', 6); # defaults.
     my @lines = &Apache::grades::get_scantronformat_file();      my @lines = &Apache::grades::get_scantronformat_file();
     foreach my $line (@lines) {      foreach my $line (@lines) {
         next if (($line =~ /^\#/) || ($line eq ''));  
  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 1840  sub get_course { Line 1835  sub get_course {
     my $courseidinfo;      my $courseidinfo;
     if (defined($env{'request.course.id'})) {      if (defined($env{'request.course.id'})) {
  $courseidinfo = &Apache::lonxml::latex_special_symbols(&unescape($env{'course.'.$env{'request.course.id'}.'.description'}),'header');   $courseidinfo = &Apache::lonxml::latex_special_symbols(&unescape($env{'course.'.$env{'request.course.id'}.'.description'}),'header');
    my $sec = $env{'request.course.sec'};
       
     }      }
     return $courseidinfo;      return $courseidinfo;
 }  }
Line 1862  sub page_format_transformation { Line 1859  sub page_format_transformation {
   
     my $name = &get_name();      my $name = &get_name();
     my $courseidinfo = &get_course();      my $courseidinfo = &get_course();
     if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }  
     my $header_text  = $parmhash{'print_header_format'};      my $header_text  = $parmhash{'print_header_format'};
     $header_text     = &format_page_header($textwidth, $header_text, $assignment,      $header_text     = &format_page_header($textwidth, $header_text, $assignment,
    $courseidinfo, $name);     $courseidinfo, $name);
Line 2169  sub print_page_in_course { Line 2165  sub print_page_in_course {
   
     $form{'grade_target'}  = 'tex';      $form{'grade_target'}  = 'tex';
     $form{'textwidth'}    = &get_textwidth($helper, $LaTeXwidth);      $form{'textwidth'}    = &get_textwidth($helper, $LaTeXwidth);
     $form{'pdfFormFields'} = 'no'; #       $form{'pdfFormFields'} = $pdfFormFields; # 
     $form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'};          $form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'};    
           
     $form{'problem_split'}=$parmhash{'problem_stream_switch'};      $form{'problem_split'}=$parmhash{'problem_stream_switch'};
Line 2705  ENDPART Line 2701  ENDPART
     my %form;      my %form;
     $form{'grade_target'} = 'tex';      $form{'grade_target'} = 'tex';
     $form{'textwidth'}    = &get_textwidth($helper, $LaTeXwidth);      $form{'textwidth'}    = &get_textwidth($helper, $LaTeXwidth);
     $form{'pdfFormFields'} = 'no';      $form{'pdfFormFields'} = $pdfFormFields;
   
     # If form.showallfoils is set, then request all foils be shown:      # If form.showallfoils is set, then request all foils be shown:
     # privilege will be enforced both by not allowing the       # privilege will be enforced both by not allowing the 
Line 3029  ENDPART Line 3025  ENDPART
  if (($selectionmade == 4) and ($assignment ne $prevassignment)) {   if (($selectionmade == 4) and ($assignment ne $prevassignment)) {
     my $name = &get_name();      my $name = &get_name();
     my $courseidinfo = &get_course();      my $courseidinfo = &get_course();
                     if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }  
     $prevassignment=$assignment;      $prevassignment=$assignment;
     my $header_text = $parmhash{'print_header_format'};      my $header_text = $parmhash{'print_header_format'};
     $header_text    = &format_page_header($textwidth, $header_text,      $header_text    = &format_page_header($textwidth, $header_text,
Line 3616  sub print_resources { Line 3611  sub print_resources {
     my $current_assignment = "";      my $current_assignment = "";
     my $assignment;      my $assignment;
     my $courseidinfo = &get_course();      my $courseidinfo = &get_course();
     if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }  
     if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection}  
   
     foreach my $curresline (@{$master_seq})  {      foreach my $curresline (@{$master_seq})  {
  if (defined $page_breaks{$curresline}) {   if (defined $page_breaks{$curresline}) {
Line 3741  sub print_resources { Line 3734  sub print_resources {
  if (($assignment ne $current_assignment) && ($assignment ne "")) {   if (($assignment ne $current_assignment) && ($assignment ne "")) {
     my $header_line = &format_page_header($LaTeXwidth, $parmhash{'print_header_format'},      my $header_line = &format_page_header($LaTeXwidth, $parmhash{'print_header_format'},
   $assignment, $courseidinfo,     $assignment, $courseidinfo, 
   $fullname);    $fullname, $usersection);
     my $header_start = ($columns_in_format == 1) ? '\lhead'      my $header_start = ($columns_in_format == 1) ? '\lhead'
  : '\fancyhead[LO]';   : '\fancyhead[LO]';
     $header_line = $header_start.'{'.$header_line.'}';      $header_line = $header_start.'{'.$header_line.'}';
Line 3773  sub print_resources { Line 3766  sub print_resources {
  my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');   my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');
  my $header_line =   my $header_line =
     &format_page_header($LaTeXwidth, $parmhash{'print_header_format'},      &format_page_header($LaTeXwidth, $parmhash{'print_header_format'},
  $currentassignment, $courseidinfo, $fullname);   $currentassignment, $courseidinfo, $fullname, $usersection);
  my $header_start = ($columns_in_format == 1) ? '\lhead'   my $header_start = ($columns_in_format == 1) ? '\lhead'
     : '\fancyhead[LO]';      : '\fancyhead[LO]';
  $header_line = $header_start.'{'.$header_line.'}';   $header_line = $header_start.'{'.$header_line.'}';
Line 4668  CHOOSE_FROM_ANY_SEQUENCE Line 4661  CHOOSE_FROM_ANY_SEQUENCE
     Apache::lonhelper::state->new("START", "Select Printing Options:");      Apache::lonhelper::state->new("START", "Select Printing Options:");
     if (!$res_printable) {      if (!$res_printable) {
  $paramHash = Apache::lonhelper::getParamHash();   $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{MESSAGE_TEXT} =   $paramHash->{MESSAGE_TEXT} = 
             '<p class="LC_info">'              '<p class="LC_info">'
            .&mt('Printing for current resource is only possible between [_1] and [_2]',             .&mt('Printing for current resource is only possible between [_1] and [_2]',
                 $res_printstartdate, $res_printenddate).'</p>';                  $res_printstartdate, $res_printenddate).'</p>';
Line 4896  FONT_SELECTION Line 4889  FONT_SELECTION
       return "$helper->{VARS}->{'probstatus'}";        return "$helper->{VARS}->{'probstatus'}";
                    </defaultvalue>                     </defaultvalue>
    <choice computer="problem">Homework Problem</choice>     <choice computer="problem">Homework Problem</choice>
    <choice computer="exam">Exam Problem</choice>     <choice computer="exam">Bubblesheet Exam Problem</choice>
    <choice computer="survey">Survey question</choice>     <choice computer="survey">Survey question</choice>
                    ,choice computer="anonsurvey"Anonymous survey question</choice>                     ,choice computer="anonsurvey"Anonymous survey question</choice>
  </dropdown>   </dropdown>
Line 5014  sub render { Line 5007  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');
       my $pdfFormLabel=&mt('PDF-Formfields');
       my $with=&mt('with Formfields');
       my $without=&mt('without Formfields');
           
   
     $result.='<h3>'.&mt('Layout Options').'</h3>'      $result.='<h3>'.&mt('Layout Options').'</h3>'
Line 5022  sub render { Line 5018  sub render {
             .'<th>'.$PageLayout.'</th>'              .'<th>'.$PageLayout.'</th>'
             .'<th>'.$NumberOfColumns.'</th>'              .'<th>'.$NumberOfColumns.'</th>'
             .'<th>'.$PaperType.'</th>'              .'<th>'.$PaperType.'</th>'
               .'<th>'.$pdfFormLabel.'</th>'
             .&Apache::loncommon::end_data_table_header_row()              .&Apache::loncommon::end_data_table_header_row()
             .&Apache::loncommon::start_data_table_row()              .&Apache::loncommon::start_data_table_row()
     .'<td>'      .'<td>'
Line 5062  sub render { Line 5059  sub render {
     $result .= <<HTML;      $result .= <<HTML;
         </select>          </select>
     </td>      </td>
       <td align='center'>
           <select name='${var}.pdfFormFields'>
               <option selected="selected" value="no">$without</option>
               <option value="yes">$with</option>
           </select>
       </td>
 HTML  HTML
     $result.=&Apache::loncommon::end_data_table_row()      $result.=&Apache::loncommon::end_data_table_row()
             .&Apache::loncommon::end_data_table();              .&Apache::loncommon::end_data_table();

Removed from v.1.627.2.8  
changed lines
  Added in v.1.635


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