在织梦论坛查看了一些关于自动定时审核的资料。 其中提到如果能先生成html 自动审核后就不需要重新生成,降低服务器消耗。其中提供的办法是 sql方式修改文章状态。但那样不可视化。
修改了几个地方的代码 实现了在原来dede文章批量管理的地方 添加一个 “取消审核” 如下图:
实现方法:
修改管理目录(默认为dede)下的文件:archives_do.php 插入以下代码(位置随意 可以放审核文档下面 方便记忆):
以下为引用的内容:
/*--------------------------//取消审核文档function checkArchives1() { }---------------------------*/else if($dopost=="checkArchives1"){ CheckPurview('a_Check,a_AccCheck,sys_ArcBatch'); require_once(DEDEADMIN."/inc/inc_archives_functions.php"); if( !empty($aid) && empty($qstr) ) { $qstr = $aid; } if($qstr=='') { ShowMsg("参数无效!",$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();}
然后再修改管理目录(默认为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;}
找到”审核”按钮的代码,在下面加取消审核,以下代码是审核与取消审核一起的:
以下为引用的内容:
审核 取消审核