Diff for /loncom/interface/lonprintout.pm between versions 1.408.2.5 and 1.409

version 1.408.2.5, 2006/02/14 20:40:10 version 1.409, 2005/12/19 22:30:01
Line 816  sub IndexCreation { Line 816  sub IndexCreation {
   
 sub print_latex_header {  sub print_latex_header {
     my $mode=shift;      my $mode=shift;
     my $output='\documentclass[letterpaper]{article}';      my $output='\documentclass[letterpaper,twoside]{article}';
     if (($mode eq 'batchmode') || (!$perm{'pav'})) {      if (($mode eq 'batchmode') || (!$perm{'pav'})) {
  $output.='\batchmode';   $output.='\batchmode';
     }      }
Line 894  sub get_textwidth { Line 894  sub get_textwidth {
   
   
 sub unsupported {  sub unsupported {
     my ($currentURL,$mode,$symb)=@_;      my ($currentURL,$mode)=@_;
     if ($mode ne '') {$mode='\\'.$mode}      if ($mode ne '') {$mode='\\'.$mode}
     my $result.= &print_latex_header($mode);      my $result.= &print_latex_header($mode);
     if ($currentURL=~m|^(/adm/wrapper/)?ext/|) {      if ($currentURL=~/\/ext\//) {
  $currentURL=~s|^(/adm/wrapper/)?ext/|http://|;   $result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' ';
  my $title=&Apache::lonnet::gettitle($symb);  
  $title = &Apache::lonxml::latex_special_symbols($title);  
  $result.=' \strut \\\\ '.$title.' \strut \\\\ '.$currentURL.' ';  
     } else {      } else {
  $result.=$currentURL;   $result.=$currentURL;
     }      }
Line 1080  ENDPART Line 1077  ENDPART
     $cleanURL=$currentURL;      $cleanURL=$currentURL;
  }   }
  $selectionmade = 1;   $selectionmade = 1;
  if ($cleanURL!~m|^/adm/|   if ($cleanURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
     && $cleanURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {  
     my $rndseed=time;      my $rndseed=time;
     my $texversion='';      my $texversion='';
     if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {      if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {
Line 1150  ENDPART Line 1146  ENDPART
     if ($currentURL=~m/\.page\s*$/) {      if ($currentURL=~m/\.page\s*$/) {
  ($result,$number_of_columns) = &page_cleanup($result);   ($result,$number_of_columns) = &page_cleanup($result);
     }      }
         } elsif ($cleanURL!~m|^/adm/|          } elsif ($currentURL=~/\.sequence$/ && $helper->{'VARS'}->{'construction'} eq '1') {
  && $currentURL=~/\.sequence$/ && $helper->{'VARS'}->{'construction'} eq '1') {  
             #printing content of sequence from the construction space              #printing content of sequence from the construction space
     my $flag_latex_header_remove = 'NO';       my $flag_latex_header_remove = 'NO'; 
     my $rndseed=time;      my $rndseed=time;
Line 1220  ENDPART Line 1215  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 1270  ENDPART Line 1264  ENDPART
     if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}      if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}
     if ($i==0) {$prevassignment=$assignment;}      if ($i==0) {$prevassignment=$assignment;}
     my $texversion='';      my $texversion='';
     if ($urlp!~m|^/adm/|      if ($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)$/) {  
  $resources_printed .= $urlp.':';   $resources_printed .= $urlp.':';
  my $pre_counter=$env{'form.counter'};   my $pre_counter=$env{'form.counter'};
  $texversion.=&Apache::lonnet::ssi($urlp,%form);   $texversion.=&Apache::lonnet::ssi($urlp,%form);
Line 1338  ENDPART Line 1331  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 1442  ENDPART Line 1434  ENDPART
  }   }
  my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth));   my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth));
  $moreenv{'problem_split'}    = $parmhash{'problem_stream_switch'};   $moreenv{'problem_split'}    = $parmhash{'problem_stream_switch'};
          $moreenv{'instructor_comments'}='hide';  
  my $seed=time+($$<<16)+($$);   my $seed=time+($$<<16)+($$);
  my @allcodes;   my @allcodes;
  if ($old_name) {   if ($old_name) {
Line 1745  sub print_resources { Line 1736  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|^ext/|   if ($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'};
     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);
Line 1792  sub print_resources { Line 1782  sub print_resources {
     } else {      } else {
  $rendered =~ s/\\end{document}//;   $rendered =~ s/\\end{document}//;
     }      }
     $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'},$curresline);      my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'});
     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 1942  sub printHelper { Line 1931  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 2186  CHOOSE_STUDENTS Line 2175  CHOOSE_STUDENTS
  }   }
   
   
           my %all_codes = &Apache::lonnet::get('CODEs',
        \@names, $cdom,$cnum);
  my %code_values;   my %code_values;
  my %codes_to_print;   my %codes_to_print;
  foreach my $key (@names) {   foreach my $key (keys(%all_codes)) {
     %code_values = &Apache::grades::get_codes($key, $cdom, $cnum);      %code_values = &Apache::grades::get_codes($key, $cdom, $cnum);
     foreach my $key (keys(%code_values)) {      foreach my $key (keys(%code_values)) {
  $codes_to_print{$key} = 1;   $codes_to_print{$key} = 1;
Line 2219  CHOOSE_STUDENTS Line 2210  CHOOSE_STUDENTS
         &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_ANON1);          &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_ANON1);
   <state name="CHOOSE_ANON1" title="Select Students and Resources">    <state name="CHOOSE_ANON1" title="Select Students and Resources">
     <nextstate>PAGESIZE</nextstate>      <nextstate>PAGESIZE</nextstate>
     <message><table><tr><td><b>Number of anonymous assignments to print:</b></td><td></message>      <message><hr width='33%' /></message>
       <message><table><tr><td><b>Number of anonymous assignments to print?</b></td><td></message>
     <string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5">      <string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5">
        <validator>         <validator>
  if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) &&   if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) &&
Line 2232  CHOOSE_STUDENTS Line 2224  CHOOSE_STUDENTS
        </validator>         </validator>
     </string>      </string>
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Names to store the CODEs under for later:</b></message>      <message><b>Value of CODE to print?</b></td><td></message>
     <message></td><td></message>      <string variable="SINGLE_CODE" size="10" defaultvalue="zzzz">
     <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />  
     <message></td></tr><tr><td></message>  
     <message><b>Bubble sheet type:</b></message>  
     <message></td><td></message>  
     <dropdown variable="CODE_OPTION" multichoice="0" allowempty="0">  
     $codechoice  
     </dropdown>  
     <message></td></tr><tr><td colspan="2"><hr width='33%' /></td></tr><tr><td></message>  
     <message></td></tr><tr><td></message>  
     <message><b>Enter a CODE to print:</b></td><td></message>  
     <string variable="SINGLE_CODE" size="10">  
         <validator>          <validator>
    if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}           &&     if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}           &&
       !\$helper->{'VARS'}{'REUSE_OLD_CODES'}                 &&        !\$helper->{'VARS'}{'REUSE_OLD_CODES'}                 &&
Line 2256  CHOOSE_STUDENTS Line 2237  CHOOSE_STUDENTS
    }     }
         </validator>          </validator>
     </string>      </string>
     <message></td></tr><tr><td colspan="2"><hr width='33%' /></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Reprint a set of saved CODEs:</b></message>      <message><b>Choose single code from list</b></message>
     <message></td><td></message>      <message></td><td></message>
       <dropdown variable="CODE_SELECTED_FROM_LIST" multichoice="0" allowempty="0">
       $code_selection
       </dropdown>
       <message></td></tr><tr><td></message>
       <message><b>Names to store the CODEs under for later:</b></message>
       <message></td><td></message>
       <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />
       <message></td></tr><tr><td></message>
       <message><b>Bubble sheet type:</b></message>
       <message></td><td></message>
       <dropdown variable="CODE_OPTION" multichoice="0" allowempty="0">
       $codechoice
       </dropdown>
       <message></td></tr></table></message>
       <message><hr width='33%' /></message>
       <message><b>Reprint a set of saved CODEs:</b></message>
     <dropdown variable="REUSE_OLD_CODES">      <dropdown variable="REUSE_OLD_CODES">
         $namechoice          $namechoice
     </dropdown>      </dropdown>
     <message></td></tr></table></message>  
     <message><hr width='33%' /></message>      <message><hr width='33%' /></message>
     $resource_selector      $resource_selector
   </state>    </state>
