Diff for /loncom/interface/lonprintout.pm between versions 1.6 and 1.7

version 1.6, 2001/10/02 14:09:25 version 1.7, 2001/10/15 14:50:10
Line 51  ENDMENUOUT Line 51  ENDMENUOUT
 }  }
   
   
   
 sub output_data {  sub output_data {
     my $r = shift;      my $r = shift;
     $r->print(<<ENDPART);      $r->print(<<ENDPART);
Line 68  ENDPART Line 67  ENDPART
     my %mystyle;      my %mystyle;
     my $filename;      my $filename;
   
   
     if ($choice eq 'Standard LaTeX output for current document') {      if ($choice eq 'Standard LaTeX output for current document') {
   
  my $file=&Apache::lonnet::filelocation("",'/res/'.$ENV{'request.ambiguous'});   my $file=&Apache::lonnet::filelocation("",'/res/'.$ENV{'request.ambiguous'});
  my $filecontents=&Apache::lonnet::getfile($file);   my $filecontents=&Apache::lonnet::getfile($file);
  $result = &Apache::lonxml::xmlparse('tex',$filecontents,'',%mystyle);   $result = &Apache::lonxml::xmlparse('tex',$filecontents,'',%mystyle);
       } elsif ($choice eq 'Standard LaTeX output for the whole sequence') {
    my @master_seq = ();
    my $keyword = 0;
    my $output_seq = '';
    my $current_file = '/res/'.$ENV{'request.ambiguous'};
           $current_file =~ s/(\/res\/physnet\/physnet)(\/m\d+)\/(.*)/$1$2$2\.sequence/;
    while ($current_file ne '') {
       my $file=&Apache::lonnet::filelocation("",$current_file);
       my $filecontents=&Apache::lonnet::getfile($file);
       my @file_seq = &content_map($filecontents);
       if (defined @file_seq) {
   #-- adding an additional array to the master one
    if (defined @master_seq) {
                       my $old_value = $#master_seq;
       my $total_value = $#master_seq + $#file_seq +2;
                       for (my $j=0; $j<=$old_value-$keyword+1; $j++) {
    $master_seq[$total_value-$j] = $master_seq[$old_value-$j];
       }
                       for (my $j=0; $j<=$#file_seq; $j++){
    $master_seq[$keyword+$j] = $file_seq[$j];
       }
       @file_seq = ();
       $keyword = 0;
    } else {
       @master_seq = @file_seq;
                       @file_seq = ();
    }
       } 
   #-- checking wether .sequence file is among the set of files
       $current_file = '';
       for (my $i=0; $i<=$#file_seq; $i++) {
    $_ = $file_seq[$i];
    if (m/(.*)\.sequence/) {
       $current_file = $_;
       $keyword = $i;
       last;
    }
       }        
    }
   #-- produce an output string
    for (my $i=0;$i<=$#master_seq;$i++) {
       $_ = $master_seq[$i];
       m/\"(.*)\"/;
       if (index($1,'-tc.xml',0)==-1) {
    my $file=&Apache::lonnet::filelocation("",$1);
    my $filecontents=&Apache::lonnet::getfile($file);
    $output_seq .= $filecontents;
       }
    }
   #-- cleanup of output string (temporary cbi-specific)
    $output_seq =~ s/<physnet>//g;
    $output_seq =~ s/<\/physnet>//g;
    $output_seq = '<physnet>'.$output_seq.' </physnet>';
   #-- final accord
    $result = &Apache::lonxml::xmlparse('tex',$output_seq,'',%mystyle);
       }
   #-- writing .tex file in prtspool 
  {   {
     my $temp_file;      my $temp_file;
     $filename = "/home/httpd/prtspool/$ENV{'environment.firstname'}$ENV{'environment.lastname'}temp$ENV{'user.login.time'}.tex";      $filename = "/home/httpd/prtspool/$ENV{'environment.firstname'}$ENV{'environment.lastname'}temp$ENV{'user.login.time'}.tex";
Line 84  ENDPART Line 137  ENDPART
     }       } 
  print $temp_file $result;   print $temp_file $result;
  }   }
   
          
       
   
     } elsif ($choice eq 'Standard LaTeX output for the whole sequence') {  
  my $current_file = '/res/'.$ENV{'request.ambiguous'};  
         $current_file =~ s/(\/res\/physnet\/physnet)(\/m\d+)\/(.*)/$1$2$2\.sequence/;  
  my $file=&Apache::lonnet::filelocation("",$current_file);  
  my $filecontents=&Apache::lonnet::getfile($file);  
  $result = &Apache::lonxml::xmlparse('tex',$filecontents,'',%mystyle);  
   
  my @number_seq = &content_map($result);  
  $r->print(@number_seq);  
   
   
   
   
     }  
       
   
 $r->print(<<FINALEND);  $r->print(<<FINALEND);
 <meta http-equiv="Refresh" content="0; url=http://bistromath.lite.msu.edu/cgi-bin/printout.pl?$filename">  <meta http-equiv="Refresh" content="0; url=http://bistromath.lite.msu.edu/cgi-bin/printout.pl?$filename">
 </body>  </body>
