今天在織夢論壇查看了一些關(guān)于自動定時審核的資料。 其中提到如果能先生成html 自動審核后就不需要重新生成,降低服務(wù)器消耗。其中提供的辦法是 sql方式修改文章狀態(tài)。但那樣不可視化。
今天修改了幾個地方的代碼 實(shí)現(xiàn)了在原來dede文章批量管理的地方 添加一個 “取消審核” 如下圖:
實(shí)現(xiàn)方法:
修改管理目錄(默認(rèn)為dede)下的文件:archives_do.php 插入以下代碼(位置隨意 可以放審核文檔下面 方便記憶):
代碼如下:
/*————————–
//取消審核文檔
function checkArchives1() { }
—————————*/
else if($dopost=="checkArchives1″)
{
CheckPurview(‘a(chǎn)_Check,a_AccCheck,sys_ArcBatch’);
require_once(DEDEADMIN."/inc/inc_archives_functions.php");
if( !empty($aid) && empty($qstr) )
{
$qstr = $aid;
}
if($qstr==")
{
ShowMsg(“參數(shù)無效!",$ENV_GOBACK_URL);
exit();
}
$arcids = ereg_replace(‘[^0-9,]‘,",ereg_replace(‘`’,',’,$qstr));
$query = “Select arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable From `dede_arctiny` arc
left join `dede_arctype` tp on tp.id=arc.typeid
left join `dede_channeltype` ch on ch.id=tp.channeltype
where arc.id in($arcids) “;
$dsql->SetQuery($query);
$dsql->Execute(‘ckall’);
while($row = $dsql->GetArray(‘ckall’))
{
$aid = $row['id'];
//print_r($row);
$maintable = ( trim($row['maintable'])==" ? ‘dede_archives’ : trim($row['maintable']) );
$dsql->ExecuteNoneQuery(“Update `dede_arctiny` set arcrank=’-1′ where id=’$aid’ “);
if($row['issystem']==-1)
{
$dsql->ExecuteNoneQuery(“Update `".trim($row['addtable'])."` set arcrank=’-1′ where aid=’$aid’ “);
}
else
{
$dsql->ExecuteNoneQuery(“Update `$maintable` set arcrank=’-1′ where id=’$aid’ “);
}
$pageurl = MakeArt($aid,false);
}
ShowMsg(“成功審核指定的文檔!",$ENV_GOBACK_URL);
exit();
}
然后再修改管理目錄(默認(rèn)為Dede)的模板目錄(templets)的文件:content_list.htm。
找到:
代碼如下:
function checkArc(aid){
var qstr=getCheckboxItem();
if(aid==0) aid = getOneItem();
location="archives_do.php?aid="+aid+"&dopost=checkArchives&qstr="+qstr;
}
在其下面添加:
代碼如下:
function checkArc1(aid){
var qstr=getCheckboxItem();
if(aid==0) aid = getOneItem();
location="archives_do.php?aid="+aid+"&dopost=checkArchives1&qstr="+qstr;
}
找到“審核"按鈕的代碼,在下面加取消審核,以下代碼是審核與取消審核一起的:
代碼如下:
<a href="javascript:checkArc(0)" class="coolbg"> 審核 </a>
<a href="javascript:checkArc1(0)" class="coolbg"> 取消審核 </a>