道勤数据 发表于 2015-1-16 22:31:54

为Discuz x系列程序文章审核添加提示功能

discuz自带的审核功能中,缺少一个提示功能,虽然发布文章确实可以限制审核,但是管理员不通过后台查看审核内容,就不会发现文章审核信息。所以就在前台首页的用户信息中的【提示】显示出来,方便管理员审核内容。

还是根据之前的方法而言,通过发布文章的POST链接: portal.php?mod=portalcp&ac=article
找到需要修改的文件:./source/module/portal/portal_portalcp.php

发现如下代码:
require_once libfile('function/portalcp');//被调用的函数文件
require_once libfile('portalcp/'.$ac, 'include');//真正操作的文件然后再找到文件: ./source/include/portalcp/portalcp_article.php

发现提交的代码:
if(submitcheck("articlesubmit", 0, $seccodecheck, $secqaacheck)) {...这就好办了,只需要在文章操作数据库之后添加提示功能就可以解决了。

在提示信息中,需要获得对应文章的ID,方便管理员可以直接访问该文章。于是在如下代码之后:
$aid = DB::insert('portal_article_title', $setarr, 1);刚好添加文章数据之后返回了对应文章的ID。

接下来就实现提示功能:
/************************************/
      /*用户提示功能对应的数据表为:pre_home_notification*/
      /*1. 添加提示信息数据*/
      /*2. 更新提示数目
      /*提示数目对应的数据表为: pre_common_member newprompt字段*/
      /************************************/
      /*添加提示信息数据*/
      //文章为审核状态
      if($article_status == 1){
      
            $JMess = "<div style=\"padding:10px;\"><h3>".文章审核."</h3>您好! "."用户".$_G['username']."发布了一篇文章【<a href="\" style="><b><i>".$setarr['title']."</i></b></a>】,【<a href=\"admin.php?frames=yes&action=moderate&operation=articles&dateline=all\" style=\"color:red;\" ><b><i>请审核...</i></b></a>】.</div>";
            
            $jarr = array(
                  'uid'=>'1',
                  'type'=>'system',
                  'new'=>'1',
                  'author'=>'jhonse',
                  'note'=>$JMess,
                  'dateline'=>TIMESTAMP,
                  'from_id'=>$aid,
                  'from_idtype'=>'aid'
                  );
            DB::insert('home_notification', $jarr, 1);
            
            /*更新提示数目*/
            DB::query('UPDATE '.DB::table("common_member")." SET newprompt=newprompt+1 WHERE uid = 1");
            
            /*****************************************/
      }

页: [1]
查看完整版本: 为Discuz x系列程序文章审核添加提示功能