renew source.
[chise/kage.git] / linkmap / map.cgi
index 28c9135..27f2701 100755 (executable)
@@ -1,19 +1,27 @@
 #!/usr/bin/perl
 
-$random = sprintf "%05X", int(rand()*0x100000);
+$PERL = "/usr/bin/perl";
+#$LINKMAP_DIR = "/var/www/fonts.jp/chise_linkmap";
+$LINKMAP_DIR = "/var/www/chise_linkmap";
 
 use CGI;
 $cgi = new CGI;
-$target = $cgi->param('code');
-$target =~ tr/\;\<\>\|//d;
-$dummy = `/usr/bin/perl /var/www/chiseperl/map.pl $target $random 2>/dev/null`;
-
-$buffer = "";
-open FH, "<$random.html";
-foreach(<FH>){
-  $buffer .= $_;
+$target = lc($cgi->param('code'));
+if($target !~ m/^[0-9a-f]{4,5}$/){
+  $buffer = "Request error!";
+} else {
+  if(!-e "$LINKMAP_DIR/data/linkmap_$target.html"){
+    $dummy = `$PERL $LINKMAP_DIR/map.pl $target data/linkmap_$target 2>/dev/null`;
+  }
+  
+  $buffer = "";
+  open FH, "<$LINKMAP_DIR/data/linkmap_$target.html";
+  while(!eof(FH)){
+    $buffer .= <FH>;
+  }
+  close FH;
 }
-close FH;
 
 print "Content-type: text/html\n\n";
 print $buffer;
+