logo
Author: antonivanov
Description: Класс сообщения
Language: 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;
	}
}
?>
Recent pastes:
blessmaster (PHP)
antonivanov (SQL)
antonivanov (PHP)
brinza (PHP)
ilyhamas (Delphi)
Riateche (PHP)
otherlight (Java)
otherlight (JavaScript)
otherlight (CSS)
otherlight (CSS)
biophreak (JavaScript)
n4n (Perl)
prostoHz (Java)
ndubinkin (XML)
Riateche (Plain Text)
Slapotam (Perl)
ksurent (Perl)
John_Wein (Java)
John_Wein (HTML)
Riateche (HTML)
netsago.paste.β © 2009 Neunica