Diff for /loncom/interface/lonprintout.pm between versions 1.413 and 1.418

version 1.413, 2006/01/17 18:02:34 version 1.418, 2006/01/27 22:07:10
Line 895  sub get_textwidth { Line 895  sub get_textwidth {
   
   
 sub unsupported {  sub unsupported {
     my ($currentURL,$mode)=@_;      my ($currentURL,$mode,$symb)=@_;
     if ($mode ne '') {$mode='\\'.$mode}      if ($mode ne '') {$mode='\\'.$mode}
     my $result.= &print_latex_header($mode);      my $result.= &print_latex_header($mode);
     if ($currentURL=~/\/ext\//) {      if ($currentURL=~m|^(/adm/wrapper/)?ext/|) {
  $result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' ';   $currentURL=~s|^(/adm/wrapper/)?ext/|http://|;
    my $title=&Apache::lonnet::gettitle($symb);
    $title = &Apache::lonxml::latex_special_symbols($title);
    $result.=' \strut \\\\ '.$title.' \strut \\\\ '.$currentURL.' ';
     } else {      } else {
  $result.=$currentURL;   $result.=$currentURL;
     }      }
     $result.= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill} \end{document}';      # TODO:  /2 used to be /$number_of_columns which we don'thave
       #        access to and therefore now causes latex to fail.
       #        need to figure out exactly what we should divide by.
       $result.= '\vskip 0.5mm\noindent\makebox[\textwidth/2][b]{\hrulefill} \end{document}';
     return $result;      return $result;
 }  }
   
Line 960  sub recently_generated { Line 966  sub recently_generated {
 #    A reference to a page break hash.  #    A reference to a page break hash.
 #  #
 #  #
   #use Data::Dumper;
   #sub dump_helper_vars {
   #    my ($helper) = @_;
   #    my $helpervars = Dumper($helper->{'VARS'});
   #    &Apache::lonnet::logthis("Dump of helper vars:\n $helpervars");
   #}
   
 sub get_page_breaks  {  sub get_page_breaks  {
     my ($helper) = @_;      my ($helper) = @_;
     my %page_breaks;      my %page_breaks;
       
     foreach my $break (split /\|\|\|/, $helper->{'VARS'}->{'FINISHPAGE'}) {      foreach my $break (split /\|\|\|/, $helper->{'VARS'}->{'FINISHPAGE'}) {
  $page_breaks{$break} = 1;   $page_breaks{$break} = 1;
     }      }
       
     return %page_breaks;      return %page_breaks;
 }  }
   
Line 1218  ENDPART Line 1229  ENDPART
  my $texversion=&Apache::lonnet::ssi($currentURL,%form);   my $texversion=&Apache::lonnet::ssi($currentURL,%form);
  $result .= $texversion;   $result .= $texversion;
  } else {   } else {
     $result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'});      $result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'},
     $helper->{'VARS'}->{'symb'});
  }   }
     } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems')       or      } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems')       or
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or               ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or
Line 1249  ENDPART Line 1261  ENDPART
  &Apache::lonnet::delenv('form.counter');   &Apache::lonnet::delenv('form.counter');
  &Apache::lonxml::init_counter();   &Apache::lonxml::init_counter();
  &Apache::lonxml::store_counter();   &Apache::lonxml::store_counter();
    my $pbreakresources = keys %page_breaks;
  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 1318  ENDPART Line 1331  ENDPART
     my $courseidinfo = &get_course();      my $courseidinfo = &get_course();
     if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }      if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
     $prevassignment=$assignment;      $prevassignment=$assignment;
     $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm ';      if ($numberofcolumns eq '1') {
    $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm ';
       } else {
    $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\fancyhead[LO]{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm ';
       }
  }   }
  $result .= $texversion;   $result .= $texversion;
  $flag_latex_header_remove = 'YES';      $flag_latex_header_remove = 'YES';   
