Diff for /loncom/interface/lonprintout.pm between versions 1.560.2.6 and 1.560.2.7

version 1.560.2.6, 2009/10/13 11:01:16 version 1.560.2.7, 2009/10/26 09:55:32
Line 1 Line 1
 #  #
   
   
 # The LearningOnline Network  # The LearningOnline Network
 # Printout  # Printout
 #  #
Line 92  sub generate_student_chooser { Line 90  sub generate_student_chooser {
  $sort_choice,    $sort_choice, 
  $variable,    $variable, 
  $next_state) = @_;   $next_state) = @_;
     &Apache::lonnet::logthis("Student chooser next state: $next_state, this state: $this_state");  
     my $result = <<CHOOSE_STUDENTS;      my $result = <<CHOOSE_STUDENTS;
   <state name="$this_state" title="Select Students and Resources">    <state name="$this_state" title="Select Students and Resources">
       <message><b>Select sorting order of printout</b> </message>        <message><b>Select sorting order of printout</b> </message>
Line 148  sub generate_resource_chooser { Line 145  sub generate_resource_chooser {
  $value_func,   $value_func,
  $start_new_option)  = @_;   $start_new_option)  = @_;
   
     &Apache::lonnet::logthis("Top URL = $top_url");  
     my $result = <<CHOOSE_RESOURCES;      my $result = <<CHOOSE_RESOURCES;
 <state name="$this_state" title="$prompt_text">  <state name="$this_state" title="$prompt_text">
     <resource variable="$variable" $resource_options      <resource variable="$variable" $resource_options
Line 1746  sub recently_generated { Line 1742  sub recently_generated {
 #    A reference to a page break hash.  #    A reference to a page break hash.
 #  #
 #  #
 use Data::Dumper;  # use Data::Dumper;
 #sub dump_helper_vars {  #sub dump_helper_vars {
 #    my ($helper) = @_;  #    my ($helper) = @_;
 #    my $helpervars = Dumper($helper->{'VARS'});  #    my $helpervars = Dumper($helper->{'VARS'});
Line 2164  ENDPART Line 2160  ENDPART
  } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or   } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or
  ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_resources_in_page'))   ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_resources_in_page'))
  {   {
     &Apache::lonnet::logthis("Selectionmade => 3");  
     $selectionmade = 3;      $selectionmade = 3;
  } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems')    } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') 
  ) {   ) {
Line 2208  ENDPART Line 2203  ENDPART
     $urlp=&Apache::lonnet::clutter($urlp);      $urlp=&Apache::lonnet::clutter($urlp);
     $form{'symb'}=$master_seq[$i];      $form{'symb'}=$master_seq[$i];
   
     &Apache::lonnet::logthis("Element $i Sequence $sequence Middle $middle_thingy URLP $urlp");  
     my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #title of the assignment which contains this problem      my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #title of the assignment which contains this problem
   
     if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}      if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}
Line 2216  ENDPART Line 2210  ENDPART
     my $texversion='';      my $texversion='';
     if ($urlp!~m|^/adm/|      if ($urlp!~m|^/adm/|
  && $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {   && $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
  &Apache::lonnet::logthis("Problem");  
  $resources_printed .= $urlp.':';   $resources_printed .= $urlp.':';
  &Apache::lonxml::remember_problem_counter();   &Apache::lonxml::remember_problem_counter();
  &Apache::lonnet::logthis("Fetching tex for $urlp");  
  my $debug = Dumper(%form);  
  &Apache::lonnet::logthis("Form: $debug");  
   
  $texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form);   $texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form);
  &Apache::lonnet::logthis("texversion so far: $texversion");  
  if ($urlp=~/\.page$/) {   if ($urlp=~/\.page$/) {
     &Apache::lonnet::logthis("Special page actions");  
     ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);      ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);
     if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;}       if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} 
     $texversion =~ s/\\end{document}\d*/\\end{document}/;      $texversion =~ s/\\end{document}\d*/\\end{document}/;
Line 2248  ENDPART Line 2236  ENDPART
  $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;   $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
     } else {      } else {
  if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) {   if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) {
     &Apache::lonnet::logthis("problem printing");  
     $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $texversion =~ s/\\begin{document}//;      $texversion =~ s/\\begin{document}//;
     my $title = &Apache::lonnet::gettitle($master_seq[$i]);      my $title = &Apache::lonnet::gettitle($master_seq[$i]);
Line 2270  ENDPART Line 2257  ENDPART
  }   }
   
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     &Apache::lonnet::logthis("Removing header/footer 1");  
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
     &Apache::lonnet::logthis("With h/f removed we have: $texversion");  
  } else {   } else {
     $texversion =~ s/\\end{document}//;      $texversion =~ s/\\end{document}//;
  }   }
