DEDE自动审核发布文章

By | 2010/03/19

前段时间发一个篇”让DEDE随机更新文章”的文章, 这可以操持一些文章和首页的更新.  但不能自动发布没有审核的文章. 分析了一下, DEDE的文章有没有审核发布主要是arcrank这个参数的值决定的. 所以要把DEDE自动审核发布文章也很容易实现了.

<?php
//自动生成HTML版
if(isset($_GET[‘pub’]))
{
require_once (dirname(__FILE__) . “/include/common.inc.php”);
require_once DEDEINC.”/arc.partview.class.php”;
//发布审核稿件
require_once(DEDEINC.”/arc.archives.class.php”);
for ($i=1; $i<=1; $i++) {
$row = $dsql->GetOne(“select * from `#@__arctiny` where arcrank = -1 order by id limit 1”);
$id = $row[‘id’];
$iquery = “update `#@__arctiny` set arcrank = 0 where id=’$id'”;
$dsql->ExecuteNoneQuery($iquery);
$iquery2 = “update `#@__archives` set arcrank = 0, ismake = 1 where id=’$id'”;
$dsql->ExecuteNoneQuery($iquery2);
$dsql->ExecuteNoneQuery(“Update `#@__taglist` set `arcrank` = 0 where aid=’$id'”);
$ac = new Archives($id);
$rurl = $ac->MakeHtml();
}
//更新首页
$GLOBALS[‘_arclistEnv’] = ‘index’;
$row = $dsql->GetOne(“Select * From `#@__homepageset`”);
$row[‘templet’] = MfTemplet($row[‘templet’]);
$pv = new PartView();
$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.1 301 Moved Permanently’);
header(‘Location:index.html’);
}
?>

上面的代码主要就是更新arcrank的值. 没有发布的文章arcrank=-1. 而发布的文章arcrank=0.  所以自审核的文章就是把arcrank为-1的文章找出来, 把文章的arcrank属性变为0.

找出文件:

$row = $dsql->GetOne(“select * from `#@__arctiny` where arcrank = -1 order by id limit 1”);

改变属性:

$iquery2 = “update `#@__archives` set arcrank = 0, ismake = 1 where id=’$id'”;
$dsql->ExecuteNoneQuery($iquery2);

相关表的更新:

$dsql->ExecuteNoneQuery($iquery2);
$dsql->ExecuteNoneQuery(“Update `#@__taglist` set `arcrank` = 0 where aid=’$id'”);

经常上面的修改, 再重新生成页面. 就能自动审核”未审核稿件”.  全部都自动化了. 当然还可以设置栏目, 限定自动审核的范围,这就看具体的需求了.

7 thoughts on “DEDE自动审核发布文章

  1. 跑步机

    谢谢分享,现在正需要个能定时发布文章的插件,那是最好了,谢谢

  2. 颖佳论坛

    楼主,能不能写个根据不同的会员等级实现需不需要审核的功能?
    就是比如注册会员须审核,中级会员不需要

Comments are closed.