Файл: 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);
}
}
?>