老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
3,093

Discuz! X3.* 任务奖励普通会员用户组的方法

分类 网站技术/村民张先生 发布于 2015-04-15 08:32
0

应用场景:若您自行修改设置过新注册用户的默认用户组(通常应为一个权限较低的自定义用户组),我们可以为这个用户组设置一个转正任务,完成任务后自动升级到常规会员用户组。但默认情况下,论坛任务设置为奖励用户组时,只是奖励自定义用户组,不能奖励常规会员用户组。以下是修改方法:

一、打开 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}

完成。注意:若用户升级为正式用户时,积分已经高于该正式用户组,只要该用户进行一次有积分的操作,用户组会随即自动调整至积分应该对应的用户组。

欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20151382.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截