flzta's picture
Upload 522 files
a4a352b verified
<?php
namespace app\admin\controller;
use think\Db;
use app\common\util\Pinyin;
class Role extends Base
{
public function __construct()
{
parent::__construct();
}
public function data()
{
$param = input();
$param['page'] = intval($param['page']) < 1 ? 1 : $param['page'];
$param['limit'] = intval($param['limit']) < 1 ? $this->_pagesize : $param['limit'];
$where = [];
if (!empty($param['level'])) {
$where['role_level'] = ['eq', $param['level']];
}
if (in_array($param['status'], ['0', '1'])) {
$where['role_status'] = ['eq', $param['status']];
}
if (!empty($param['rid'])) {
$where['role_rid'] = ['eq', $param['rid']];
}
if(!empty($param['pic'])){
if($param['pic'] == '1'){
$where['role_pic'] = ['eq',''];
}
elseif($param['pic'] == '2'){
$where['role_pic'] = ['like','http%'];
}
elseif($param['pic'] == '3'){
$where['role_pic'] = ['like','%#err%'];
}
}
if(!empty($param['wd'])){
$param['wd'] = htmlspecialchars(urldecode($param['wd']));
$where['role_name'] = ['like','%'.$param['wd'].'%'];
}
$order='role_time desc';
$res = model('Role')->listData($where,$order,$param['page'],$param['limit']);
$this->assign('list', $res['list']);
$this->assign('total', $res['total']);
$this->assign('page', $res['page']);
$this->assign('limit', $res['limit']);
$param['page'] = '{page}';
$param['limit'] = '{limit}';
$this->assign('param', $param);
$this->assign('title',lang('admin/role/title'));
return $this->fetch('admin@role/index');
}
public function info()
{
if (Request()->isPost()) {
$param = input('post.');
$res = model('Role')->saveData($param);
if($res['code']>1){
return $this->error($res['msg']);
}
return $this->success($res['msg']);
}
$id = input('id');
$tab = input('tab');
$rid = input('rid');
$where=[];
$where['role_id'] = ['eq',$id];
$res = model('Role')->infoData($where);
$info = $res['info'];
if(empty($info)){
$info['role_rid'] = $rid;
}
$this->assign('info',$info);
$where=[];
$where['vod_id'] = ['eq', $info['role_rid'] ];
$res = model('Vod')->infoData($where);
$data = $res['info'];
$this->assign('data',$data);
$this->assign('title',lang('admin/role/title'));
return $this->fetch('admin@role/info');
}
public function del()
{
$param = input();
$ids = $param['ids'];
if(!empty($ids)){
$where=[];
$where['role_id'] = ['in',$ids];
$res = model('Role')->delData($where);
if($res['code']>1){
return $this->error($res['msg']);
}
return $this->success($res['msg']);
}
return $this->error(lang('param_err'));
}
public function field()
{
$param = input();
$ids = $param['ids'];
$col = $param['col'];
$val = $param['val'];
$start = $param['start'];
$end = $param['end'];
if(!empty($ids) && in_array($col,['role_status','role_lock','role_level','role_hits'])){
$where=[];
$where['role_id'] = ['in',$ids];
if(empty($start)) {
$res = model('Role')->fieldData($where, $col, $val);
}
else{
if(empty($end)){$end = 9999;}
$ids = explode(',',$ids);
foreach($ids as $k=>$v){
$val = rand($start,$end);
$where['role_id'] = ['eq',$v];
$res = model('Role')->fieldData($where, $col, $val);
}
}
if($res['code']>1){
return $this->error($res['msg']);
}
return $this->success($res['msg']);
}
return $this->error(lang('param_err'));
}
}