1
0
Fork 0
my_site_mk3/weblog/post_message.pl

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();