home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- $mess=15;
- $filename="data.blt";
- $filehdr="header.blt";
- $fileend="end.blt";
-
-
- @months = ('01','02','03','04','05','06','07','08','09','10','11','12');
- @days = ('Su','Mo','Tu','We','Th','Fr','St');
- $color="green";
- $add=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};
- $page=$FORM{page};
-
-
- &html;
- if ($action eq "add"){&add;}
- open(GB, "$filename");
- @DATA=<GB>;
- close (GB);
-
- $allmess = @DATA;
- $pageend=$page+$mess-1;
- &forma;
- &show;
- &glos;
- &htmlend;
-
-
-
-
-
-
-
- sub add
-
- {
- ($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time);
- $year+=1900;
- $pdata="[$days[$wday] $hour:$min - $mday/$months[$mon]/$year]";
-
-
- $name=$FORM{name};
- if($name eq "")
- {
- &error;
- }
- $FORM{'text'} =~ s/\n/<br>/g;
- $text=$FORM{text};
- if($text eq "")
- {
- &error;
- }
- if($text eq "")
- {
- &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";
- }
-
-
-
- $STRING = join("::",$name,$mail,$url,$pdata,$city,$text,"0");
-
- open(GB, "+<$filename") || open(GB, ">$filename");
- @DATA=<GB>;
-
- @DATA=("$STRING\n",@DATA);
- seek(GB,0,0);
- print GB @DATA;
- close (GB);
- }
-
-
-
-
- sub forma
-
- {
- print <<FORMA;
- <center><font size=3 >Leave your message</font><br><br>
- <table border=0 cellpadding=0 cellspacing=0 width=400>
- <form method="POST" action="gb.pl">
- <input type="hidden" name="action" value=add>
- <input type="hidden" name="page" value=0>
- <tr><td align=center>Name*: </td><td><input type="text" size="39" name="name" class=fnt maxlength=50></td></tr>
- <tr><td align=center>E-mail: </td><td><input type="text" size="39" name="mail" maxlength=100></td></tr>
- <tr><td align=center>Web-page: <font size=-3>http://</font></td><td><input type="text" size="39" name="url" maxlength=150></td></tr>
- <tr><td align=center>City: </td><td><input type="text" size="39" name="city" maxlength=50></td></tr>
- <tr><td align=center valign=top>Comment*: </td><td><textarea name="text" class=fnt rows="4" cols="40" maxlength=1000></textarea></td></tr>
- <tr><td align=center> </td><td><input
- type="reset" name="B2" value="Clear" class=bt>
- <input type="submit" name="B1" class=bt value="Send">
- </td></tr>
- </form></table></center>
- <br><br><br><br>
- FORMA
- }
-
-
- sub show
-
- {
- print "<center><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 "<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
- </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><br><br><br><br></font></td></tr>";
- }
- }
- print "</table></center>";
- }
-
-
- sub glos
- {
- print "<center>";
- $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=gb.pl?page=$to class=a>$i</a> |";}
- else
- {print " $i |";}
- }
- print "</center>";
- }
-
- sub html
- {
- print "Content-type: text/html\n\n";
-
- open (HEADER,"$filehdr");
- while (<HEADER>)
- {print "$_";}
- close (HEADER);
- }
-
-
- sub htmlend
- {
- print "<center><br>Total messages - $allmess";
- print "";
- print "";
- open (SOF,"$fileend");
- while (<SOF>)
- {print "$_";}
- close (SOF);
- }
-
-
- sub error
- {
- print "Content-type: text/html\n\n";
- print "<html><head><title>$title</title>";
- print "<b>Fields: \"NAME\" and \"COMMENT\" are mandatory for filling.</b>";
- print "</body></html>";
- exit;
- }
-
-