Line 2296  ENDPART Line 2281  ENDPART
     }      }
  }   }
  $result .= $texversion;   $result .= $texversion;
  &Apache::lonnet::logthis("About to set rem header true with $result");  
  $flag_latex_header_remove = 'YES';      $flag_latex_header_remove = 'YES';   
     } elsif ($urlp=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {       } elsif ($urlp=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { 
  $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};   $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
Line 2309  ENDPART Line 2293  ENDPART
  }   }
   
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     &Apache::lonnet::logthis("Removing header & footer 2");  
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
  } else {   } else {
     $texversion =~ s/\\end{document}/\\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/\$number_of_columns\]\[b\]\{\\hrulefill\}/;      $texversion =~ s/\\end{document}/\\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/\$number_of_columns\]\[b\]\{\\hrulefill\}/;
Line 2337  ENDPART Line 2320  ENDPART
  $texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'},   $texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'},
  $master_seq[$i]);   $master_seq[$i]);
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     &Apache::lonnet::logthis("Removing header/footer 3");  
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
  } else {   } else {
     $texversion =~ s/\\end{document}//;      $texversion =~ s/\\end{document}//;
Line 2401  ENDPART Line 2383  ENDPART
      $helper->{'VARS'}->{'NUMBER_TO_PRINT'} = $#students+1;       $helper->{'VARS'}->{'NUMBER_TO_PRINT'} = $#students+1;
  }   }
  my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};   my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
  &Apache::lonnet::logthis("RESOURCES: ". $helper->{'VARS'}->{'RESOURCES'});  
   
  #loop over students   #loop over students
   
