#!/usr/bin/perl # Anything, an Everything clone # By strredwolf # Config... $root='/home/tygris/web/doc/ws'; # Code use CGI::Lite; $cgi=new CGI::Lite; %form=$cgi->parse_form_data; chdir $root; if(! -e 'ids/-1') { mkdir 'names'; mkdir 'ids'; open(OUT,">ids/-1"); print OUT "Item not found\n-1\nNot found! Try again.\n"; close(OUT); open(OUT,">ids/-2"); print OUT "New node\n-2\n\n"; close(OUT); } $|=1; if($ENV{'REQUEST_METHOD'} eq "GET") { if($ENV{'QUERY_STRING'}) { $node_id=$form{"node_id"}; $node=$form{"node"}; $op=$form{"op"}; } $node_id=0, $op='' unless($node_id ne ''||$node); chomp $node; chomp $node_id; if($node) { $node =~ y/A-Z/a-z/; $node =~ y/a-z0-9/_/cs; opendir(DIR,"names/.") || print "Error: $!\n"; @d=readdir(DIR); closedir(DIR); @z=grep(/$node/,@d); $node_id=-1; if(@z) { open(IN,"names/$z[$1]"); ; $node_id=; chomp $node_id; close(IN); } } foreach($node_id,-1) { $node_id=-1 unless(/^-?\d+$/); $path="ids/$_"; last if(-e $path); } if(open(IN, "<$path")) { $name=; chomp $name; $nid=; chomp $nid; @mess=; @m2=@mess; foreach $_ (@m2) { s#\[id://(\d+)\|([^\]]+)\]#$2#g; s#\[(http[^|]+)\|([^\]]+)\]#$2#g; s#\[([^|]+)\|([^\]]+)\]#$2#g; s#\[([^\]]+)\]#$1#g; } print "Content-type: text/html\n\n"; print "$name -- Anything\n"; print '\n"; print '
'; print "\n$name
$node_id\n
Anything
New node
'; print "

"; print @m2; print "

"; if($op ne "edit") { print "

Edit this node

" if($nid>-1); } else { if($nid==-2) { if(open(IN,"; chomp $node_id; flock(IN,8); close(IN); $nid++; } else { $nid=0 }; open(OUT,">node.d8a"); flock(OUT,2); print OUT "$nid\n"; flock(OUT,8); close(OUT); } print '

'; print '
'; print '"; print ''; print ''; print '

'; } print "\n
\n"; } else { print "Died because of this: $!
\n"; } } elsif($ENV{'REQUEST_METHOD'} eq "POST") { $node_id=$form{"node_id"}; $name=$form{"name"}; $op=$form{"op"}; $mess=$form{"mess"}; $node=$name; $node =~ y/A-Z/a-z/; $node =~ s/[^a-z0-9]/_/g; $path="names/$node"; $path2="ids/$node_id"; open(OUT,">$path2"); print OUT "$name\n$node_id\n$mess"; close(OUT); symlink("../$path2",$path); print "\n\n"; print "\n"; print "This is where to go...\n"; print "\n"; }