苹果cms10 列表和搜索过滤会员组没有权限的数据
苹果cms10的列表中,会出现会员组没有权限的数据,只有点进去才会提示登录。
1.新版本
后台-》网站基础参数-》性能优化-》数据权限过滤
开启即可
2.老版本
编辑文件
application/common/model/Vod.php找到listData方法,增加过滤方法
public function listData($where,$order,$page=1,$limit=20,$start=0,$field='*',$addition=1,$totalshow=1)
{
$page = $page > 0 ? (int)$page : 1;
$limit = $limit ? (int)$limit : 20;
$start = $start ? (int)$start : 0;
if(!is_array($where)){
$where = json_decode($where,true);
}
$where2='';
if(!empty($where['_string'])){
$where2 = $where['_string'];
unset($where['_string']);
}
// =====修改开始=====
// 增加会员组过滤方法
$where3 = [];
// 如果是用户请求
if(isset($GLOBALS['user'])){
$category_ids = array_filter(explode(',',$GLOBALS['user']['group']['group_type']));
$where3['type_id'] = ['in',$category_ids];
}
$limit_str = ($limit * ($page-1) + $start) .",".$limit;
if($totalshow==1) {
// 增加where3查询
$total = $this->where($where)->where($where2)->where($where3)->count();
}
// 增加where3查询
$list = Db::name('Vod')->field($field)->where($where)->where($where2)->where($where3)->order($order)->limit($limit_str)->select();
// =====修改结束=====
//分类
$type_list = model('Type')->getCache('type_list');
//用户组
$group_list = model('Group')->getCache('group_list');
foreach($list as $k=>$v){
if($addition==1){
if(!empty($v['type_id'])) {
$list[$k]['type'] = $type_list[$v['type_id']];
$list[$k]['type_1'] = $type_list[$list[$k]['type']['type_pid']];
}
if(!empty($v['group_id'])) {
$list[$k]['group'] = $group_list[$v['group_id']];
}
}
}
return ['code'=>1,'msg'=>lang('data_list'),'page'=>$page,'pagecount'=>ceil($total/$limit),'limit'=>$limit,'total'=>$total,'list'=>$list];
}
评论 (0)