Diff for /loncom/interface/lonprintout.pm between versions 1.111 and 1.112

version 1.111, 2003/02/04 22:22:07 version 1.112, 2003/02/07 19:47:48
Line 144  ENDMENUOUT4 Line 144  ENDMENUOUT4
                                            </select>                                              </select> 
    </td>     </td>
  </tr>   </tr>
   
 </table>  </table>
 </br>   </br> 
 <input type="submit" value="Submit your choice">  <input type="submit" value="Submit your choice">
Line 158  sub sequence_content_menu { Line 159  sub sequence_content_menu {
     my @sequence = split('___',$symbolic);      my @sequence = split('___',$symbolic);
     if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];}       if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];} 
       else {$primary_sequence = '/res/'.$sequence[0];}         else {$primary_sequence = '/res/'.$sequence[0];} 
     my @master_seq = &coming_from_hash($primary_sequence,$sequence[0]);      my @master_seq = &coming_from_hash($primary_sequence);
     my @titles_master_seq = &titles_coming_from_hash($primary_sequence,$sequence[0]);      my @titles_master_seq = (); 
     foreach my $entity (@titles_master_seq) {$entity=~/^(.*)&&/; $entity=$1}      for (my $i=0;$i<=$#master_seq;$i++) {
    my ($path,$title,$symb) = split /&&/,$master_seq[$i];
    $master_seq[$i] = $path.'&&'.$symb;
           push @titles_master_seq,  $title;
       }
     my @master_seq_view = @master_seq;      my @master_seq_view = @master_seq;
     if ($ENV{'user.adv'}) {      if ($ENV{'user.adv'}) {
       for (my $i=0;$i<=$#master_seq_view;$i++) {        for (my $i=0;$i<=$#master_seq_view;$i++) {
Line 183  sub sequence_content_menu { Line 188  sub sequence_content_menu {
 <script>  <script>
     function checkall() {      function checkall() {
  for (i=0; i<document.forms.printform.elements.length; i++) {   for (i=0; i<document.forms.printform.elements.length; i++) {
             if               if (document.forms.printform.elements[i].name.indexOf('whatfile')==0) {
           (document.forms.printform.elements[i].name.indexOf('whatfile')==0) {  
       document.forms.printform.elements[i].checked=true;        document.forms.printform.elements[i].checked=true;
             }              }
         }          }
Line 198  sub sequence_content_menu { Line 202  sub sequence_content_menu {
         }          }
     }      }
 </script>  </script>
   <b>DDD=$#titles_master_seq</b> $titles_master_seq[0]<br />
 <input type=button onClick="checkall()" value="Check All">&nbsp;  <input type=button onClick="checkall()" value="Check All">&nbsp;
 <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;  <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;
 <input type="submit" value="Submit">  <input type="submit" value="Submit">
Line 549  ENDPART Line 554  ENDPART
  } else {   } else {
     $main_seq = '/res/'.$ENV{'request.course.uri'};      $main_seq = '/res/'.$ENV{'request.course.uri'};
  }   }
  my @file_seq = &coming_from_hash_whole($main_seq);   my @file_seq = &coming_from_hash($main_seq);
    for (my $i=0;$i<=$#file_seq;$i++) {
       my ($path,$title,$symb) = split /&&/,$file_seq[$i];
       $file_seq[$i] = $path.'&&'.$symb;
    }
  my $flag_latex_header_remove = 'NO';   my $flag_latex_header_remove = 'NO';
         #-- produce an output string          #-- produce an output string
  for (my $i=0;$i<=$#file_seq;$i++) {   for (my $i=0;$i<=$#file_seq;$i++) {
Line 586  ENDPART Line 595  ENDPART
  #where is the primary sequence containing current resource (the same for all students)?   #where is the primary sequence containing current resource (the same for all students)?
  my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});   my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
  my @sequence = split('___',$symbolic);   my @sequence = split('___',$symbolic);
  my $primary_sequence = '/res/'.$sequence[0];   my $primary_sequence;
  my @master_seq = &coming_from_hash($primary_sequence,$sequence[0]);    if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];} 
             else {$primary_sequence = '/res/'.$sequence[0];}  
    my @master_seq = &coming_from_hash($primary_sequence); 
    for (my $i=0;$i<=$#master_seq;$i++) {
       my ($path,$title,$symb) = split /&&/,$master_seq[$i];
       $master_seq[$i] = $path.'&&'.$symb;
    }
         #loop over students          #loop over students
  my $flag_latex_header_remove = 'NO';    my $flag_latex_header_remove = 'NO'; 
  my %moreenv;   my %moreenv;
