今天看到一篇通過修改源碼讓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'");
經常上面的修改,再重新生成頁面。就能自動審核"未審核稿件"。全部都自動化了。當然還可以設置欄目,限定自動審核的范圍,這就看具體的需求了。