PHPCMS增加批量审核的方法

PHPCMS后台一个一个点开审核是不是觉得很累?你还指望PHPCMS官方会加上这功能?如果你把希望寄希望于PHPCMS的官方,那么我有必要告诉你一点人生的经验:“你啊,Naive!”

批量审核增加以下功能:

  • 增加批量审核复选框
  • 如果栏目有静态配置,将批量审核的内容页生成html
  • 并且将批量审核的内容页更新到全站搜索的数据表中

PHPCMS增加批量审核的方法
不废话,开始吧:

1、打开 \phpcms\modules\content\templates\content_checkall.tpl.php 全部删除里面的代码,换上如下代码:

<?php
defined('IN_ADMIN') or exit('No permission resources.');
include $this->admin_tpl('header','admin');?>
<div class="subnav">
<div class="content-menu ib-a blue line-x">
<?php if($super_admin) {?>
<a href='?m=content&c=content&a=public_checkall&menuid=822' class="on"><em><?php echo L('all_check_list');?></em></a>
<?php } else {
        echo L('check_status');
}
for ($j=0;$j<5;$j++) {
?>
<span>|</span><a href='?m=content&c=content&a=public_checkall&menuid=822&status=<?php echo $j;?>' class="<?php if($status==$j) echo 'on';?>"><em><?php echo L('workflow_'.$j);?></em></a>
<?php }?>
</div>
</div>
<div class="pad-10">

<form name="myform" id="myform" action="" method="post" >
<div class="table-list">
    <table width="100%">
        <thead>
            <tr>
            <th width="16"><input type="checkbox" value="" id="check_box" onclick="selectall('ids[]');"></th>
            <th width="37">ID</th>
                        <th><?php echo L('title');?></th>
            <th><?php echo L('select_model_name');?></th>
            <th width="90"><?php echo L('current_steps');?></th>
            <th width="50"><?php echo L('steps');?></th>
            <th width="90"><?php echo L('belong_category');?></th>
            <th width="118"><?php echo L('contribute_time');?></th>
            <th width="130"><?php echo L('username');?></th>
                        <th width="50"><?php echo L('operations_manage');?></th>
            </tr>
        </thead>
<tbody>
    <?php
        $model_cache = getcache('model','commons');
        foreach ($datas as $r) {
                $arr_checkid = explode('-',$r['checkid']);

                $workflowid = $this->categorys[$r['catid']]['workflowid'];
                if($stepid = $workflows[$workflowid]['steps']) {
                        $stepname = L('steps_'.$stepid);
                } else {
                        $stepname = '';
                }
                $modelname = $model_cache[$arr_checkid[2]]['name'];
                $flowname = L('workflow_'.$r['status']);
        ?>
        <tr>
                <td align="center"><input class="inputcheckbox " name="ids[]" value="<?php echo $r['checkid'];?>" type="checkbox"></td>
                <td align='center' ><?php echo $arr_checkid[1];?></td>
                <td align='left' ><a href="javascript:;" onclick='change_color(this);window.open("?m=content&c=content&a=public_preview&steps=<?php echo $r['status']?>&catid=<?php echo $r['catid'];?>&id=<?php echo $arr_checkid[1];?>&pc_hash=<?php echo $_SESSION['pc_hash'];?>","manage")'><?php echo $r['title'];?></a></td>
                <td align='center' ><?php echo $modelname;?></td>
                <td align='center' ><?php echo $flowname;?></td>
                <td align='center' ><?php echo $stepname;?></td>
                <td align='center' ><a href="?m=content&c=content&a=init&menuid=822&catid=<?php echo $r['catid'];?>"><?php echo $this->categorys[$r['catid']]['catname'];?></a></td>
                <td align='center' ><?php echo format::date($r['inputtime'],1);?></td>
                <td align='center'>
                <?php
                if($r['sysadd']==0) {
                        echo "<a href='?m=member&c=member&a=memberinfo&username=".urlencode($r['username'])."' >".$r['username']."</a>"; 
                        echo '<img src="'.IMG_PATH.'icon/contribute.png" title="'.L('member_contribute').'">';
                } else {
                        echo $r['username'];
                }
                ?></td>
                <td align='center' ><a href="javascript:;" onclick='change_color(this);window.open("?m=content&c=content&a=public_preview&steps=<?php echo $r['status']?>&catid=<?php echo $r['catid'];?>&id=<?php echo $arr_checkid[1];?>&pc_hash=<?php echo $_SESSION['pc_hash'];?>","manage")'><?php echo L('c_check');?></a></td>
        </tr>
     <?php }?>
</tbody>
     </table>
          <div class="btn"><label for="check_box"><?php echo L('selected_all');?>/<?php echo L('cancel');?></label>
                <input type="hidden" value="<?php echo $pc_hash;?>" name="pc_hash">
                <?php 
                if($status!=99) {?>
                <input type="button" class="button" value="<?php echo L('passed_checked');?>" onclick="myform.action='?m=content&c=content&a=passall';myform.submit();"/>
                <?php }?>
        
        </div>
 <div id="pages"><?php echo $pages?></div>