Line 115  FINALEND Line 148  FINALEND
   
   
 sub content_map {  sub content_map {
 #-- find a list of files to publish  #-- find a list of files to print
     my $map_string = shift;      my $map_string = shift;
   
     my @number_seq = ();      my @number_seq = ();
       my @file_seq = ();
     my $startlink = index($map_string,'<link',0);      my $startlink = index($map_string,'<link',0);
       my $endlink = index($map_string,'</link>',$startlink);
       my $chunk = substr($map_string,$startlink,$endlink-$startlink+7);
       $_ = $chunk;
       m/from=\"(\d+)\"/;
       push @number_seq,$1;
     while ($startlink != -1) {      while ($startlink != -1) {
  my $endlink = index($map_string,'</link>',$startlink);   $endlink = index($map_string,'</link>',$startlink);
  my $chunk = substr($map_string,$startlink,$endlink-$startlink+7);   $chunk = substr($map_string,$startlink,$endlink-$startlink+7);
  substr($map_string,$startlink,$endlink-$startlink+7) = '';   substr($map_string,$startlink,$endlink-$startlink+7) = '';
  $_ = $chunk;   $_ = $chunk;
         m/from=\"(\d+)\"/;  
  push @number_seq,$1;  
         m/to=\"(\d+)\"/;          m/to=\"(\d+)\"/;
  push @number_seq,$1;   push @number_seq,$1;
  $startlink = index($map_string,'<link from="'.$1.'"',$startlink);   $startlink = index($map_string,'<link from="'.$1.'"',$startlink);
     }      }
       my $stalink = index($map_string,' to="'.$number_seq[0].'"',$startlink);
     return @number_seq;      while ($stalink != -1) {
    $startlink = rindex($map_string,'<link ',$stalink);
    $endlink = index($map_string,'</link>',$startlink);
 #    my @one = ();   $chunk = substr($map_string,$startlink,$endlink-$startlink+7);
 #    my @two = ();   substr($map_string,$startlink,$endlink-$startlink+7) = '';
 #    my @three = ();   $_ = $chunk;
 #    my $start = index($map_string,'<link',0);          m/from=\"(\d+)\"/;
 #    while ($start != -1) {   unshift @number_seq,$1;
 # my $finish =  index($map_string,'</link>',$start);   $stalink = index($map_string,' to="'.$number_seq[0].'"',0);
 # my $chunk = substr($map_string,$start,$finish-$start+7);      }
 # substr($map_string,$start,$finish-$start+7) = '';      for (my $i=0;$i<=$#number_seq;$i++) {
 # $_ = $chunk;   $stalink = index($map_string,' id="'.$number_seq[$i].'"',0);
 #        m/from=\"(\d+)\"/;   $startlink = index($map_string,'src="',$stalink);
 # push @one,$1;   $startlink = index($map_string,'"',$startlink);
 #        m/to=\"(\d+)\"/;   $endlink = index($map_string,'"',$startlink+1);
 # push @two,$1;   $chunk = substr($map_string,$startlink,$endlink-$startlink+1);
 # $start = index($map_string,'<link',$start);   push @file_seq,$chunk;
 #    }      }
       return @file_seq;
   
 #    return @three;  
 #    return $map_string;  
 }  }
   
   
   
 sub handler {  sub handler {
   
     my $r = shift;      my $r = shift;

Removed from v.1.6  
changed lines
  Added in v.1.7


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