站内信息 php,站内消息_php教程

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

*/

public function getMessIds()

{

$member_info = $this->OBJ->where("id = {$this->member_id}")->find();

$message = null;

$this->old_ids = $member_info['message_ids'];

if(!empty($member_info))

{

$message = str_replace('-','',$member_info['message_ids']);

}

return $message;

}

/**

* 获取未读信息ID

* @return Ambigous

*/

public function readMessage()

{

$arr = array();

$this->getOldMessIds();

if(count($this->old_message)>0)

{

$this->old_message = substr($this->old_message,0,-1);

$arr = explode(',',$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(',',$this->old_message);

foreach ($arr as $key =>$value) {

if($message_id==$value)

{

unset ($arr[$key]);

break;

}

if('-'.$message_id==$value)

{

unset ($arr[$key]);

break;

}

}

if(count($arr)>0)

{

$message_ids = implode(',',$arr);

$message_ids =$message_ids.',';

}

else

{

$message_ids = '';

}

}

$data = array(

'message_ids' => $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 = '') {

set_time_limit(0);

//插入$content

$arr = array();

$arr['title'] =$title;

$arr['content'] = $content;

$id = $this->add($arr);

if($id === false)

{

return false;

}

else

{

if(is_array($member_id)){

$this->member_id = join(',',$member_id);

}

return $this->writeMessage($id);

}

}

}

相关标签:站内消息

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值