Diff for /loncom/interface/lonprintout.pm between versions 1.401 and 1.404

version 1.401, 2005/12/06 09:41:02 version 1.404, 2005/12/13 19:13:51
Line 844  sub print_latex_header { Line 844  sub print_latex_header {
   
 sub path_to_problem {  sub path_to_problem {
     my ($urlp,$colwidth)=@_;      my ($urlp,$colwidth)=@_;
       $urlp=&Apache::lonnet::clutter($urlp);
   
     my $newurlp = '';      my $newurlp = '';
     $colwidth=~s/\s*mm\s*$//;      $colwidth=~s/\s*mm\s*$//;
 #characters average about 2 mm in width  #characters average about 2 mm in width
     if (length($urlp)*2 > $colwidth) {      if (length($urlp)*2 > $colwidth) {
  my @elements = split '/',$urlp;   my @elements = split('/',$urlp);
  my $curlength=0;   my $curlength=0;
  foreach my $element (@elements) {   foreach my $element (@elements) {
       if ($element eq '') { next; }
     if ($curlength+(length($element)*2) > $colwidth) {      if ($curlength+(length($element)*2) > $colwidth) {
  $newurlp .=  '|\vskip -1 mm \noindent \verb|';   $newurlp .=  '|\vskip -1 mm \verb|';
  $curlength=0;   $curlength=length($element)*2;
     } else {      } else {
  $curlength+=length($element)*2;   $curlength+=length($element)*2;
     }      }
Line 1005  $html Line 1008  $html
 <title>LON-CAPA output for printing</title>  <title>LON-CAPA output for printing</title>
 </head>  </head>
 $bodytag  $bodytag
   <p>
 Please stand by while processing your print request, this may take some time ...  Please stand by while processing your print request, this may take some time ...
   </p>
 ENDPART  ENDPART
   
   
Line 1098  ENDPART Line 1103  ENDPART
  &Apache::lonnet::appenv(%moreenv);   &Apache::lonnet::appenv(%moreenv);
  &Apache::lonnet::delenv('form.counter');   &Apache::lonnet::delenv('form.counter');
  &Apache::lonxml::init_counter();   &Apache::lonxml::init_counter();
    &Apache::lonxml::store_counter();
  $resources_printed .= $currentURL.':';   $resources_printed .= $currentURL.':';
  $texversion.=&Apache::lonnet::ssi($currentURL,%form);   $texversion.=&Apache::lonnet::ssi($currentURL,%form);
  &Apache::lonnet::delenv('form.counter');   &Apache::lonnet::delenv('form.counter');
Line 1180  ENDPART Line 1186  ENDPART
  } else {   } else {
     $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';      $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
     $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);      $texversion.=&path_to_problem($urlp,$LaTeXwidth);
     $texversion.='\vskip 1 mm '.$answer.'\end{document}';      $texversion.='\vskip 1 mm '.$answer.'\end{document}';
  }   }
     }      }
Line 1240  ENDPART Line 1246  ENDPART
  my $prevassignment='';   my $prevassignment='';
  &Apache::lonnet::delenv('form.counter');   &Apache::lonnet::delenv('form.counter');
  &Apache::lonxml::init_counter();   &Apache::lonxml::init_counter();
    &Apache::lonxml::store_counter();
  for (my $i=0;$i<=$#master_seq;$i++) {   for (my $i=0;$i<=$#master_seq;$i++) {
   
     # Note due to document structure, not allowed to put \newpage      # Note due to document structure, not allowed to put \newpage
Line 1260  ENDPART Line 1267  ENDPART
     my $texversion='';      my $texversion='';
     if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {      if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
  $resources_printed .= $urlp.':';   $resources_printed .= $urlp.':';
    my $pre_counter=$env{'form.counter'};
  $texversion.=&Apache::lonnet::ssi($urlp,%form);   $texversion.=&Apache::lonnet::ssi($urlp,%form);
  if ($urlp=~/\.page$/) {   if ($urlp=~/\.page$/) {
     ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);      ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);
Line 1267  ENDPART Line 1275  ENDPART
     $texversion =~ s/\\end{document}\d*/\\end{document}/;      $texversion =~ s/\\end{document}\d*/\\end{document}/;
     $flag_page_in_sequence = 'YES';      $flag_page_in_sequence = 'YES';
  }    } 
  my $lonidsdir=$r->dir_config('lonIDsDir');   my ($envfile) = ($env{'user.environment'} =~m|/([^/]+)\.id$| );
  my $envfile=$env{'user.environment'};   &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),
  $envfile=~/\/([^\/]+)\.id$/;   $envfile);
  $envfile=$1;  
  &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);  
  my $current_counter=$env{'form.counter'};   my $current_counter=$env{'form.counter'};
  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 1280  ENDPART Line 1286  ENDPART
     $answerform{'grade_target'}='answer';      $answerform{'grade_target'}='answer';
     $answerform{'answer_output_mode'}='tex';      $answerform{'answer_output_mode'}='tex';
     $resources_printed .= $urlp.':';      $resources_printed .= $urlp.':';
       &Apache::lonnet::appenv(('form.counter' => $pre_counter));
     my $answer=&Apache::lonnet::ssi($urlp,%answerform);      my $answer=&Apache::lonnet::ssi($urlp,%answerform);
     &Apache::lonnet::appenv(('form.counter' => $current_counter));      &Apache::lonnet::appenv(('form.counter' => $current_counter));
     if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {      if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
Line 1709  sub print_resources { Line 1716  sub print_resources {
     #current student, and produces output         #current student, and produces output   
     &Apache::lonnet::delenv('form.counter');      &Apache::lonnet::delenv('form.counter');
     &Apache::lonxml::init_counter();      &Apache::lonxml::init_counter();
       &Apache::lonxml::store_counter();
     my %page_breaks  = &get_page_breaks($helper);      my %page_breaks  = &get_page_breaks($helper);
   
     foreach my $curresline (@{$master_seq})  {      foreach my $curresline (@{$master_seq})  {
Line 1725  sub print_resources { Line 1732  sub print_resources {
     if (&Apache::lonnet::allowed('bre',$res_url)) {      if (&Apache::lonnet::allowed('bre',$res_url)) {
  if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {   if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
     $printed .= $curresline.':';      $printed .= $curresline.':';
       my $pre_counter=$env{'form.counter'};
     my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);      my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);
     my $lonidsdir=$r->dir_config('lonIDsDir');      my ($envfile) =
     my $envfile=$env{'user.environment'};   ( $env{'user.environment'} =~ m|/([^/]+)\.id$| );
     $envfile=~/\/([^\/]+)\.id$/;      &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),
     $envfile=$1;       $envfile);
     &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);  
     my $current_counter=$env{'form.counter'};      my $current_counter=$env{'form.counter'};
     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 1738  sub print_resources { Line 1745  sub print_resources {
  my %answerenv = %{$moreenv};   my %answerenv = %{$moreenv};
  $answerenv{'answer_output_mode'}='tex';   $answerenv{'answer_output_mode'}='tex';
  $answerenv{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};   $answerenv{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
    &Apache::lonnet::appenv(('form.counter' => $pre_counter));
  my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$env{'request.course.id'},%answerenv);   my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$env{'request.course.id'},%answerenv);
  &Apache::lonnet::appenv(('form.counter' => $current_counter));   &Apache::lonnet::appenv(('form.counter' => $current_counter));
  if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {   if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
Line 1745  sub print_resources { Line 1753  sub print_resources {
  } else {   } else {
     $rendered=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      $rendered=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $rendered.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($curresline).'}\vskip 0 mm ';      $rendered.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($curresline).'}\vskip 0 mm ';
     $rendered.=&path_to_problem ($curresline,$LaTeXwidth);      $rendered.=&path_to_problem($res_url,$LaTeXwidth);
     $rendered.='\vskip 1 mm '.$ansrendered;      $rendered.='\vskip 1 mm '.$ansrendered;
  }   }
     }      }
Line 1758  sub print_resources { Line 1766  sub print_resources {
  } elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {   } elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {
     $printed .= $curresline.':';      $printed .= $curresline.':';
     my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);      my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv);
     my $lonidsdir=$r->dir_config('lonIDsDir');      my ($envfile) = 
     my $envfile=$env{'user.environment'};   ( $env{'user.environment'} = ~m|/([^/]+)\.id$| );
     $envfile=~/\/([^\/]+)\.id$/;      &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),
     $envfile=$1;       $envfile);
     &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);  
     my $current_counter=$env{'form.counter'};      my $current_counter=$env{'form.counter'};
     if ($remove_latex_header eq 'YES') {      if ($remove_latex_header eq 'YES') {
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);

Removed from v.1.401  
changed lines
  Added in v.1.404


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