Line 617  ENDPART Line 632  ENDPART
     }      }
     if ($current_output=~/\\documentclass/) {      if ($current_output=~/\\documentclass/) {
  my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};   my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
  $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{$courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}  \\begin{document}\\noindent\\textit{\\textbf{$fullname}}\\vskip 3 mm /;   $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{$courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}} \\begin{document}\\noindent\\textit{\\textbf{$fullname}}\\vskip 3 mm /;
     } else {      } else {
  my $blanspages = '';   my $blanspages = '';
  for (my $j=0;$j<$ENV{'form.addedpages'};$j++) {$blanspages.='\clearpage\strut\clearpage';}   for (my $j=0;$j<$ENV{'form.addedpages'};$j++) {$blanspages.='\clearpage\strut\clearpage';}
Line 712  FINALEND Line 727  FINALEND
 }  }
   
   
 sub coming_from_hash_whole {  sub coming_from_hash {
   
     my $mainsequence = shift;      my $mainsequence = shift;
     my @resourcelist = ();      my @resourcelist = ();
Line 722  sub coming_from_hash_whole { Line 737  sub coming_from_hash_whole {
     my $current_resource = $mapstart;      my $current_resource = $mapstart;
     while ($current_resource ne $mapfinish) {      while ($current_resource ne $mapfinish) {
  if ($hash{'src_'.$current_resource}=~/\.sequence$/) {   if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
     push @resourcelist,&coming_from_hash_whole($hash{'src_'.$current_resource});      push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});
  } else {   } else {
     my $presymb;       my $presymb; 
     if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;}       if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;} 
               elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;}                 elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;} 
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};      my $rid = $current_resource;
     if ($rid=~/,/) {      if ($rid=~/,/) {
  my @rid = split /,/, $rid;   my @rid = split /,/, $rid;
  foreach my $rid_element (@rid) {   foreach my $rid_element (@rid) {
Line 742  sub coming_from_hash_whole { Line 757  sub coming_from_hash_whole {
     }      }
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;      $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
     my $symb = $presymb.'___'.$rid.'___'.$1;          my $symb = $presymb.'___'.$rid.'___'.$1;    
     push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$symb;      push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$hash{'title_'.$current_resource}.'&&'.$symb;
  }   }
  $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};   $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
     }       } 
     #needs if final resource in the map (type="finish") contains something      #needs if final resource in the map (type="finish") contains something
  if ($hash{'src_'.$current_resource}=~/\.sequence$/) {   if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
     push @resourcelist,&coming_from_hash_whole($hash{'src_'.$current_resource});      push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});
  } else {   } else {
     my $presymb;       my $presymb; 
     if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;}       if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;} 
               elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;}                 elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;} 
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};      my $rid = $current_resource;
     if ($rid=~/,/) {      if ($rid=~/,/) {
  my @rid = split /,/, $rid;   my @rid = split /,/, $rid;
  foreach my $rid_element (@rid) {   foreach my $rid_element (@rid) {
Line 768  sub coming_from_hash_whole { Line 783  sub coming_from_hash_whole {
     }      }
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;      $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
     my $symb = $presymb.'___'.$rid.'___'.$1;          my $symb = $presymb.'___'.$rid.'___'.$1;    
     push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$symb;      push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$hash{'title_'.$current_resource}.'&&'.$symb;
  }  
  $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};  
     return @resourcelist;  
 }  
   
   
 sub coming_from_hash {  
   
     my ($mainsequence,$symb) = @_;  
     my @resourcelist = ();  
     my $mapid = $hash{'map_pc_'.$mainsequence};  
     my $mapstart = $hash{'map_start_'.$mainsequence};  
     my $mapfinish = $hash{'map_finish_'.$mainsequence};  
     my ($presymb);  
     if ($symb) {  
  ($presymb)=split(/___/,$symb);  
     } else {  
  $presymb=$mainsequence;  
  $presymb=~s|^/res/||;  
     }  
     $presymb = $presymb.'___';  
     my $current_resource = $mapstart;  
     while ($current_resource ne $mapfinish) {  
  if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {  
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};  
             if ($rid=~/,/) {  
  my @rid = split /,/, $rid;  
  foreach my $rid_element (@rid) {  
     if ($rid_element =~ m/^$mapid\.(\d*)/) {  
  $rid = $1;   
  last;  
     }  
  }  
     } else {  
  $rid =~ m/^$mapid\.(\d*)/;  
                 $rid = $1;    
     }  
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;  
     $symb = $presymb.$rid.'___'.$1;  
     push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$symb;  
  } else {  
     push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});  
  }   }
  $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};   $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
     }  
     #needs if final resource in the map (type="finish") contains something  
     if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {  
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};  
             if ($rid=~/,/) {  
  my @rid = split /,/, $rid;  
  foreach my $rid_element (@rid) {  
     if ($rid_element =~ m/^$mapid\.(\d*)/) {  
  $rid = $1;   
  last;  
     }  
  }  
     } else {  
  $rid =~ m/^$mapid\.(\d*)/;  
                 $rid = $1;    
     }  
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;  
     $symb = $presymb.$rid.'___'.$1;  
  push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$symb;  
     } else {  
  push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});  
     }  
     return @resourcelist;      return @resourcelist;
 }  }
   
   
 sub titles_coming_from_hash {  
   
     my ($mainsequence,$symb) = @_;  
     my @resourcelist = ();  
     my $mapid = $hash{'map_pc_'.$mainsequence};  
     my $mapstart = $hash{'map_start_'.$mainsequence};  
     my $mapfinish = $hash{'map_finish_'.$mainsequence};  
     my ($presymb);  
     if ($symb) {  
  ($presymb)=split(/___/,$symb);  
     } else {  
  $presymb=$mainsequence;  
  $presymb=~s|^/res/||;  
     }  
     $presymb = $presymb.'___';  
     my $current_resource = $mapstart;  
     while ($current_resource ne $mapfinish) {  
  if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {  
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};  
             if ($rid=~/,/) {  
  my @rid = split /,/, $rid;  
  foreach my $rid_element (@rid) {  
     if ($rid_element =~ m/^$mapid\.(\d*)/) {  
  $rid = $1;   
  last;  
     }  
  }  
     } else {  
  $rid =~ m/^$mapid\.(\d*)/;  
                 $rid = $1;    
     }  
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;  
     $symb = $presymb.$rid.'___'.$1;  
     push @resourcelist,$hash{'title_'.$current_resource}.'&&'.$symb;  
  } else {  
     push @resourcelist,&titles_coming_from_hash($hash{'src_'.$current_resource});  
  }  
  $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};  
     }  
     #needs if final resource in the map (type="finish") contains something  
     if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {  
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};  
             if ($rid=~/,/) {  
  my @rid = split /,/, $rid;  
  foreach my $rid_element (@rid) {  
     if ($rid_element =~ m/^$mapid\.(\d*)/) {  
  $rid = $1;   
  last;  
     }  
  }  
     } else {  
  $rid =~ m/^$mapid\.(\d*)/;  
                 $rid = $1;    
     }  
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;  
     $symb = $presymb.$rid.'___'.$1;  
  push @resourcelist,$hash{'title_'.$current_resource}.'&&'.$symb;  
     } else {  
  push @resourcelist,&titles_coming_from_hash($hash{'src_'.$current_resource});  
     }  
     return @resourcelist;  
 }  
   
 sub latex_header_footer_remove {  sub latex_header_footer_remove {
     my $text = shift;      my $text = shift;
     $text =~ s/\\end{document}//;      $text =~ s/\\end{document}//;

Removed from v.1.111  
changed lines
  Added in v.1.112


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