织梦cms实现如何定时审核文章并生成网站首页

  
 我们有时候让分管理添加的文档,又懒得审核,那么怎么让系统自动审核并生成文档呢?
首先在plus下新建文件,名字可以随意起,比如我的是make.php 内容如下:
<?php
$lasttime=filemtime($_SERVER['DOCUMENT_ROOT']."/index.html");
$interval=180; //更新时间秒为单位180秒=3分钟 3分钟审核一篇
if((time()-$lasttime)>$interval)
{
require_once(dirname(__FILE__)."/../include/common.inc.php");
$row = $dsql->GetOne("select id from`dede_archives` where arcrank = -1"); // 找到未审核的文章排序根据你的要求修改下
$aid= $row['id'];
if($aid!=''){
//审核文章
$upquery = "Update `dede_archives` set arcrank =0 where id='$aid';";
$upquery1 = "Update `dede_arctiny` set arcrank =0 where id='$aid';";
$rs = $dsql->ExecuteNoneQuery($upquery);
$rs1 = $dsql->ExecuteNoneQuery($upquery1);
$isremote = (empty($isremote)? 0 : $isremote);
function MakeArt($aid, $mkindex=FALSE, $ismakesign=FALSE, $isremote=0)
{
global $envs, $typeid;
require_once(DEDEINC.'/arc.archives.class.php');
if($ismakesign) $envs['makesign'] = 'yes';
$arc = new Archives($aid);
$reurl = $arc->MakeHtml($isremote);
return $reurl;
}
$arcID=$aid;
$artUrl = MakeArt($aid,true,true,$isremote);
require_once(DEDEINC.'/arc.partview.class.php');
$envs = $_sys_globals = array();
$envs['aid'] = 0;
$pv = new PartView();
$row = $pv->dsql->GetOne('SELECT * FROM `cn_homepageset`');
$templet = str_replace("{style}", $cfg_df_style, $row['templet']);
$homeFile = dirname(__FILE__).'/'.$row['position'];
$homeFile = str_replace("//", "/", str_replace("\\", "/", $homeFile));
$fp = fopen($homeFile, 'w') or die("无法更新网站主页到:$homeFile 位置");
fclose($fp);
$tpl = $cfg_basedir.$cfg_templets_dir.'/'.$templet;
if(!file_exists($tpl))
{
$tpl = $cfg_basedir.$cfg_templets_dir.'/default/index.htm';
if(!file_exists($tpl)) exit("无法找到主页模板:$tpl ");
}
$GLOBALS['_arclistEnv'] = 'index';
$pv->SetTemplet($tpl);
$pv->SaveToHtml($homeFile);
$pv->Close();
exit();
}else exit();
}
?>
使用时候需要注意文档中的表前缀,模板文件目录,要改成和你网站里的相同的。添加文件后还没有结束,需要有一个触发,方式比较多,比如首页加入代码:
<script src="/plus/make.php"></script>
上面代码需要有人访问页面时候才会触发,加在首页的话就是访问首页时候触发。还有可以将代码制触发链接到【监控宝】或者【宝塔面板】里面的定时任务里去触发