Line 2310  CHOOSE_STUDENTS1 Line 2306  CHOOSE_STUDENTS1
  &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_ANON2);   &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_ANON2);
   <state name="CHOOSE_ANON2" title="Select Students and Resources">    <state name="CHOOSE_ANON2" title="Select Students and Resources">
     <nextstate>PAGESIZE</nextstate>      <nextstate>PAGESIZE</nextstate>
     <message><table><tr><td><b>Number of anonymous assignments to print:</b></td><td></message>      <message><table><tr><td><b>Number of anonymous assignments to print?</b></td><td></message>
     <string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5">      <string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5">
        <validator>         <validator>
  if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) &&   if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) &&
Line 2323  CHOOSE_STUDENTS1 Line 2319  CHOOSE_STUDENTS1
        </validator>         </validator>
     </string>      </string>
     <message></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Names to store the CODEs under for later:</b></message>      <message><b>Value of CODE to print?</b></td><td></message>
     <message></td><td></message>      <string variable="SINGLE_CODE" size="10" defaultvalue="zzzz">
     <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />  
     <message></td></tr><tr><td></message>  
     <message><b>Bubble sheet type:</b></message>  
     <message></td><td></message>  
     <dropdown variable="CODE_OPTION" multichoice="0" allowempty="0">  
     $codechoice  
     </dropdown>  
     <message></td></tr><tr><td colspan="2"><hr width='33%' /></td></tr><tr><td></message>  
     <message></td></tr><tr><td></message>  
     <message><b>Enter a CODE to print:</b></td><td></message>  
     <string variable="SINGLE_CODE" size="10">  
         <validator>          <validator>
    if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}           &&     if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}           &&
       !\$helper->{'VARS'}{'REUSE_OLD_CODES'}                 &&        !\$helper->{'VARS'}{'REUSE_OLD_CODES'}                 &&