</div>
</form>
</div>
<script type="text/javascript"> 
<!--
window.top.$("#current_pos_attr").html('<?php echo L('checkall_content');?>');
function change_color(obj) {
        $(obj).css('color','red');
}
//-->
</script>
</body>
</html>

2、打开 \phpcms\modules\content\content.php ,在

	/**
	 * 过审内容
	 */
	public function pass() {

的前面增加以下代码:

    /**
     * 批量通过审核函数  
     */
    
    public function passall() {
        $ids = $_POST['ids'];

        // 引处引入setting变量有问题,待后续解决。已经通过逻辑判断true来实现
        // $setting = string2array($category['setting']);
        // var_dump($setting);
        // die;

        if(!$ids) showmessage(L('missing_part_parameters'));
        $this->content_check_db = pc_base::load_model('content_check_model');
        $html = pc_base::load_app_class('html', 'content');
        $this->url = pc_base::load_app_class('url', 'content');
        $member_db = pc_base::load_model('member_model');
        foreach($ids as $k=>$v){
            $content = $this->content_check_db->get_one(array('checkid'=>$v));
            $modelid = $this->categorys[$content['catid']]['modelid'];
            $arr_checkid = explode('-',$content['checkid']);
            $this->db->set_model($modelid);
            // 引用search_model, 调search_api方法
			$this->db->search_db = pc_base::load_model('search_model');
            $id = $arr_checkid['1'];
            $content_info = $this->db->get_content($content['catid'],$arr_checkid[1]);
            $memberinfo = $member_db->get_one(array('username'=>$content_info['username']), 'userid, username');
            $flag = $content['catid'].'_'.$arr_checkid[1];
            if($setting['presentpoint']>0) {
                pc_base::load_app_class('receipts','pay',0);
                receipts::point($setting['presentpoint'],$memberinfo['userid'], $memberinfo['username'], $flag,'selfincome',L('contribute_add_point'),$memberinfo['username']);
            } else {
                pc_base::load_app_class('spend','pay',0);
                spend::point($setting['presentpoint'], L('contribute_del_point'), $memberinfo['userid'], $memberinfo['username'], '', '', $flag);
            }
            if(true){
            // if($setting['content_ishtml'] == '1'){
                //栏目有静态配置
                $urls = $this->url->show($id, 0, $content_info['catid'], $content_info['inputtime'], '',$content_info,'add');
                $html->show($urls[1],$urls['data'],0);
             }
            $this->db->status($arr_checkid[1],'99');
            // 更新到全站搜索
            // 设置全站搜索的数组信息
			$inputinfo = '';
			$inputinfo['system'] = $content_info;
			// 将静态页面信息或内容写入全站搜索数据表中
			$this->db->search_api($id,$inputinfo);                    
        }
        showmessage(L('operation_success'),HTTP_REFERER);
    }        

本优化版将持续更新(可后台一键更新),获取更新请查看PhpcmsX网站 https://www.phpcmsx.com PHPCMS X 是基于PHPCMS V9 (9.6.3)上优化完善而来的,对PHPCMS V9进行了全面的优化和持续的安全修复及维护,并对部分功能做了延伸,PHPCMSX是PHPCMS众多fans的社区维护版。 PHPCMS X 不同于其他phpcms修改版,PHPCMS X没有对程序功能和模块进行过多的增加和魔改; PHPCMS X 的重点是保留所有官方原版程序中各功能不变的基础上,进行了全面的安全漏洞修补、BUG修正、和部分代码的优化完善,使其能更安全稳定的运行于当前大部分服务器环境下; 同时我们提供长期持续稳定的程序更新维护,让PHPCMS X可长期的稳定运行,同时方便熟悉phpcms的朋友可方便的二次开发; 如您需要有更多新功能模块,我们建议您尝试网上其他phpcms修改版; 如您需要的是能长期稳定安全运行的CMS程序,我们推荐您使用PHPCMS X; 如您使用PHPCMS X,并需要一些新的功能模块,您可以访问我们的在线模块市场或联系我们定制开发; 主要完善和优化项如下: 支持HTTPS环境 支持php7.4+ 支持MySQL8+ (支持 MariaDB 10.5 +) 支持后台更新提示和一键更新(须使用本优化升级版程序 v2.6或以上) 支持网站文件在线MD5校验 去除了已被废弃的视频模块和视频模型 修复安装时DNS解析错误提示 优化修复PHPSSO代码,让PHPSSO可用、好用,不再是鸡肋 修复已知安全漏洞 修复已知BUG 增加安装时自定义后台管理登录地址 后台附件上传修改为H5上传 会员头像上传修改为H5上传 支持HTTPS 支持安装时自定义后台登录地址 支持后台一键更新 增加百度、讯飞关键词提取接口 多功能编辑器 最后更新2021/0915
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值