打开 source/class/class_member.php 文件,查找:
if($invite && $this->setting['inviteconfig']['invitegroupid']) {
$groupinfo['groupid'] = $this->setting['inviteconfig']['invitegroupid'];
}
在其下方加入:
if(!$invite && !$this->setting['regverify']) {
$groupinfo['groupid'] = 46; //自定义用户组编号
}
测试以下各种情况均正常:
- 无邀请码注册,正常进入自定义用户组。
- 使用邀请码注册,正常进入标准用户组或所设置的邀请组。
- 验证情况下,进入等待审核组,审核通过后转为标准用户组。
- 激活情况下,有邀请码进入标准组/邀请组,无邀请码进入自定义用户组。
发现一处异常,检查发现可能是Discuz本身的BUG:
若开启人工验证的同时设置了邀请组,当有人使用邀请码注册后,会提示“……开启了人工审核……”,但事实上已经进入邀请组。管理员在后台发现产生了待审核用户记录,点开却为空。
所以应避免在开启验证的同时设置邀请组。一般这种情况是比较少见的。