跳转到内容

圈主自定义用户组的处理

圈子中可以自定义用户组,但是它有几个用户组的ID是固定的,像就系统组当中3代表超管,8代表普通用一样的意思。 在圈子中,3代表圈主,具有最高权限;2代表副圈主,权限稍弱些;4代表VIP会员,权限更弱。1代表普通用户,没什么权限;0代表未通过审核的用户,没权限,跟访客差不多。 其它更多的用户组就需要自行定义权限了。 所以大家在做权限处理的时候,要考虑到上面这几个用户组的权限处理。你不能让用户组3没有权限。 fun('qun@get_group','name',$id) 这个方法可以获取到当前圈子的所有用户组名称,数组KEY是用户组ID,数组值是名称。方便直接在自定义表单中使用,如下图所示 img

fun('qun@get_group',4,$id) 这个代表可以获取当前圈子中用户组值为4的用户组名称,默认是VIP会员,但圈主可以重新定义名称。

每个用户的信息中包含了所在圈子信息的缓存,如下图所示 img 用户加入的所有圈子,都会在他的用户信息里边,通过 get_user($uid) 这个函数得到的用户信息,就包含了上面的圈子缓存信息 aid是所加入的圈子ID type就是所在圈子里边的用户组id 所以做权限判断的时候,就可以根据这个来做处理了,比如:

<?php
$qid = 9; //圈子ID
$array = [3,4,7]; //有权限的圈子用户组
if(in_array($this->user['qun_group'][$qid]['type'],$array)){
//有权限
}

上面是对于当前登录用户使用$this->user其它用户的话,就可以用$user = get_user($uid);