www.pudn.com > coolchat.zip > chatrentitle.pl
sub rentitle
{
$buffer = "";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
&somerror("The data you input are too long!!") if($ENV{'CONTENT_LENGTH'} > $MaxMessageLen);
@pairs=split(/&/,$buffer);
foreach $pair (@pairs)
{
@a = split(/=/,$pair);
$name=$a[0];
$value=$a[1];
$value=~tr/+/ /;
$name =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
$value =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
my($i,$binchar,$tempvalue,$strlen) = ();
$strlen = length($value);
for ($i = 0; $i < $strlen; $i++)
{
my $binchar = vec($value, $i, 8);
next if ($binchar < 32);
$tempvalue .= substr($value, $i, 1);
}
$value = $tempvalue;
$value =~ s/:/$colon/g;
push (@data,$name);
push (@data, $value);
}
%formdata=@data;
%formdata;
if(length($formdata{'message'}) < 4)
{
&chatshowmsg;
exit 0;
}
if(($UserData{'Room'} eq "main") && ($UserData{'Group'} ne 99))
{#Only root can change the room title of main
&chatshowmsg;
exit 0;
}
MyDo $do_chatcheckmaster;
if ((&checkmaster($UserData{'User'},$UserData{'Room'}) ne 0)&&($UserData{'Group'} ne 99))
{#See wether the quest is come from the right user
&chatshowmsg;
exit 0;
}
&lock("$chatdatadir/$UserData{'Room'}$HEAD");
if(open(Header,">$chatdatadir/$UserData{'Room'}$HEAD"))
{
MyDo $Style_Config;
print Header "$formdata{'message'}";
close Header;
}
&unlock("$chatdatadir/$UserData{'Room'}$HEAD");
#Get curent time
$message = "$UserData{'Nick'}($UserData{'User'}) 修改本聊天室的标题!";
&UpdateChatData(10, $UserData{'User'},$UserData{'Room'},$UserData{'Nick'},$message);
&UpdateChatData(30, $UserData{'User'},$UserData{'Room'},$UserData{'Nick'},'Retitle');
&chatshowmsg;
}
1; #return true