1
0
Fork 0
my_site_mk3/cave.pl

54 lines
2 KiB
Perl

#!/usr/bin/perl
use locale;
require 'common.pl';
use CGI qw/:standard/;
#use CGI::Carp 'fatalsToBrowser';
my $debug_out="debug/debug_cave.txt";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
local($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$in{$name} = $value;
}
my @cookieArray=split ("; ",$ENV{'HTTP_COOKIE'});
my $cookieName;my $cookieValue;
foreach (@cookieArray){
($cookieName,$cookieValue)=split("=",$_);
$cookieHash{$cookieName}=$cookieValue;
}
if ($ENV{'QUERY_STRING'} ne '') {
@qstr = split (/=/,$ENV{'QUERY_STRING'});
$command = $qstr[0];
$value = $qstr[1];
$value =~ s/[\x00-\x20<>\|;\(\)\$^\+!\^\[\]\?\"\'\`]//g;
if ($command eq "error"){$error=1;&displayDefault;}
else {&displayDefault;}
}
else{&displayDefault;}
sub displayDefault(){
print "Content-type: text/html\n\n";
print <<"EOF";
<html>\n
<head><script language="javascript">
window.onload=function() {document.getElementById("in").focus();};
</script>\n<title>Ïåùåðà</title>\n
EOF
if ($cookieHash{'light'}){print '<link type="text/css" rel="stylesheet" href="white.css">';}
else {print '<link type="text/css" rel="stylesheet" href="black.css">';}
print <<"EOF";
</head><body>
Êàê òîëüêî âû òÿíåòå íà ñåáÿ êíèãó,øêàô îòúåçæàåò â ñòîðîíó,îòêðûâàÿ çà ñîáîé ëåñòíèöó,âåäóùóþ âíèç.
Âû ñïóñêàåòåñü ïî ëåñòíèöå â ïåùåðó.Ýòà êîìíàòà áóêâàëüíî âûäîëáëåíà â ñêàëå.Ïåðåä âàìè ñòîèò ïèñüìåííûé ñòîë,íà
í¸ì ëåæèò çàïèñêà.Âûñîêî íà äàëüíåé ñòåíå ïðîðóáëåíî îêíî.Îíî äîñòàòî÷íî øèðîêî,÷òîáû îñâåùàòü êîìíàòó.
Íà "ïîäîêîííèêå" ñèäèò âîðîí.
EOF
if ($error){print "<p id=\"err\">Êîìàíäà íå ðàñïîçíàíà.</p>";$error=0;}
print "<FORM NAME='input' ACTION='parse.pl' METHOD='POST'>\n";
print "<input type='hidden' name='location' id='location' value='cave'>";
print "&gt; <input type=text id='in' name='input' size=54 maxlength=65>\n";
print "</body>\n</html>";
}