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