Diff for /loncom/cgi/plot.gif between versions 1.7 and 1.12

version 1.7, 2001/12/21 16:10:58 version 1.12, 2006/09/06 19:26:07
Line 29  use strict; Line 29  use strict;
 $|=1;  $|=1;
   
 my $tmpdir = '/home/httpd/perl/tmp/';  my $tmpdir = '/home/httpd/perl/tmp/';
 my $filename = $ENV{'QUERY_STRING'};  my %data;
   foreach (split/&/,$ENV{'QUERY_STRING'}) {
 if ($filename =~ /\// |      my ($name,$value)=split/=/;
     $filename !~ /_plot.data$/) {      $data{$name}=$value;
     die;  
 }  }
   my $filename = $data{'file'};
   # unescape filename
   $filename =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
   die if ($filename =~ /\// || $filename !~ /_plot.data$/);
 $filename = $tmpdir . $filename;  $filename = $tmpdir . $filename;
 if (-e $filename) {  die "$data{'file'} does not exist\n" if (! -e $filename);
   
   my $output = $data{'output'};
   if ($output eq '') {
       $output = (split('\.',$0))[-1];
   }
   
   if ($output eq 'gif' || $output eq 'png') {
     open PLOT, "gnuplot $filename |";      open PLOT, "gnuplot $filename |";
     print <<"END";      print <<"END";
 Content-type: image/gif  Content-type: image/$output
   
 END  END
     while ($_=<PLOT>) {      while ($_=<PLOT>) {
  print;   print;
     }      }
 }  } elsif ($output eq 'eps') {
       print <<"END";
   Content-type: text/html
   
   <html><head><title>eps plot creation</title></head>
   <body>
   <h2>Creating eps plot</h2>
   
   END
       if (! system ("gnuplot $filename")) {
           print "<h2>An error occured.</h2>\n".
               "I am not going to tell you about it as I have not bothered ".
               "to figure out how to get you the error text.\n";
       } else {
           print "<h2>EPS file generated successfully.</h2>\n";
       }
       print "</body></html>\n";
   } else {
       die "output $output is not a recognized value or has no value\n";
   }

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


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