在使用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的自动审核功能,提高网站管理效率。
注意:在实际应用中,请确保备份好原始文件,以免因修改导致数据丢失或系统异常。