Diff for /loncom/interface/lonprintout.pm between versions 1.581 and 1.582

version 1.581, 2010/06/10 16:14:34 version 1.582, 2010/07/13 00:16:28
Line 1560  sub print_page_in_course { Line 1560  sub print_page_in_course {
  my $title=&Apache::lonnet::gettitle($symb);   my $title=&Apache::lonnet::gettitle($symb);
  $title = &Apache::lonxml::latex_special_symbols($title);   $title = &Apache::lonxml::latex_special_symbols($title);
     } else {      } else {
  $result.=$currentURL;          my $esc_currentURL= $currentURL;
           $esc_currentURL =~ s/_/\\_/g;
    $result.=$esc_currentURL;
     }      }
     $result .= '\\\\';      $result .= '\\\\';
   
Line 1590  sub print_page_in_course { Line 1592  sub print_page_in_course {
  }   }
  # these resources go through the XML transformer:   # these resources go through the XML transformer:
   
  elsif ($resource_src =~ /\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/)  {   elsif ($resource_src =~ /\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/)  {
     my $urlp = &Apache::lonnet::clutter($resource_src);      my $urlp = &Apache::lonnet::clutter($resource_src);
     my %form;      my %form;
     my %moreenv;      my %moreenv;
Line 2130  ENDPART Line 2132  ENDPART
  &Apache::lonnet::delenv('construct.style');   &Apache::lonnet::delenv('construct.style');
     }      }
   
   
     if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {      if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
       #-- single document - problem, page, html, xml, ...        #-- single document - problem, page, html, xml, ...
  my ($currentURL,$cleanURL);   my ($currentURL,$cleanURL);
Line 2300  ENDPART Line 2301  ENDPART
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems')       or               ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems')       or
      ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_resources')      or # BUGBUG       ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_resources')      or # BUGBUG
      ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences')        ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences') 
      ) {        ) {
   
   
    
         #-- produce an output string          #-- produce an output string
  if (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems')  or   if (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems')  or
     ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_in_page') ) {      ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_in_page') ) {
Line 2365  ENDPART Line 2366  ENDPART
  &Apache::lonxml::remember_problem_counter();   &Apache::lonxml::remember_problem_counter();
  if ($flag_latex_header_remove eq 'NO') {   if ($flag_latex_header_remove eq 'NO') {
     $texversion.=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});  # RF      $texversion.=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});  # RF
     $flag_latex_header_remove = 'YES';                      unless (($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only') ||
                               (($i==0) &&
                                (($urlp=~/\.page$/) ||
                                 ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_in_page') ||
                                 ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_resources_in_page')))) {
                           $flag_latex_header_remove = 'YES';
                       }
  }   }
  $texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form);   $texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form);
  if ($urlp=~/\.page$/) {   if ($urlp=~/\.page$/) {
Line 2373  ENDPART Line 2380  ENDPART
     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}/;
     $flag_page_in_sequence = 'YES';      $flag_page_in_sequence = 'YES';
  }    }
   
  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')) {
Line 2385  ENDPART Line 2392  ENDPART
   
     &Apache::lonxml::restore_problem_counter();      &Apache::lonxml::restore_problem_counter();
     my $answer=&ssi_with_retries($urlp, $ssi_retry_count, %answerform);      my $answer=&ssi_with_retries($urlp, $ssi_retry_count, %answerform);
                       if ($urlp =~ /\.page$/) {
                           $answer =~ s/\\end{document}(\d*)$//;
                       }
     if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {      if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
  $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;                          if ($urlp =~ /\.page$/) {
                               my @probs = split(/\\keephidden{ENDOFPROBLEM}/,$texversion);
                               my $lastprob = pop(@probs);
                               $texversion = join('\keephidden{ENDOFPROBLEM}',@probs).
                               $answer.'\keephidden{ENDOFPROBLEM}'.$lastprob;
                           } else {
                               $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|page)$/) {
     $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $texversion =~ s/\\begin{document}//;  #    $texversion =~ s/\\begin{document}//; # FIXME
     my $title = &Apache::lonnet::gettitle($master_seq[$i]);      my $title = &Apache::lonnet::gettitle($master_seq[$i]);
     $title = &Apache::lonxml::latex_special_symbols($title);      $title = &Apache::lonxml::latex_special_symbols($title);
     my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';      my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';
Line 2484  ENDPART Line 2500  ENDPART
  }   }
  $result .= $texversion;   $result .= $texversion;
  $flag_latex_header_remove = 'YES';      $flag_latex_header_remove = 'YES';   
     }          }
     if (&Apache::loncommon::connection_aborted($r)) {       if (&Apache::loncommon::connection_aborted($r)) { 
  last;    last; 
     }      }
Line 2960  sub print_resources { Line 2976  sub print_resources {
  $i++;   $i++;
   
  if ( !($type eq 'problems' &&    if ( !($type eq 'problems' && 
        ($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) {         ($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library|page)$/)) ) {
     my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);      my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);
     if (&Apache::lonnet::allowed('bre',$res_url)) {      if (&Apache::lonnet::allowed('bre',$res_url)) {
  if ($res_url!~m|^ext/|   if ($res_url!~m|^ext/|
Line 2969  sub print_resources { Line 2985  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);
                       if ($res_url =~ /\.page$/) {
                           if ($remove_latex_header eq 'NO') {
                               if (!($rendered =~ /\\begin\{document\}/)) {
                                   $rendered = &print_latex_header().$rendered;
                               }
                           }
                           if ($remove_latex_header eq 'YES') {
                               $rendered = &latex_header_footer_remove($rendered);
                           } else {
                               $rendered =~ s/\\end{document}\d*//;
                           }
                       }
     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 2986  sub print_resources { Line 3014  sub print_resources {
   
           
     my $header =&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      my $header =&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $header =~ s/\\begin{document}//;     #<<<<<                              unless ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only') {
                                   $header =~ s/\\begin{document}//;     #<<<<<
                               }
     my $title = &Apache::lonnet::gettitle($curresline);      my $title = &Apache::lonnet::gettitle($curresline);
     $title = &Apache::lonxml::latex_special_symbols($title);      $title = &Apache::lonxml::latex_special_symbols($title);
     my $body   ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';      my $body   ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';

Removed from v.1.581  
changed lines
  Added in v.1.582


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