Diff for /loncom/interface/lonprintout.pm between versions 1.616 and 1.619

version 1.616, 2012/05/28 10:31:17 version 1.619, 2012/06/11 11:07:33
Line 102  sub printable_sequence { Line 102  sub printable_sequence {
   
     if ($res->is_sequence()) {      if ($res->is_sequence()) {
  my $symb = $res->symb();   my $symb = $res->symb();
  &Apache::lonnet::logthis("Symb: $symb");  
  my $navmap   = $res->{NAV_MAP};   my $navmap   = $res->{NAV_MAP};
   
  # Find the first resource in the map:   # Find the first resource in the map:
Line 111  sub printable_sequence { Line 110  sub printable_sequence {
  my $first    = $iterator->next();   my $first    = $iterator->next();
   
  while (1) {   while (1) {
     if ($first == $iterator->END_ITERATOR) {      if ($first == $iterator->END_ITERATOR) { last; }
  &Apache::lonnet::logthis("End of iterator");  
  last; }  
     if (ref($first)) {  
  &Apache::lonnet::logthis("Looking at: " . $first->symb());  
     } else {  
  &Apache::lonnet::logthis("Got: $first");  
     }  
     if (ref($first) && ! $first->is_sequence()) {last; }      if (ref($first) && ! $first->is_sequence()) {last; }
     $first = $iterator->next();      $first = $iterator->next();
  }   }
Line 127  sub printable_sequence { Line 119  sub printable_sequence {
  # Might be an empty map:   # Might be an empty map:
   
  if (!ref($first)) {   if (!ref($first)) {
     &Apache::lonnet::logthis("printable_sequence: empty");  
     return 0;      return 0;
  }   }
  my $partsref = $first->parts();   my $partsref = $first->parts();
  my @parts    = @$partsref;   my @parts    = @$partsref;
  &Apache::lonnet::logthis("Dates for " . $first->symb());  
  my ($open, $close) = $navmap->map_printdates($first, $parts[0]);   my ($open, $close) = $navmap->map_printdates($first, $parts[0]);
  &Apache::lonnet::logthis("Opens $open, closes $close");  
  &Apache::lonnet::logthis(ctime($open));  
  &Apache::lonnet::logthis(ctime($close));  
  return &printable($open, $close);   return &printable($open, $close);
     }      }
     return 0;      return 0;
Line 1246  sub is_code_valid { Line 1233  sub is_code_valid {
     }      }
   
 }  }
   #
   # Compare two students by section (Used to sort by section).
   #
   #  Implicit inputs, 
   #    $a - The first one
   #    $b - The second one.
   #
   #  Returns:
   #     a-section cmp b-section
   #
   sub compare_sections {
       my ($u1, $d1, $s1, $n1, $stat1) = split(/:/, $a);
       my ($u2, $d2, $s2, $n2, $stat2) = split(/:/, $b);
   
       return $s1 cmp $s2;
   }
   
 #   Compare two students by name.  The students are in the form  #   Compare two students by name.  The students are in the form
 #   returned by the helper:  #   returned by the helper:
Line 3015  ENDPART Line 3018  ENDPART
   $assignment,     $assignment, 
   $courseidinfo,     $courseidinfo, 
   $name);    $name);
   
     if ($numberofcolumns eq '1') {      if ($numberofcolumns eq '1') {
  $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{'.$header_text.'}} \vskip 5 mm ';   $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{'.$header_text.'}} \vskip 5 mm ';
     } else {      } else {
Line 3116  ENDPART Line 3118  ENDPART
  if (($helper->{'VARS'}->{'student_sort'}    eq 1)  &&    if (($helper->{'VARS'}->{'student_sort'}    eq 1)  && 
      ($helper->{'VARS'}->{'SPLIT_PDFS'} ne "sections")) {       ($helper->{'VARS'}->{'SPLIT_PDFS'} ne "sections")) {
      @students = sort compare_names  @students;       @students = sort compare_names  @students;
    } else {
        @students = sort compare_sections @students; 
  }   }
  &adjust_number_to_print($helper);   &adjust_number_to_print($helper);
   
Line 3525  sub print_resources { Line 3529  sub print_resources {
     my $fullname = &get_name($username,$userdomain);      my $fullname = &get_name($username,$userdomain);
     my $namepostfix = "\\\\"; # Both anon and not anon should get the same vspace.      my $namepostfix = "\\\\"; # Both anon and not anon should get the same vspace.
   
   
   
     #      #
     # Figure out if we need to filter the output by      # Figure out if we need to filter the output by
     # the incomplete problems for that person      # the incomplete problems for that person
Line 3563  sub print_resources { Line 3569  sub print_resources {
     #      #
   
     my $syllabus_first = 0;      my $syllabus_first = 0;
       my $current_assignment = "";
       my $assignment;
       my $courseidinfo = &get_course();
   
     foreach my $curresline (@{$master_seq})  {      foreach my $curresline (@{$master_seq})  {
  if (defined $page_breaks{$curresline}) {   if (defined $page_breaks{$curresline}) {
     if($i != 0) {      if($i != 0) {
Line 3571  sub print_resources { Line 3581  sub print_resources {
  }   }
  $current_output .= &get_extra_vspaces($helper, $curresline);   $current_output .= &get_extra_vspaces($helper, $curresline);
  $i++;   $i++;
    my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);
   
    # See if we need to emit a new header:
   
  if ( !($type eq 'problems' &&    if ( !($type eq 'problems' && 
        ($curresline!~ m/$LONCAPA::assess_page_re/)) ) {         ($curresline!~ m/$LONCAPA::assess_page_re/)) ) {
     my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);  
     if ($print_incomplete && !&incomplete($username, $userdomain, $res_url)) {      if ($print_incomplete && !&incomplete($username, $userdomain, $res_url)) {
  next;   next;
     }      }
Line 3677  sub print_resources { Line 3690  sub print_resources {
     }      }
     $remove_latex_header = 'YES';      $remove_latex_header = 'YES';
  }   }
    $assignment = &Apache::lonxml::latex_special_symbols(
       &Apache::lonnet::gettitle($map), 'header');
    if (($assignment ne $current_assignment) && ($assignment ne "")) {
       my $header_line = &format_page_header($LaTeXwidth, $parmhash{'print_header_format'},
     $assignment, $courseidinfo, 
     $fullname, $usersection);
       my $header_start = ($columns_in_format == 1) ? '\lhead'
    : '\fancyhead[LO]';
       $header_line = $header_start.'{'.$header_line.'}';
       $current_output = $current_output . $header_line;
       $current_assignment = $assignment;
    }
   
  if (&Apache::loncommon::connection_aborted($r)) { last; }   if (&Apache::loncommon::connection_aborted($r)) { last; }
     }      }
     # If we are printing incomplete it's possible we don't have      # If we are printing incomplete it's possible we don't have
Line 3697  sub print_resources { Line 3723  sub print_resources {
     if ($syllabus_first) {      if ($syllabus_first) {
         $current_output =~ s/\\\\ Last updated:/Last updated:/          $current_output =~ s/\\\\ Last updated:/Last updated:/
     }      }
     my $courseidinfo = &get_course();      if (0) {
     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, $usersection);   $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.'}';
       }
     if ($current_output=~/\\documentclass/) {      if ($current_output=~/\\documentclass/) {
  $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$header_line$namepostfix}\\vskip 5 mm /;  # $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$header_line$namepostfix}\\vskip 5 mm /;
    $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$namepostfix}\\vskip 5 mm /;
   
     } else {      } else {
  my $blankpages =    my $blankpages = 
     '\clearpage\strut\clearpage'x$helper->{'VARS'}->{'EMPTY_PAGES'};      '\clearpage\strut\clearpage'x$helper->{'VARS'}->{'EMPTY_PAGES'};
       
   # $current_output = '\strut\vspace*{-6 mm}\\newline'.
   #    &copyright_line().' \newpage '.$blankpages.$end_of_student.
   #    '\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent'.
   #    $header_line.$namepostfix. '} \vskip 5 mm '.$current_output;
  $current_output = '\strut\vspace*{-6 mm}\\newline'.   $current_output = '\strut\vspace*{-6 mm}\\newline'.
     &copyright_line().' \newpage '.$blankpages.$end_of_student.      &copyright_line().' \newpage '.$blankpages.$end_of_student.
     '\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent'.      '\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent'
     $header_line.$namepostfix.'} \vskip 5 mm '.$current_output;      .$namepostfix. '} \vskip 5 mm '.$current_output;
   
     }      }
     #      #
     #  Close the student bracketing.      #  Close the student bracketing.

Removed from v.1.616  
changed lines
  Added in v.1.619


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