欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

帝国cms教程

帝国CMS自动审核发布脚本

帝国cms教程 我的站长站 2023-02-07 共77人阅读

网站如果是采集的,一次性审核发布大量采集信息不利于网站seo,使用这款帝国CMS自动审核发布脚本就可以轻松解决这个问题。比帝国自带的计划任务功能好,不用开启后台才运行,脚本放到服务器上后加入服务器的计划任务便可以每天定时审核发布信息。

帝国CMS自动审核脚本

<?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的请自行寻找计划任务方法。宝塔面板直接添加计划任务就行。

相关推荐
  • 帝国CMS审核
  • 帝国CMS自动审核发布脚本

    网站如果是采集的,一次性审核发布大量采集信息不利于网站SEO,使用这款帝国CMS自动审核发布脚本就可以轻松解决这个问题。比帝国自带的计划任务功能好,不用开启后台才运行,脚本放到服务器上后加入服务器的计划任务便可以每天定时审核发布信息。帝国CMS自...

    帝国cms教程 77 1年前
  • SQL批量修改帝国CMS会员组方法

    帝国CMS后台默认会员操作功能是没有批量修改会员的会员组功能的,只能批量审核和取消,如果想批量修改会员的会员组只能自己想办法了。方法也很简单,只需要一段SQL搞定,我的站长站分享给大家。批量修改会员组update 表前缀_enewsmember set groupid=REPLAC...

    帝国cms教程 79 2年前
  • 帝国CMS安全设置防止注册机灌水机方法大全

    找到对策我的站长站在教大家帝国CMS安全设置的之前,我们首先需要知道网站为什么会受到攻击,人家利用注册机、灌水机的目的是什么?比如:利用注册机批量注册账号,是想批量下载,还是接着灌水机批量留言等等,找到不法分子攻击的目的,我们才能对症下药。帝国CMS安...

    帝国cms教程 67 2年前
  • 帝国CMS发送邮件SMTP配置方法
    帝国CMS发送邮件SMTP配置方法

    教程前言前几天,我的站长站的注册邮件通知功能突然失效了,又重新研究了一遍帝国CMS发送邮件SMTP配置方法,这次写一次笔记以免以后又要重新研究,浪费时间。我的站长站用的QQ邮箱服务,其他邮箱都是大同...

    帝国cms教程 140 2年前
  • 帝国CMS投稿自动截取简介方法

    前言帝国CMS用户前台投稿的文章,简介字段需要后台手动审核,由后台自动截取。假如不想人工审核,投稿就直接发布,那么就需要前台投稿时就完成自动截取,应该怎么办了。解决方法后台投稿有个处理函数的功能,我们只需要把截取文字的PHP代码,写成帝国CMS函数,在投...

    帝国cms教程 119 3年前