Line 2605  ENDPART Line 2586  ENDPART
  $newurlp=&path_to_problem($newurlp,$LaTeXwidth);   $newurlp=&path_to_problem($newurlp,$LaTeXwidth);
  $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 $newurlp/;   $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 $newurlp/;
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     &Apache::lonnet::logthis("Removing header/footer: 4");  
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
  } else {   } else {
     $texversion =~ s/\\end{document}//;      $texversion =~ s/\\end{document}//;
Line 2810  sub print_resources { Line 2790  sub print_resources {
     #   so we will just rely on prntout.pl to strip  ENDOFSTUDENTSTAMP from the      #   so we will just rely on prntout.pl to strip  ENDOFSTUDENTSTAMP from the
     #   postscript.  Each ENDOFSTUDENTSTAMP will go on a line by itself.      #   postscript.  Each ENDOFSTUDENTSTAMP will go on a line by itself.
     #      #
     &Apache::lonnet::logthis("In print_resources");  
   
     foreach my $curresline (@{$master_seq})  {      foreach my $curresline (@{$master_seq})  {
  &Apache::lonnet::logthis("Res: $curresline");  
  if (defined $page_breaks{$curresline}) {   if (defined $page_breaks{$curresline}) {
     if($i != 0) {      if($i != 0) {
  $current_output.= "\\newpage\n";   $current_output.= "\\newpage\n";
Line 2831  sub print_resources { Line 2809  sub print_resources {
     &Apache::lonxml::remember_problem_counter();          &Apache::lonxml::remember_problem_counter();    
   
     my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);      my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);
     &Apache::lonnet::logthis("student view: $rendered");  
     if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||      if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
        ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {         ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
  #   Use a copy of the hash so we don't pervert it on future loop passes.   #   Use a copy of the hash so we don't pervert it on future loop passes.
Line 2859  sub print_resources { Line 2836  sub print_resources {
     $rendered = $header.$body;      $rendered = $header.$body;
  }   }
     }      }
     &Apache::lonnet::logthis("After preprending header: $rendered");  
     if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') {      if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') {
  my $url = &Apache::lonnet::clutter($res_url);   my $url = &Apache::lonnet::clutter($res_url);
  my $annotation = &annotate($url);   my $annotation = &annotate($url);
  $rendered =~  s/(\\keephidden{ENDOFPROBLEM})/$annotation$1/;   $rendered =~  s/(\\keephidden{ENDOFPROBLEM})/$annotation$1/;
     }      }
       my $junk;
     if ($remove_latex_header eq 'YES') {      if ($remove_latex_header eq 'YES') {
  &Apache::lonnet::logthis("Removing header/footer: 5");  
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);
     } else {      } else {
  $rendered =~ s/\\end{document}//;   $rendered =~ s/\\end{document}//;
Line 2881  sub print_resources { Line 2857  sub print_resources {
  $annotation    =~ s/(\\end{document})/$annotation$1/;   $annotation    =~ s/(\\end{document})/$annotation$1/;
     }      }
     if ($remove_latex_header eq 'YES') {      if ($remove_latex_header eq 'YES') {
  &Apache::lonnet::logthis("Removing header/footer: 6");  
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);
     } else {      } else {
  $rendered =~ s/\\end{document}//;   $rendered =~ s/\\end{document}//;
Line 2891  sub print_resources { Line 2866  sub print_resources {
     my $url = &Apache::lonnet::clutter($res_url);      my $url = &Apache::lonnet::clutter($res_url);
     my $rendered  = &include_pdf($url);      my $rendered  = &include_pdf($url);
     if ($remove_latex_header ne 'NO') {      if ($remove_latex_header ne 'NO') {
  &Apache::lonnet::logthis("Removing header/footer: 7");  
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);
     }      }
     $current_output .= $rendered;      $current_output .= $rendered;
  } else {   } else {
     my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline);      my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline);
     if ($remove_latex_header ne 'NO') {      if ($remove_latex_header ne 'NO') {
  &Apache::lonnet::logthis("Removing header/footer: 8");  
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);
     } else {      } else {
  $rendered =~ s/\\end{document}//;   $rendered =~ s/\\end{document}//;
Line 3151  sub printHelper { Line 3124  sub printHelper {
  } else {   } else {
     $url = $helper->{VARS}->{'postdata'};      $url = $helper->{VARS}->{'postdata'};
     $is_published=1; # From resource space.      $is_published=1; # From resource space.
     &Apache::lonnet::logthis("Resource url $url");  
  }   }
  $url = &Apache::lonnet::clutter($url);   $url = &Apache::lonnet::clutter($url);
         if (!$resourceTitle) { # if the resource doesn't have a title, use the filename          if (!$resourceTitle) { # if the resource doesn't have a title, use the filename
Line 3277  sub printHelper { Line 3249  sub printHelper {
         push @{$printChoices}, [&mt('Selected [_1]Resources[_2] from folder [_3]','<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>'),           push @{$printChoices}, [&mt('Selected [_1]Resources[_2] from folder [_3]','<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>'), 
  'map_problems_pages',    'map_problems_pages', 
  'CHOOSE_PROBLEMS_HTML'];   'CHOOSE_PROBLEMS_HTML'];
  &Apache::lonnet::logthis("Map url : $map");  
         my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS',          my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS',
  'Select Problem(s) to print',   'Select Problem(s) to print',
  'multichoice="1" toponly="1" addstatus="1" closeallpages="1"',   'multichoice="1" toponly="1" addstatus="1" closeallpages="1"',
Line 3388  ALL_PROBLEMS Line 3359  ALL_PROBLEMS
   'RESOURCES',     'RESOURCES', 
   'PRINT_FORMATTING',    'PRINT_FORMATTING',
   '',    '',
   $isProblem, , $symbFilter,    $isProblem, '', $symbFilter,
   $start_new_option);    $start_new_option);
  $resource_selector .=  <<RESOURCE_SELECTOR;   $resource_selector .=  <<RESOURCE_SELECTOR;
     <state name="PRINT_FORMATTING" title="How should results be printed?">      <state name="PRINT_FORMATTING" title="How should results be printed?">
Line 3516  RESOURCE_SELECTOR Line 3487  RESOURCE_SELECTOR
    $url,     $url,
    $isProblem, '',  $symbFilter,     $isProblem, '',  $symbFilter,
    $start_new_option);     $start_new_option);
  &Apache::lonnet::logthis('XML for anonpage: '.$anon_page);  
  &Apache::lonxml::xmlparse($r, 'helper', $anon_page);   &Apache::lonxml::xmlparse($r, 'helper', $anon_page);
   
   

Removed from v.1.560.2.6  
changed lines
  Added in v.1.560.2.7


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