Discuz x用户组到期后不自动切换解决方案

修改文件:source/include/spacecp/spacecp_usergroup.php

找到  

$groupexpirynew = $groupterms['ext'][$groupid];

替换为

  $groupexpirynew = $groupterms['ext'][$extgroupidsnew]

然后找到代码

$expirylist[$group['groupid']]['grouptitle'] = in_array($group['groupid'], $expgrouparray) ? ''.$group['grouptitle'].'' : $group['grouptitle'];
               }
       }

在它的下面加上如下代码:

   if($expgrouparray) {

               $extgroupidarray = array();
               foreach(explode("\t", $_G['forum_extgroupids']) as $extgroupid) {
                       if(($extgroupid = intval($extgroupid)) && !in_array($extgroupid, $expgrouparray)) {
                               $extgroupidarray[] = $extgroupid;
                       }
               }

               $groupidnew = $_G['groupid'];
               $adminidnew = $_G['adminid'];
               foreach($expgrouparray as $expgroupid) {
                       if($expgroupid == $_G['groupid']) {
                               if(!empty($groupterms['main']['groupid'])) {
                                       $groupidnew = $groupterms['main']['groupid'];
                                       $adminidnew = $groupterms['main']['adminid'];
                               } else {
                                       $groupidnew = DB::result_first("SELECT groupid FROM ".DB::table('common_usergroup')." WHERE type='member' AND '".$_G['member']['credits']."'>=creditshigher AND '$credits'<creditslower limit="" 1");
                                       if(in_array($_G['adminid'], array(1, 2, 3))) {
                                               $query = DB::query("SELECT groupid FROM ".DB::table('common_usergroup')." WHERE groupid IN (".dimplode($extgroupidarray).") AND radminid='$_G[adminid]' LIMIT 1");
                                               $adminidnew = (DB::num_rows($query)) ? $_G['adminid'] : 0;
                                       } else {
                                               $adminidnew = 0;
                                       }
                               }
                               unset($groupterms['main']);
                       }
                       unset($groupterms['ext'][$expgroupid]);
               }

               require_once libfile('function/forum');
               $groupexpirynew = groupexpiry($groupterms);
               $extgroupidsnew = implode("\t", $extgroupidarray);
               $grouptermsnew = addslashes(serialize($groupterms));

               DB::query("UPDATE ".DB::table('common_member')." SET adminid='$adminidnew', groupid='$groupidnew', extgroupids='$extgroupidsnew', groupexpiry='$groupexpirynew' WHERE uid='$_G[uid]'");
               DB::query("UPDATE ".DB::table('common_member_field_forum')." SET groupterms='$grouptermsnew' WHERE uid='$_G[uid]'");

       }

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索