在使用Dedecms时,自动审核会员发表的最新文章是一项非常实用的功能。本文将详细介绍如何通过修改代码实现这一功能。Dedecms中文章是否经过审核发布,主要由参数arcrank的值决定。因此,我们可以通过调整arcrank的值来实现自动审核发布文章。

以下是具体实现方法:


<?php  
// 自动生成HTML版  
if(isset($_GET@['pub']))  
{  
    require_once (dirname(__FILE__) . "/include/common.inc.php");  
    require_once DEDEINC."/arc.partview.class.php";  
    // 发布审核稿件
    require_once(DEDEINC."/arc.archives.class.php");  
    for ($i=1; $i<=1; $i++) {  
        $row = $dsql->GetOne("select * from `dede_arctiny` where arcrank = -1 order by id limit 1");  
        $id = $row['id'];  
        $iquery = "update `dede_arctiny` set arcrank = 0 where id='$id'";  
        $dsql->ExecuteNoneQuery($iquery);  
        $iquery2 = "update `dede_archives` set arcrank = 0, ismake = 1 where id='$id'";  
        $dsql->ExecuteNoneQuery($iquery2);  
        $dsql->ExecuteNoneQuery("Update `dede_taglist` set `arcrank` = 0 where aid='$id'");  
        $ac = new Archives($id);  
        $rurl = $ac->MakeHtml();  
    }  
    // 更新首页  
    $GLOBALS['_arclistEnv'] = 'index';  
    $row = $dsql->GetOne("Select * From `dede_homepageset`");  
    $row['templet'] = MfTemplet($row['templet']);  
    $pv = new PartView();  
    $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);  
    $pv->SaveToHtml(dirname(__FILE__).'/l');  
    include(dirname(__FILE__).'/l');  
    exit();  
}  
else  
{  
    header('HTTP/1.1 301 Moved Permanently');  
    header('Location:l');  
}  
?>

以上代码的关键在于更新arcrank的值。未发布的文章arcrank=-1,而发布的文章arcrank=0。因此,自动审核的过程就是找出arcrank为-1的文章,并将其属性更改为0。

首先,我们需要找出未审核的文章:


$row = $dsql->GetOne("select * from `dede_arctiny` where arcrank = -1 order by id limit 1");

然后,我们将找到的文章属性进行更改:


$iquery2 = "update `dede_archives` set arcrank = 0, ismake = 1 where id='$id'";  
$dsql->ExecuteNoneQuery($iquery2);

同时,还需要对相关表进行更新:


$dsql->ExecuteNoneQuery($iquery2);  
$dsql->ExecuteNoneQuery("Update `dede_taglist` set `arcrank` = 0 where aid='$id'");

完成上述步骤后,重新生成页面即可实现自动审核“未审核稿件”的功能。此外,还可以根据需求设置特定栏目,限定自动审核的范围,这需要用户自行研究和调整。

通过这些操作,您可以轻松实现Dedecms的自动审核功能,提高网站管理效率。


注意:在实际应用中,请确保备份好原始文件,以免因修改导致数据丢失或系统异常。