今天看到一篇通过修改源码让DedeCms实现自动审核会员发布的文章,方便有时站长不在电脑前,并且能够自动更新网站的解决方法,特来跟大家分享一下。
分析了一下,织梦的文章有没有审核发布主要是arcrank这个参数的值决定的。所以要把DEDE自动审核发布文章也很容易实现了。
-
<?php
-
//自动生成HTML版
-
if(isset($_GET['pub'])){
-
require_once(dirname(__FILE__)."/include/common.inc.php");
-
require_onceDEDEINC."/arc.partview.class.php";
-
//发布审核稿件
-
require_once(DEDEINC."/arc.archives.class.php");
-
for($i=1;$i<=1;$i++){
-
$row=$dsql->GetOne("select*from'dede_arctiny'wherearcrank=-1orderbyidlimit1");
-
$id=$row['id'];
-
$iquery="update'dede_arctiny'setarcrank=0whereid='$id'";
-
$dsql->ExecuteNoneQuery($iquery);
-
$iquery2="update'dede_archives'setarcrank=0,ismake=1whereid='$id'";
-
$dsql->ExecuteNoneQuery($iquery2);
-
$dsql->ExecuteNoneQuery("Update'dede_taglist'set'arcrank'=0whereaid='$id'");
-
$ac=newArchives($id);
-
$rurl=$ac->MakeHtml();
-
}
-
//更新首页
-
$GLOBALS['_arclistEnv']='index';
-
$row=$dsql->GetOne("Select*From'dede_homepageset'");
-
$row['templet']=MfTemplet($row['templet']);
-
$pv=newPartView();
-
$pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$row['templet']);
-
$pv->SaveToHtml(dirname(__FILE__).'/index.html');
-
include(dirname(__FILE__).'/index.html');
-
exit();
-
}else{
-
header('HTTP/1.1301MovedPermanently');
-
header('Location:index.html');
-
}
-
?>
上面的代码主要就是更新arcrank的值,没有发布的文章arcrank=-1,而发布的文章arcrank=0,所以自审核的文章就是把arcrank为-1的文章找出来,把文章的arcrank属性变为0。
找出文件:
-
$row=$dsql->GetOne("select*from'dede_arctiny'wherearcrank=-1orderbyidlimit1″);
改变属性:
-
$iquery2="update'dede_archives'setarcrank=0,ismake=1whereid='$id'";
-
$dsql->ExecuteNoneQuery($iquery2);
相关表的更新:
-
$dsql->ExecuteNoneQuery($iquery2);
-
$dsql->ExecuteNoneQuery("Update'dede_taglist'set'arcrank'=0whereaid='$id'");
经常上面的修改,再重新生成页面。就能自动审核"未审核稿件"。全部都自动化了。当然还可以设置栏目,限定自动审核的范围,这就看具体的需求了。