今天在织梦论坛查看了一些关于自动定时审核的资料。 其中提到如果能先生成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;
}
找到“审核"按钮的代码,在下面加取消审核,以下代码是审核与取消审核一起的:
代码如下:
<a href="javascript:checkArc(0)" class="coolbg"> 审核 </a>
<a href="javascript:checkArc1(0)" class="coolbg"> 取消审核 </a>