Line 2347  CHOOSE_STUDENTS1 Line 2332  CHOOSE_STUDENTS1
    }     }
         </validator>          </validator>
     </string>      </string>
     <message></td></tr><tr><td colspan="2"><hr width='33%' /></td></tr><tr><td></message>      <message></td></tr><tr><td></message>
     <message><b>Reprint a set of saved CODEs:</b></message>      <message><b>Choose single code from list</b></message>
       <message></td><td></message>
       <dropdown variable="CODE_SELECTED_FROM_LIST" multichoice="0" allowempty="0">
       $code_selection
       </dropdown>
       <message></td></tr><tr><td></message>
       <message><b>Names to store the CODEs under for later:</b></message>
       <message></td><td></message>
       <string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" />
       <message></td></tr><tr><td></message>
       <message><b>Bubble sheet type:</b></message>
     <message></td><td></message>      <message></td><td></message>
       <dropdown variable="CODE_OPTION" multichoice="0" allowempty="0">
       $codechoice
       </dropdown>
       <message></td></tr></table></message>
       <message><hr width='33%' /></message>
       <message><b>Reprint a set of saved CODEs:</b></message>
     <dropdown variable="REUSE_OLD_CODES">      <dropdown variable="REUSE_OLD_CODES">
         $namechoice          $namechoice
     </dropdown>      </dropdown>
     <message></td></tr></table></message>  
     <message><hr width='33%' /></message>      <message><hr width='33%' /></message>
     $resource_selector      $resource_selector
   </state>    </state>
Line 2519  CHOOSE_FROM_ANY_SEQUENCE Line 2519  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_value','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','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>

Removed from v.1.408.2.5  
changed lines
  Added in v.1.409


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