where($map) ->page($page,$row) ->order('create_time DESC') ->select(); foreach ( $data as $key => $value ) { $data[$key]['create_time'] = date('Y-m-d H:i:s',$value['create_time']); } $count = M('forbit_ip','tab_') ->where($map) ->count(); $appleInteriorBuyStatus = M('tool','tab_')->where(['name'=>'apple_interior_buy'])->getField('status'); $setAppleInteriorBuyStatus = $appleInteriorBuyStatus?1:0; $this->checkListOrCountAuthRestMap($map,[]); $page = set_pagination($count, $row); $this->assign('_page', $page); $this->assign('apple_interior_buy',$appleInteriorBuyStatus); $this->assign('set_apple_interior_buy',$setAppleInteriorBuyStatus); $this->assign('data',$data); $this->display(); } public function export() { $xlsName = 'ip限制白名单'; $xlsCell = array( "玩家账号", '状态', '添加人', '添加时间' ); $map = []; if ($_REQUEST['user_account']) { $map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"]; } $csvFileName = $xlsName.'.csv'; //设置好告诉浏览器要下载excel文件的headers header('Content-Description: File Transfer'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="'. $csvFileName .'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); $fp = fopen('php://output', 'a');//打开output流 mb_convert_variables('GBK', 'UTF-8', $xlsCell); fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中 $accessNum = M('forbit_ip','tab_') ->where($map) ->count(); $accessNum =$accessNum['count']; $perSize = 2000;//每次查询的条数 $pages = ceil($accessNum / $perSize); for($i = 1; $i <= $pages; $i++) { $xlsData = M('forbit_ip','tab_') ->field('user_account,status,admin_account,create_time') ->where($map) ->limit(($i-1)*$perSize ,$perSize) ->order('create_time DESC') ->select(); foreach($xlsData as $value) { $value['create_time'] = date("Y-m-d H:i:s",$value['create_time']); if ($value['status'] == 0) { $value['status'] = '限制'; } else { $value['status'] = '不限制'; } mb_convert_variables('GBK', 'UTF-8', $value); fputcsv($fp, $value); } unset($xlsData);//释放变量的内存 //刷新输出缓冲到浏览器 ob_flush(); flush();//必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。 } fclose($fp); addOperationLog(array( "op_type"=>3, "key"=> getNowDate(), "menu"=>"游戏-游戏管理-ip限制白名单-导出", "url"=>U("AmericaIpForbit/index") )); $getData = $_GET; unset($getData['id']); unset($getData['xlsname']); } public function operateIp() { if (!I('id')) { $this->ajaxReturn(['code'=>1,'msg'=>'ID未选择']); } else { $id = I('id'); } if (I('status')) { $status = I('status'); } else { $status = 0; } $map['id'] = ['in',$id]; $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id]])->save(['status'=>$status]); if ($is_change) { if (I('status')) { addOperationLog(array( "op_type"=>1, "key"=> getNowDate(), "menu"=>"游戏-游戏管理-ip限制白名单-开启", "url"=>U("AmericaIpForbit/index") )); } else{ addOperationLog(array( "op_type"=>1, "key"=> getNowDate(), "menu"=>"游戏-游戏管理-ip限制白名单-关闭", "url"=>U("AmericaIpForbit/index") )); } $this->ajaxReturn(['code'=>1]); } else { $this->ajaxReturn(['code'=>0]); } } public function del() { if (!I('id')) { $this->ajaxReturn(['code'=>1,'msg'=>'ID未选择']); } else { $id = I('id'); } $is_del = $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id]])->delete(); if ($is_del) { $hav_firbit = M('forbit_ip','tab_')->where(['id'=>I('id')])->find(); addOperationLog(array( "op_type"=>2, "key"=> I('id'), "menu"=>"游戏-游戏管理-ip限制白名单-删除", "url"=>U("AmericaIpForbit/index") )); $this->ajaxReturn(['code'=>1]); } else { $this->ajaxReturn(['code'=>0]); } } public function add() { $this->display(); } public function addUser() { $insert = []; $hav_user = M('user','tab_')->where(['account'=>I('account')])->find(); $auth = $_SESSION['onethink_admin']['user_auth']; if (!$hav_user) { $this->error('用户不存在'); } $hav_firbit = M('forbit_ip','tab_')->where(['user_account'=>I('account')])->find(); if ($hav_firbit) { $this->error('该用户已添加封禁'); } $insert['user_id'] = $hav_user['id']; $insert['user_account'] = I('account'); $insert['status'] = I('status'); $insert['admin_id'] = $auth['uid']; $insert['admin_account'] = $auth['username']; $insert['create_time'] = time(); $insert['remarks'] = ''; $is_insert = M('forbit_ip','tab_')->add($insert); if ($is_insert) { addOperationLog(array( "op_type"=>0, "key"=> I('account'), "menu"=>"游戏-游戏管理-ip限制白名单-新增", "url"=>U("AmericaIpForbit/index") )); $this->success('添加成功',U('AmericaIpForbit/index')); } else { $this->error('添加失败'); } } public function setAppleInteriorBuyStatus() { $status = I('status'); if (!$status && $status!='0') { $this->ajaxReturn(['code'=>0]); } $is_success = M('tool','tab_')->where(['name'=>'apple_interior_buy'])->save(['status'=>$status]); if ($is_success) { $this->ajaxReturn(['code'=>1]); } else { $this->ajaxReturn(['code'=>0]); } } }