Файл: include/player_chat.php
Строк: 101
<?php
include_once("table_name.php");
include_once("base.php");
include_once("player.php");
include_once("common_func.php");
/**
    class for work player cha messages
*/
class CPlayerChat extends CBase
{
    /**
        Constructor
    */
    function CPlayerChat($database,$vnum = 0)
    {
        global $table_chat_msg;
        
        $this->db = $database;
        $this->table_name=$table_chat_msg;
        $this->vnum = $vnum;
    }
    
    function addMessage($room,$msg,$type_msg=CHAT_COMMON_MSG)
    {
        $msg=trim($msg);
        
        if(strlen($msg)<2) return;
    
        $msg=substr($msg,0,150);
        
        $msg = str_replace("<", "<", $msg); 
    
        $pdata = time();
        
        $sql = "insert into $this->table_name(vnum_player,vnum_room,type,pdata,msg) VALUES('$this->vnum','$room','$type','$pdata','$msg')";
        
        $this->execSQL($sql);
    }
    
    function getLastMessage($room,$limit=10)
    {
        $zone_id=(int)($room/1000);
        $zone_begin=$zone_id*1000;
        $zone_end=$zone_begin+100;
        
        $sql = "select t1.vnum_msg,t1.pdata,t2.vnum,t1.msg,t2.name from $this->table_name as t1, data_player as t2 where t1.vnum_room>='$zone_begin' and t1.vnum_room<='$zone_end' and t2.vnum=t1.vnum_player order by t1.pdata desc limit $limit";
        $chat_message = $this->db->getAll($sql,DB_FETCHMODE_ASSOC);
        return $chat_message;
    }
    
    function getLastMessageUser($room)
    {
        $zone_id=(int)($room/1000);
        $zone_begin=$zone_id*1000;
        $zone_end=$zone_begin+100;
        
        $sql = "select msg from $this->table_name where vnum_room>='$zone_begin' and vnum_room<='$zone_end' order by pdata desc limit 1";
        
        $result = $this->execSQL($sql);
        
        if($result->numRows()==0) return false;
        
        $row = $result->fetchRow();
        
        return $row[0];
    }
    
    function getMessage($vnum_msg)
    {
        $sql = "SELECT * FROM $this->table_name WHERE vnum_msg='$vnum_msg' LIMIT 1";
        
        $msg = $this->db->getAll($sql,DB_FETCHMODE_ASSOC);
        
        return $msg[0];
    }
    
    function hideMsg($vnum_msg, $name_chat_angel)
    {
        $msg=$this->getMessage($vnum_msg);
        
        if($msg=="") return;
        
        $new_msg="<font color="red">иТБОЙФЕМШ $name_chat_angel ХДБМЙМ ДБООПЕ УППВЭЕОЙЕ</font>";
        $old_msg=$msg['msg'];
        
        $sql = "UPDATE $this->table_name SET msg='$new_msg',old_msg='$old_msg' WHERE vnum_msg='$vnum_msg'";
        
        $this->execSQL($sql);
    }
}
?>