47 lines
1.5 KiB
Perl
47 lines
1.5 KiB
Perl
#!/usr/bin/perl
|
|
require 'common.pl';
|
|
#parse POST input
|
|
my $temp;my $pair;my %in;
|
|
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
|
|
my @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;
|
|
}
|
|
if ($in{'body'} eq ""){
|
|
&printHeader("Îøèáêà");
|
|
print "<h2 align=\"center\">òåëî ñîîáùåíèÿ íå ïåðåäàíî.</h2>";
|
|
&printFooter;
|
|
die;
|
|
}
|
|
my $min;my $hour;my $mon;my $year;#reading date
|
|
(undef,$min,$hour,$mday,$mon,$year,undef,undef,undef) = localtime(time);
|
|
$year = 1900 + $year;$mon++;
|
|
if ($mon <10){$mon = "0$mon";}
|
|
if ($mday <10) {$mday = "0$mday";}
|
|
if ($hour<10) {$hour = "0$hour";}
|
|
if ($min<10) {$min = "0$min";}
|
|
my $title;if ($in{'title'} gt " "){$title=$in{'title'};}#parsing title
|
|
else {$title="$mday.$mon.$year, $hour:$min";}
|
|
open (TEMP,">weblog/temp.txt");#íåãîæå ñòîëüêî êá â ïàìÿòè õðàíèòü
|
|
print TEMP "$in{'body'}";
|
|
close(TEMP);
|
|
my $message = "messages/$year/$mon/$mday$hour$min.txt";
|
|
open (MESSAGE,">$message");
|
|
print MESSAGE "\<title\>$title\<\/title\>\n\<body\>\n";
|
|
open (TEMP,"temp.txt");
|
|
while (<TEMP>){
|
|
$temp=$_;
|
|
$temp =~ s/</[/g;
|
|
$temp =~ s/>/]/g;#BBCode
|
|
print MESSAGE "$temp<br>\n";#ñòðîêà çàêàí÷èâàåòñÿ \n,ýòî ìû ìåíÿåì íà <br>
|
|
}
|
|
close (TEMP);
|
|
print MESSAGE "\n</body>\n";
|
|
close (MESSAGE);
|
|
&printHeader("Îòïðàâêà óñïåøíà",1);
|
|
print "<h2 align=\"center\">Îòïðàâêà óñïåøíà.</h2>";
|
|
&printFooter(); |