娜迦源码博客

分析一下Discuz!发送系统通知方法notification_add

方法定义位置:

source\function\function_core.php

代码如下:

[php] view plain copy
function notification_add($touid, $type, $note, $notevars = array(), $system = 0) {  
    return helper_notification::notification_add($touid, $type, $note, $notevars, $system);  
}  
参数说明:

$touid:接收通知的uid,即发给谁;

$type:通知类型,如system为系统通知,这里$type参数稍微复制一点,下面我们把type参数的各种意义罗列出来供大家参考:

appId(数字)         漫游应用 
myapp                应用邀请或请求 
credit                积分充值 
goods                商品 
mod_member        用户审核 
system                系统消息 
group                群组审核通过 
report                举报 
verify                认证 
manage_                管理通知 
magic                道具 
poke                打招呼 
friend                好友 
task                任务 
wall                留言 
piccomment        图片评论 
blogcomment        日志评论 
sharecomment        分享评论 
follow                关注 
pusearticle        推送 
at                        @功能 
pcomment        点评 
post                回帖引用 
show                排行榜 
clickblog        日志顶操作 
clickarticle 文章顶操作 
clickpic        图片顶操作 
doing                记录 
pmreport        消息举报 
sharenotice        分享通知 
group                群组 
reward                悬赏 
activity        活动 
thread                主题 
blog                日志 
article                文章 

$note:通知内容,支持html代码;

$notevars:附加参数,如:actor、from_num、from_id、from_idtype

$system:是否系统通知,默认0,强制转为系统通知;

详细代码逻辑参考helper_notification类代码

helper类所在位置:

\source\class\helper\helper_notification.php

相关代码如下:

 

  1. [php] view plain copy

  2. public static function notification_add($touid, $type, $note, $notevars = array(), $system = 0, $category = -1) {  

  3.     global $_G;  

  4.   

  5.     if(!($tospace = getuserbyuid($touid))) {  

  6.         return false;  

  7.     }  

  8.     space_merge($tospace, 'field_home');  

  9.     $filter = empty($tospace['privacy']['filter_note'])?array():array_keys($tospace['privacy']['filter_note']);  

  10.   

  11.     if($filter && (in_array($type.'|0', $filter) || in_array($type.'|'.$_G['uid'], $filter))) {  

  12.         return false;  

  13.     }  

  14.     if($category == -1) {  

  15.         $category = 0;  

  16.         $categoryname = '';  

  17.         if($type == 'follow' || $type == 'follower') {  

  18.             switch ($type) {  

  19.                         case 'follow' : $category = 5; break;  

  20.                         case 'follower' : $category = 6; break;  

  21.                     }  

  22.             $categoryname = $type;  

  23.         } else {  

  24.             foreach($_G['notice_structure'] as $key => $val) {  

  25.                 if(in_array($type, $val)) {  

  26.                     switch ($key) {  

  27.                         case 'mypost' : $category = 1; break;  

  28.                         case 'interactive' : $category = 2; break;  

  29.                         case 'system' : $category = 3; break;  

  30.                         case 'manage'爱站库温馨提示:如果你正在寻找优秀的discuz模板,那你可以到娜迦源码的 discuz模板 频道看看,相信一定有你喜欢的!

复制代码



本文链接:https://www.wsx6.cn/post/862.html

版权声明:版权声明: 1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。 2:请勿将该源码、软件进行商业交易、转载等行为,该源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。 3:本网站所有源码和软件均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:393249296@qq.com)指出,本站将立即改正。

联系客服
网站客服 业务合作 Q交流群
673529708
返回顶部
请先 登录 再评论,若不是会员请先 注册