Line 1335  ENDPART Line 1352  ENDPART
  $result .= $texversion;   $result .= $texversion;
  $flag_latex_header_remove = 'YES';    $flag_latex_header_remove = 'YES'; 
     } else {      } else {
  $texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'});   $texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'},
    $master_seq[$i]);
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
  } else {   } else {
Line 1728  sub print_resources { Line 1746  sub print_resources {
     &Apache::lonxml::init_counter();      &Apache::lonxml::init_counter();
     &Apache::lonxml::store_counter();      &Apache::lonxml::store_counter();
     my %page_breaks  = &get_page_breaks($helper);      my %page_breaks  = &get_page_breaks($helper);
       my @format_array = split(/\|/,$helper->{'VARS'}->{'FORMAT'});
       my $columns_in_format = $format_array[1];
   
     foreach my $curresline (@{$master_seq})  {      foreach my $curresline (@{$master_seq})  {
  if (defined $page_breaks{$curresline}) {   if (defined $page_breaks{$curresline}) {
Line 1740  sub print_resources { Line 1760  sub print_resources {
        ($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) {         ($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) {
     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|^/adm/|   if ($res_url!~m|^ext/|
     && $res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {      && $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 $pre_counter=$env{'form.counter'};
Line 1789  sub print_resources { Line 1809  sub print_resources {
     }      }
     $current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/'.$number_of_columns.'][b]{\hrulefill}\strut \vskip 0 mm \strut ';      $current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/'.$number_of_columns.'][b]{\hrulefill}\strut \vskip 0 mm \strut ';
  } else {   } else {
     my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'});      my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline);
     if ($remove_latex_header ne 'NO') {      if ($remove_latex_header ne 'NO') {
  $rendered = &latex_header_footer_remove($rendered);   $rendered = &latex_header_footer_remove($rendered);
     } else {      } else {
Line 1807  sub print_resources { Line 1827  sub print_resources {
     if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection}      if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection}
     my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');      my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');
     if ($current_output=~/\\documentclass/) {      if ($current_output=~/\\documentclass/) {
  $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /;   if ($columns_in_format == 1) {
       $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /;
    } else {
           $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fancyhead[LO]{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /;
   
    }
     } else {      } else {
  my $blankpages = '';   my $blankpages = '';
  for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blankpages.='\clearpage\strut\clearpage';}   for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blankpages.='\clearpage\strut\clearpage';}
  $current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output;   if ($columns_in_format == 1) {
       $current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output;
    } else {
      $current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\fancyhead[LO]{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output;
    }
     }      }
     return ($current_output,$fullname, $printed);      return ($current_output,$fullname, $printed);
   
Line 1823  sub handler { Line 1852  sub handler {
           
     &init_perm();      &init_perm();
   
 #    my $loaderror=&Apache::lonnet::overloaderror($r);  
 #    if ($loaderror) { return $loaderror; }  
 #    $loaderror=  
 #       &Apache::lonnet::overloaderror($r,  
 #         $env{'course.'.$env{'request.course.id'}.'.home'});  
 #    if ($loaderror) { return $loaderror; }  
   
     my $helper = printHelper($r);      my $helper = printHelper($r);
     if (!ref($helper)) {      if (!ref($helper)) {
  return $helper;   return $helper;
     }      }
         
 # my $key;   
 # foreach $key (keys %{$helper->{'VARS'}}) {  
 #    $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<-<br />');  
 # }  
 # foreach $key (keys %env) {  
 #    $r->print(' '.$key.'->'.$env{$key}.'<-<br />');  
 # }  
 # return OK;  
   
     my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'});      my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'});
     
 # my $key;   
 # foreach $key (keys %parmhash) {  
 #    $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />');  
 # }  
 #  
   
   
     #  If a figure conversion queue file exists for this user.domain      #  If a figure conversion queue file exists for this user.domain
Line 1874  sub addMessage { Line 1886  sub addMessage {
     Apache::lonhelper::message->new();      Apache::lonhelper::message->new();
 }  }
   
 use Data::Dumper;  
   
 sub init_perm {  sub init_perm {
     undef(%perm);      undef(%perm);
Line 1936  sub printHelper { Line 1948  sub printHelper {
     # But we only do this in the initial state so that they are allowed to change.      # But we only do this in the initial state so that they are allowed to change.
     #      #
   
     $helper->{VARS}->{FINISHPAGE} = '';      # $helper->{VARS}->{FINISHPAGE} = '';
           
     &Apache::loncommon::restore_course_settings('print',      &Apache::loncommon::restore_course_settings('print',
  {'pagebreaks'  => 'scalar',   {'pagebreaks'  => 'scalar',
Line 1955  sub printHelper { Line 1967  sub printHelper {
  }   }
   
     }      }
       
           
     # This will persistently load in the data we want from the      # This will persistently load in the data we want from the
     # very first screen.      # very first screen.
Line 1973  sub printHelper { Line 1985  sub printHelper {
         if ($env{'form.url'}) {          if ($env{'form.url'}) {
             $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'});              $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'});
         }          }
   
     }      }
   
     if ($env{'form.symb'}) {      if ($env{'form.symb'}) {
Line 2059  sub printHelper { Line 2072  sub printHelper {
   
     $helper->declareVar('SEQUENCE');      $helper->declareVar('SEQUENCE');
   
     # Useful for debugging: Dump the help vars  
 #     $r->print(Dumper($helper->{VARS}));  
 #    $r->print($map);  
   
     # If we're in a sequence...      # If we're in a sequence...
     if (($helper->{'VARS'}->{'construction'} ne '1') &&      if (($helper->{'VARS'}->{'construction'} ne '1') &&
Line 2513  CHOOSE_FROM_ANY_SEQUENCE Line 2524  CHOOSE_FROM_ANY_SEQUENCE
         </defaultvalue>          </defaultvalue>
     </string>      </string>
      <message></td></tr><tr><td align="right">Use style file:</td><td></message>       <message></td></tr><tr><td align="right">Use style file:</td><td></message>
              <message><input type="text" size="40" name="style_file_value" value="$stylevalue"  />&nbsp; <a href="javascript:openbrowser('helpform','style_file','sty')">Select style file</a> </td><tr><td></message>               <message><input type="text" size="40" name="style_file_value" value="$stylevalue"  />&nbsp; <a href="javascript:openbrowser('helpform','style_file_value','sty')">Select style file</a> </td><tr><td></message>
      <choices allowempty="1" multichoice="true" variable="showallfoils">       <choices allowempty="1" multichoice="true" variable="showallfoils">
                 <choice computer="1">Show all foils?</choice>                  <choice computer="1">Show all foils?</choice>
              </choices>               </choices>
Line 2542  RNDSEED Line 2553  RNDSEED
   
     $helper->process();      $helper->process();
   
   
     # MANUAL BAILOUT CONDITION:      # MANUAL BAILOUT CONDITION:
     # If we're in the "final" state, bailout and return to handler      # If we're in the "final" state, bailout and return to handler
     if ($helper->{STATE} eq 'FINAL') {      if ($helper->{STATE} eq 'FINAL') {

Removed from v.1.413  
changed lines
  Added in v.1.418


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