凉风有信,秋月无边。
亏我思娇的情绪好比度日如年。

帝国CMS自动定时审核发布插件+教程

我的站有大量采集信息,一次发布不利于长期SEO,所以从网上找了这个脚本稍作修改。分享给大家,其实也很简单,但比帝国自带的计划任务功能好的是,不用开启后台才运行,脚本放到服务器上后加入服务器的计划任务便可以每天定时审核发布信息。

<?php//使用密码控制if(empty($_GET['pwd']) || $_GET['pwd'] != '脚本运行密码,请自行修改'){        die('Fuck you! -www.lwtz.cn!');}define ( 'EmpireCMSAdmin', '1' );require ("../class/connect.php");require ("../class/db_sql.php");require ("../class/functions.php");require ("../class/t_functions.php");require ("../data/dbcache/class.php");require ("../data/dbcache/MemberLevel.php");$link = db_connect ();$empire = new mysqlquery ();$enews = $_POST ['enews'];if (empty ( $enews )) {        $enews = $_GET ['enews'];}//参数$news_table = "news";        //新闻表$news_num = 1;                        //每次审核条数/**
*使用时间控制审核的栏目,下面的代码因为栏目太多,每天分三个时段更新
*实验证明这个效果是不好的,收录只有早上的那次
*
$hours = date ( 'H' );
switch($hours){
         //频道和列表
         case '8': $where = "bclassid = 0 or classid between 33 and 86";
         break;
         case '13': $where = "bclassid = 0 or classid between 87 and 139";
         break;
         case '22': $where = "bclassid = 0 or classid between 140 and 192";
         break;
         default: $where = "classid='10000'";
}
*/$where = '1';  //审核新闻模型全部栏目$class_list = $empire->query ( "SELECT classid,islast from {$dbtbpre}enewsclass where $where" );$class = array ();$pclass = array ();while ( $r = $empire->fetch ( $class_list ) ) {        if ($r ['islast'] == '0') {                array_push ( $pclass, $r ['classid'] ); // 非终极栏目不可以发不信息,所以不参与信息审核        } else {                array_push ( $class, $r ['classid'] );        }}foreach ( $class as $key => $val ) {        ecmscheck ( $val, $news_table, $news_num ); // 审核}// 刷新非终极栏目foreach ( $pclass as $key => $value ) {        echo '上级栏目'.$value.'已经更新<hr/>';        ReListHtml ( $value, 1 );}ReIndex(); //刷新首页/**
*
* @param  $classid
* @param  $table
* @param  $num
*/function ecmscheck($classid, $table, $num) {        global $empire, $class_r, $dbtbpre;        $time = time ();        // 每周一审核的设置为推荐        $isgood = '0';        $day = strftime ( "%A" );       
        if ($day == 'Monday') {                $isgood = '1';        }       
        $res = $empire->query ( "select id from {$dbtbpre}ecms_" . $table . "_check where classid =" . $classid . " ORDER BY `truetime` ASC LIMIT {$num}" );        while ( $r = $empire->fetch ( $res ) ) {                $data [] = $r ['id'];        }       
        CheckNews_auto ( $classid, $data );}/**
* 审核信息
* @param  $classid
* @param  $id
*/function CheckNews_auto($classid, $id) {        global $empire, $class_r, $dbtbpre, $emod_r, $adddatar;        $classid = ( int ) $classid;        $count = count ( $id );        $time = time();       
        //每周一审核的设置为推荐        $isgood = strftime('%A') == 'Monday'?1:0;       
        for($i = 0; $i < $count; $i ++) {                $infoid = ( int ) $id [$i];                 $infor = $empire->fetch1 ( "select * from {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_check where id='$infoid' limit 1" );                 //$picurl = empty($infor['titlepic'])?'/images/smallpic/'.rand(1,300).'.jpg':$infor['titlepic']; //为了网站能好看点设置一个1-300的随机图片                 $res = $empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check set truetime='$time',newstime='$time',lastdotime='$time',isgood='$isgood' where id='$infoid' limit 1");                 $sql = $empire->query ( "update {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_index set checked=1,truetime='$time',newstime='$time',lastdotime='$time' where id='$infoid'" );                 // 未审核表转换                 MoveCheckInfoData ( $class_r [$classid] [tbname], 0, $infor ['stb'], "id='$infoid'" );                 // 更新栏目信息数                 AddClassInfos ( $infor ['classid'], '', '+1' );                 // 刷新信息                 GetHtml ( $infor ['classid'], $infor ['id'], $infor, 0 );                 echo '信息 '.$infor ['id'].' 内容页已经更新<hr/>';                 // 刷新列表                 ReListHtml ( $infor ['classid'], 1 );                 echo '终极栏目 '.$infor ['classid'].' 已经更新<hr/>';        }}//刷新首页function ReIndex(){        $indextemp=GetIndextemp();//取得模板        NewsBq($classid,$indextemp,1,0);        echo '首页已经刷新';}

因为我用的linux服务器,所以运行crontab就可以了,windows的请自行寻找计划任务方法,应该比linux简单

赞(0) 打赏
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的内容,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。本博客资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果本文导致的版权问题以及内容纠错问题请联系站长QQ:1004619 | 点此给我发送邮件
本文标题:《帝国CMS自动定时审核发布插件+教程》
本文地址:https://www.1004619.com/biji/di-guo-cms-zi-dong-ding-shi-shen-he-fa-bu-cha-jian-jiao-cheng/

相关推荐

  • 暂无文章