大站要更新某一个用户组的头衔 实在是痛苦,现在版本就做了一个更新所有的用户头衔。那个会员数据量超过百万的情况下,要想更新某个不正常的用户头衔,重新所有跑一遍太阳都下山了。
如果能增加更新指定用户的头衔不是更加的方便和节省资源?
数据-》全站缓存-》缓存管理
打开admin/aboutcache.php文件,找到
elseif($_POST['action'] == 'usergroup') {上方增加代码:
elseif ($action == 'groupone') {
//指定UID更新用户组 by rickyleo
$pwServer['REQUEST_METHOD']!='POST' && PostCheck($verify);
S::gp(array('uid'));
if (empty($uid)){
adminmsg('请输入指定用户的用户UID!');
}else {
$uid = (int) $uid;
}
$rt = $db->get_one("SELECT postnum,digests,rvrc,money,credit as credits,currency,onlinetime
FROM pw_memberdata
WHERE uid=".S::sqlEscape($uid)."
LIMIT 1");
if (!empty($rt)){
$usercredit = array(
'postnum'=> $rt['postnum'],
'digests'=> $rt['digests'],
'rvrc'=> $rt['rvrc'],
'money'=> $rt['money'],
'credit'=> $rt['credits'],
'currency'=> $rt['currency'],
'onlinetime'=> $rt['onlinetime'],
);
$upgradeset = unserialize($db_upgrade);
foreach ($upgradeset as $key => $val) {
if (is_numeric($key)) {
require_once(R_P.'require/credit.php');
foreach ($credit->get($uid,'CUSTOM') as $key => $value) {
$usercredit[$key] = $value;
}
break;
}
}
require_once(R_P.'require/functions.php');
$memberid = getmemberid(CalculateCredit($usercredit, $upgradeset));
$userService = L::loadClass('UserService', 'user');
$userService->update($uid, array('memberid'=>$memberid));
}else {
adminmsg('这个用户的数据异常或不存在,请检查是否存在该用户!');
}
adminmsg('operate_success');
}打开template/admin/updatecache.htm文件,找到:
更新会员组头衔
每批更新个数
根据积分方案更新会员组头衔每次更改升级点数需求或会员组提升方式后需要使用此功能更新会员组头衔
下方增加代码:
更新指点会员头衔(UID)
更新用户组
根据积分方案更新指定会员的用户组头衔每次更改升级点数需求或会员组提升方式后需要使用此功能更新会员组头衔