search
Homephp教程PHP源码站内消息_php教程
站内消息_php教程May 23, 2016 pm 04:40 PM

php代码

class MessageModel extends Model {

    public $_fields = array(
        //字段
        'id' => 'Id',
        'title' =>'title',
        'content' =>'content',
        'addtime' =>'addtime'
    );
    
    //自动验证
    protected $_validate = array();
    //自动完成
    protected $_auto = array();
    
    //会员id
    private $member_id='';
    //新消息id
    private $message_id='';
    
    //老消息id
    private $old_message='';
    
    private  $old_ids = '';
    
    private $OBJ;
    /**
     *  
     * @example $re = D("Message");$re->setMember('1');$ar = $re->delMessage(4);
     * @param unknown $member_id
     */
    public function setMember($member_id,$OBJ = null)
    {
        $this->member_id = $member_id;
        $memberObj = D('Member');
        if($OBJ instanceof $memberObj){
            $this->OBJ = $OBJ;
        }else {
            $this->OBJ = $memberObj;
        }
        
    }
    /**
     * 将messageid写入会员信息表中
     * @param unknown $message_id
     * @param number $read 0未读,1已读
     */
    public function writeMessage($message_id,$read = 0)
    {
        $this->message_id = $message_id;
        $this->getOldMessIds();
        $message_ids = $this->old_message.$this->message_id.',';
        if ($read ==1){
            $message_ids = '';
            $arr = explode(',',substr($this->old_message,0,-1));
            if(in_array($message_id,$arr))
            {
                $message_ids = preg_replace('/,'.$message_id.',/',',-'.$message_id.',',','.$this->old_message);
                $message_ids = substr($message_ids,1);
            }
        }
        $data = array(
            'message_ids' => $message_ids
        );
        return $this->OBJ->where("id = {$this->member_id}")->save($data);
    }
    
    /**
     * 获得会员信息表中的messageid
     */
    public function getOldMessIds()
    {
        $member_info = $this->OBJ->where("id = {$this->member_id}")->find();
        if(!empty($member_info))
        {
            $this->old_message = $member_info['message_ids'];
        }
    }
    
    /**
     * 获取所有信息ID
     * @return Ambigous <NULL, mixed>
     */
    public function getMessIds()
    {
        $member_info = $this->OBJ->where("id = {$this->member_id}")->find();
        $message = null;
        $this->old_ids = $member_info[&#39;message_ids&#39;];
        if(!empty($member_info))
        {
            $message = str_replace(&#39;-&#39;,&#39;&#39;,$member_info[&#39;message_ids&#39;]);
        }
        return $message;
    }
    
    
    /**
     * 获取未读信息ID
     * @return Ambigous <multitype:, array>
     */
    public function readMessage()
    {
        $arr = array();
        $this->getOldMessIds();
        if(count($this->old_message)>0)
        {
            $this->old_message = substr($this->old_message,0,-1);
            $arr = explode(&#39;,&#39;,$this->old_message);
            foreach ($arr as $key =>$value) {
                if(stristr($value,"-")===false)
                {
                    unset ($arr[$key]);
                }else {
                    $arr[$key] = abs($arr[$key]);
                }
            }
        }
        return $arr;
    }
    
    /**
     * 
     * @param unknown $message_id
     * @return boolean|\Think\boolean
     */
    public function delMessage($message_id) {
        $arr = array();
		$this->getOldMessIds();
		$message_ids = $this->old_message;
		if($this->old_message)
		{
			$this->old_message = substr($this->old_message,0,-1);
			$arr = explode(&#39;,&#39;,$this->old_message);
			foreach ($arr as $key =>$value) {
				if($message_id==$value)
				{
					unset ($arr[$key]);
					break;
				}
				if(&#39;-&#39;.$message_id==$value)
				{
					unset ($arr[$key]);
					break;
				}
			}
			if(count($arr)>0)
			{
				$message_ids = implode(&#39;,&#39;,$arr);
				$message_ids =$message_ids.&#39;,&#39;;
			}
			else
			{
				$message_ids = &#39;&#39;;
			}
		}
		
		$data = array(
		    &#39;message_ids&#39; => $message_ids
		);
		return $this->OBJ->where("id = {$this->member_id}")->save($data);
    }
    
    /**
     * 注意如果 $member_id 值的变化
     * @param unknown $title
     * @param unknown $content
     * @param unknown $member_id
     * @return boolean|\Think\boolean
     */
    public function sendToMember($title,$content,$member_id = &#39;&#39;) {
        
        set_time_limit(0);

		//插入$content
		$arr = array();
		$arr[&#39;title&#39;] =$title;
		$arr[&#39;content&#39;] = $content;
        
		$id = $this->add($arr);
		if($id === false)
		{
			return false;
		}
		else
		{
		    if(is_array($member_id)){
		        $this->member_id = join(&#39;,&#39;,$member_id);
		    }
		    return $this->writeMessage($id);
		}
    }
}
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools