Discuz! X3.* 任务奖励普通会员用户组的方法
分类 网站技术/村民张先生 发布于 2015-04-15 08:32
应用场景:若您自行修改设置过新注册用户的默认用户组(通常应为一个权限较低的自定义用户组),我们可以为这个用户组设置一个转正任务,完成任务后自动升级到常规会员用户组。但默认情况下,论坛任务设置为奖励用户组时,只是奖励自定义用户组,不能奖励常规会员用户组。以下是修改方法:
一、打开 source/admincp/admincp_tasks.php 文件,
查找:
showsetting('tasks_add_group', array('prize_group', C::t('common_usergroup')->fetch_all_by_type('special', 0)), $task['prize'], 'select');
替换为:
if($id == '要支持的任务ID') { showsetting('tasks_add_group', array('prize_group', C::t('common_usergroup')->fetch_all_by_type('member', 0)), $task['prize'], 'select'); } else { showsetting('tasks_add_group', array('prize_group', C::t('common_usergroup')->fetch_all_by_type('special', 0)), $task['prize'], 'select'); }
二、打开 source/class/class_task.php 文件,
查找:
$rewardtext = $group['grouptitle'];
在其下方加入:
if($this->task['bonus'] != '0') { $youxiaoqi = '有效期 '.$this->task['bonus'].' 天'; }
查找:
'prize' => $this->task['prize'],
在其下方加入:
'youxiaoqi' => $youxiaoqi,
查找:
C::t('common_member')->update($_G['uid'], array('extgroupids' => $_G['forum_extgroupids']), 'UNBUFFERED');
替换为:
if(in_array($_G['forum_extgroupids'], array(所有普通会员用户组编号,英文逗号隔开))) { C::t('common_member')->update($_G['uid'], array('groupid' => 0分用户组的编号), 'UNBUFFERED'); } else { C::t('common_member')->update($_G['uid'], array('extgroupids' => $_G['forum_extgroupids']), 'UNBUFFERED'); }
查找:
if($day) {
替换为:
if($day && !in_array($_G['forum_extgroupids'], array(所有普通会员用户组编号,英文逗号隔开))) {
三、打开 source/language/lang_notification.php 文件,查找 有效期 {bonus} 天 替换为 {youxiaoqi} 。
完成。注意:若用户升级为正式用户时,积分已经高于该正式用户组,只要该用户进行一次有积分的操作,用户组会随即自动调整至积分应该对应的用户组。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截