logo
Автор: 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)
netsago.paste.β © 2009 Neunica