Автор:
antonivanov
Описание: Класс сообщения
Язык: PHP
<?php
interface IMessage{
public function send();
public static function getById($id);
public static function getUnreadByUserId($userId);
}
class Message implements IMessage{
protected $_id;
protected $_to; // user id
protected $_isRead; // boolean
protected $_from; // user id or null
protected $_name;
protected $_email;
protected $_message;
protected $_sendDate;
protected $_readDate;
public function __construct($to, $name, $email, $message){
global $userinfo;
if ($userinfo['logged'] == 0){
$this->_from = 0;
$this->_name = $name;
$this->_email = $email;
} else {
$this->_from = $userinfo['id'];
$this->_name = null;
$this->_email = null;
}
$this->_to = intval($to);
$this->_message = $message;
}
public function send() { }
public static function getByid($id) { }
public static function getUnreadByUserId($userId) { }
public function getId(){
return $this->_id;
}
public function getTo(){
return $this->_to;
}
public function getIsRead(){
return $this->_isRead;
}
public function getFrom(){
return $this->_from;
}
public function getName(){
return $this->_name;
}
public function getEmail(){
return $this->_email;
}
public function getMessage(){
return $this->_message;
}
public function getSendDate(){
return $this->_sendDate;
}
public function getReadDate(){
return $this->_readDate;
}
}
class TechSupMessage extends Message implements IMessage{
public function __construct($to, $name, $email, $message, $from = 0, $id = null, $isRead = null, $sendDate = null, $readDate = null){
global $userinfo;
if ($userinfo['logged'] == 0){
$this->_from = 0;
} else {
$this->_from = $userinfo['id'];
}
$this->_name = $name;
$this->_email = $email;
$this->_to = intval($to);
$this->_message = $message;
$this->_id = $id;
$this->_isRead = $isRead;
$this->_sendDate = $sendDate;
$this->_readDate = $readDate;
}
public function send(){
global $userinfo;
if ($userinfo['logged'] == 0){
$query = mysql_query("INSERT INTO `techsup_messages`(`to`,`from`,`name`,`email`,`message`) VALUES (".$this->_to.", ".$this->_from.", ".Language::escapeString($this->_name).", ".Language::escapeString($this->_email).",".Language::escapeString($this->_message).");");
} else {
$query = mysql_query("INSERT INTO `techsup_messages`(`to`,`from`,`message`) VALUES (".$this->_to.", ".$this->_from.", ".Language::escapeString($this->_message).");");
}
if($query){
return true;
} else {
return false;
}
}
public static function getByid($id) {
$query = mysql_query("select * from `techsup_messages` where id = ".intval($id));
while($mes = mysql_fetch_object($query)){
return new TechSupMessage($mes->to, $mes->name, $mes->email, $mes->message, $mes->from, $mes->id, $mes->is_read, $mes->send_date, $mes->read_date);
}
}
public static function getUnreadByUserId($userId) {
$messages = array();
$query = mysql_query("select * from `techsup_messages` where `to` = ".intval($userId)." and `is_read` = '0'");
while($mes = mysql_fetch_object($query)){
$messages[] = new TechSupMessage($mes->to, $mes->name, $mes->email, $mes->message, $mes->from, $mes->id, $mes->is_read, $mes->send_date, $mes->read_date);
}
return $messages;
}
public static function getByUserId($userId) {
$messages = array();
$query = mysql_query("select * from `techsup_messages` where (`to` = ".intval($userId)." or `from` = ".intval($userId).")");
while($mes = mysql_fetch_object($query)){
$messages[] = new TechSupMessage($mes->to, $mes->name, $mes->email, $mes->message, $mes->from, $mes->id, $mes->is_read, $mes->send_date, $mes->read_date);
}
return $messages;
}
}
?>
|
Последние размещения:
biophreak (Plain Text)
Raik (PHP)
MUSbKA (Plain Text)
MUSbKA (Plain Text)
nekitozzz (C++)
nekitozzz (Plain Text)
nekitozzz (C++)
ksurent (Perl)
MUSbKA (C++)
stalin_alex (C++)
dzantiev (Plain Text)
unreal (C++)
eug2b (Plain Text)
|