home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- $login="111";
- $pass="222";
- $mess=15;
- $filename="data.blt";
- $filehdr="header.blt";
- $fileend="end.blt";
-
- $page=0;
-
- if ($ENV{'REQUEST_METHOD'} eq "POST")
- {
- read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'});
- }
- else
- {
- $bufer=$ENV{'QUERY_STRING'};
- }
-
- @pairs = split(/&/, $bufer);
- foreach $pair (@pairs)
- {
-
- ($name, $value) = split(/=/, $pair);
- $name =~ tr/+/ /;
- $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $value =~ tr/+/ /;
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-
- $FORM{$name} = $value;
- }
-
- $action=$FORM{action};
- if ($FORM{page} ne "")
- {$page=$FORM{page};}
-
-
-
- &html;
-
- &readdata;
- if($bufer eq ""){&showpass;}
- if($action eq "Edit"){&edit;}
- elsif($action eq "checkpass"){&checkpass;}
- elsif($action eq "Delete"){&delet;}
- elsif($action eq "Ready"){&addedit;}
- &htmlend;
-
-
-
-
-
-
-
-
- sub checkpass
- {
- if($FORM{login} eq $login && $FORM{pass} eq $pass)
- {
- &show;
- &glos;
- }
- else
- {
- print "Incorrect login or password.<br><br><br>\n";
- &showpass;
- }
- }
-
- sub showpass
- {
- print "<form action=admin.pl method=GET>";
- print "<table width=300 border=0>";
- print "<tr><td>";
- print "Enter login:<br>";
- print "<input type=text size=25 name=login><br>";
- print "Enter password:<br>";
- print "<input type=password size=25 name=pass><br><br>";
- print "<input type=hidden name=action value=checkpass>";
- print "<input type=submit value=Send>";
- print "</td></tr>";
- print "</table></form>";
- print "";
- print "</center></body></html>";
- exit;
- }
-
- sub addedit
- {
- open (ADD,"$filename");
- @line=<ADD>;
- close (ADD);
-
- ($name,$mail,$url,$tim,$city,$text2,$answer) = split(/::/,@line[$FORM{id}]);
- if($FORM{ans} ne "")
- {
- $answer=$FORM{ans};
- $answer=~ s/\n/<br>/g;
- $answer="$answer\n";
- }
- else{$answer="0\n";}
- if($FORM{mess} ne "")
- {$FORM{mess} =~ s/\n/<br>/g;}
- else{&error;}
- if($FORM{mail} ne ""){$mail=$FORM{mail};}
- else{$mail="0";}
- if($FORM{url} ne ""){$url=$FORM{url};}
- else{$url="0";}
- if($FORM{city} ne ""){$city=$FORM{city};}
- else{$city="0";}
- if($FORM{name} eq ""){&error;}
- @line[$FORM{id}]=join("::",$FORM{name},$mail,$url,$tim,$city,$FORM{mess},$answer);
-
-
-
- open (ADD,">$filename");
- for($i=0;$i<=@line;$i++)
- {
- print ADD "@line[$i]";
- }
- close (ADD);
- &readdata;
- &show;
- &glos;
- }
-
-
-
- sub show
-
- {
-
- print "<br><br><u>Administration.</u><br><br>\n";
- print "<table border=0 cellpadding=0 cellspacing=0 width=400>";
- for($i=$page;$i<=$pageend;$i++)
- {
- ($name,$mail,$url,$tim,$city,$text2,$answer) = split(/::/,$DATA[$i]);
- if($name ne "")
- {
- print "<form action=admin.pl method=POST>";
-
- print "<tr><td align=left><font size=2 face=Tahoma><b>$name</b>";
- if($city ne "0"){print " ($city)";}
- print "</font><br>";
- if ($mail ne "0")
- {
- print "<a href=\"mailto:$mail\" class=a><font size=2 >$mail</font></a><br>";
- }
- if($url ne "0")
- {
- print "<a href=\"http://$url\" class=a><font size=2 >$url</font><br>";
- }
-
- $text2 =~ s/:-\)/<img src=smile1.gif border=>/g;
- $text2 =~ s/:-\|/<img src=smile3.gif border=>/g;
- $text2 =~ s/:-\(/<img src=smile2.gif border=>/g;
- $text2 =~ s/:\)/<img src=smile1.gif border=>/g;
- $text2 =~ s/:\|/<img src=smile3.gif border=>/g;
- $text2 =~ s/:\(/<img src=smile2.gif border=>/g;
- print "</td></tr><tr><td>$text2</td></tr><tr>
- <td align=right><font size=2 face=Tahoma>$tim
- </font></td></tr>";
- if($answer ne "0\n")
- {
- $answer =~ s/:-\)/<img src=smile1.gif border=>/g;
- $answer =~ s/:-\|/<img src=smile3.gif border=>/g;
- $answer =~ s/:-\(/<img src=smile2.gif border=>/g;
- $answer =~ s/:\)/<img src=smile1.gif border=>/g;
- $answer =~ s/:\|/<img src=smile3.gif border=>/g;
- $answer =~ s/:\(/<img src=smile2.gif border=>/g;
- print "<tr><td> Answer: $answer</td></tr>";
- }
- print "<tr><td align=center><input type=hidden name=id value=$i><input type=submit name=action value=Edit> <input type=submit name=action value=Delete><br><br>-----------<br><br></td></tr></form>";
- }
- }
- print "</table>";
- print "<br>Total messages - $allmess<br>";
- }
-
-
- sub glos
- {
- $all = int($allmess / $mess)+1;
- print "| ";
- for($i=1;$i <= $all;$i++)
- {
- $to=$i*$mess-$mess;
- $a=$page/10+1;
- if($a ne $i)
- {print " <a href=admin.pl?page=$to class=a>$i</a> |";}
- else
- {print " $i |";}
- }
- }
-
- sub html
- {
- print "Content-type: text/html\n\n";
-
- print "<html><head><title>Administartion</title>";
- print <<STYLE;
- <style type="text/css">
- <!--
-
- .in, INPUT, TEXTAREA, SELECT, RADIO {border-style: solid; border-width:1 ; font-family: Tahoma; color:black; font-size=13px;}
- .gb {border-style: solid; border-width:1 ; font-family: Tahoma; color:#BA7C0A; font-size=13px;}
- .bt, BUTTONS {border-color: black; background: white; color:black; font-size=11px;}
- td {font-family:tahoma;font-size=13px;}
- body {font-family:tahoma;background: white;font-size=14px; align=center;}
- .fnt{background-color:#FFCCCC;}
-
- a:link {text-decoration: none; color: "black"}
- a:visited {text-decoration: none;color: "black"}
- a:active {text-decoration: none; color: "black"}
- a:hover {text-decoration: underline; color: "black"}
-
- .a:link {text-decoration: none; color: "#BA7C0A"}
- .a:visited {text-decoration: none;color: "#BA7C0A"}
- .a:active {text-decoration: none; color: "#BA7C0A"}
- .a:hover {text-decoration: underline; color: "#BA7C77"}
- -->
- </style>
- </head>
- <body>
- STYLE
- print "<center>";
- }
-
-
- sub htmlend
- {
-
- print "";
- print "";
- print "</center></body></html>";
-
- }
-
-
- sub error
- {
- print "Content-type: text/html\n\n";
- print "<html><head><title>GUESBTOOK</title>";
- print "<b>Fields: \"NAME\" and \"COMMENT\" Are mandatory for filling.</b>";
- print "</body></html>";
- exit;
- }
-
- sub edit
- {
- ($name,$mail,$url,$tim,$city,$text2,$answer) = split(/::/,$DATA[$FORM{id}]);
- print "Edit message<br><table><tr><td><form action=admin.pl method=POST>";
- print " Name<br><input type=text size=20 name=name value=$name><br>";
- if($city eq "0"){$city="";}
- print "City <br><input type=text name=city size=20 value=$city ><br>";
- if($mail eq "0"){$mail="";}
- print "E-mail <br><input type=text size=20 name=mail value=$mail><br>";
- if($url eq "0"){$url="";}
- print "Web-page <br><input size=20 type=text name=url value=$url><br>";
- $text2 =~ s/<br>/\n/g;
- print "Message <br><textarea name=mess rows=5 cols=35>$text2</textarea><br>";
- if($answer eq "0\n"){$answer="";}
- else{$answer =~ s/<br>/\n/g;}
- print "Answer: <br><textarea name=ans rows=5 cols=35>$answer</textarea><br>";
-
- print "<input type=hidden name=id value=$FORM{id}><input type=submit value=Ready name=action>";
- print "</form></td></tr></table>";
-
-
- }
-
- sub delet
- {
- open (NEW,">zman.blt");
- open (OLD,"$filename");
- $i=0;
- while (<OLD>)
- {
-
- if($i ne $FORM{id})
- {
- print NEW $_;
- }
- $i++;
- }
-
- close(OLD);
- close(NEW);
- rename($filename,"old.bak");
- rename("zman.blt",$filename);
- print "The message is erased";
- &readdata;
- &show;
- &glos;
- }
-
- sub readdata
- {
-
- open(GB, "$filename");
- @DATA=<GB>;
- close (GB);
-
- $allmess = @DATA;
- $pageend=$page+$mess-1;
-
- }
-
-