//自定义钩子函数,命名:模块_函数名_output()或模块_函数名() //一个是模块执行完,模板输出前执行。一个是模块执行前 //post_reply_output函数会在所有post操作中都会执行,通过$params['message']来区别 public function post_reply_output($params) { global $_G; //判断是否为主题回复成功时 if($params['message'] != 'post_reply_succeed') { return; } //如果操作的是系统表,先获得系统表的模型, //在discuz目录的source/class/table下 $mForumThread = C::t('forum_thread'); $tid = $params['values']['tid']; $thread = $mForumThread->fetch($tid); //主题作者ID $authorId = $thread['authorid']; //判断作者是否开启回贴通知 $mForumPostNotice = C::t('#post_notice#forum_post_notice'); $isNotice = $mForumPostNotice->getNoticeState($authorId); if($isNotice) { $mCommonMember = C::t('common_member'); $author = $mCommonMember->fetch($authorId); $email = $author['email']; $subject = '您的贴子有回复了!'; $body = $author['username'] . " "; $body .= "您的主题:" . $thread['subject'] . "有回复了! "; $body .= "复制链接查看:" . $_G['siteurl'] . "forum.php?mod=viewthread&tid=" . $tid . " "; //判断后台是否开启了添加回贴内容 if($_G['cache']['plugin']['post_notice']['add_postcont']) { //回复内容 $mForumPost = C::t('forum_post'); $pid = $params['values']['pid']; $post = $mForumPost->fetch($thread['posttableid'],$pid); $body .= "回复内容: " . $post['message']; } //发送邮箱 } else { return; } }