資訊來源:
http://nt.discuz.net/showtopic-129793.html
1 、使用官方編譯版本,未作二次修改的使用者 (適用 3.1 版本)
直接下載附件,覆蓋同名檔案即可 (記得先備份)
2 、原始碼修改,能自行編譯的使用者
開啟檔案:
Discuz.ForumUserCredits.cs
找到方法 public static int UpdateUserCredits(int uid),將其中的:
if (uid > 0)
return UpdateUserCredits(Users.GetShortUserInfo(uid));
else
return 0;
替換為:
if (uid > 0)
{
Discuz.Data.UserCredits.UpdateUserCredits(uid);
ShortUserInfo userInfo = Users.GetShortUserInfo(uid);
UserGroupInfo tmpUserGroupInfo = UserGroups.GetUserGroupInfo(userInfo.Groupid);
if (tmpUserGroupInfo != null && ((tmpUserGroupInfo.System == 0 && tmpUserGroupInfo.Radminid == 0)
|| (tmpUserGroupInfo.Groupid == 7 && userInfo.Adminid == -1)))//當使用者是已刪除的特殊組成員時,則運算相應積分,並更新該使用者所屬組資訊
{
tmpUserGroupInfo = GetCreditsUserGroupId(userInfo.Credits);
if (tmpUserGroupInfo.Groupid != userInfo.Groupid)//當使用者所屬組發生變化時
{
Discuz.Data.Users.UpdateUserGroup(userInfo.Uid.ToString(), tmpUserGroupInfo.Groupid);
Discuz.Data.OnlineUsers.UpdateGroupid(userInfo.Uid, tmpUserGroupInfo.Groupid);
}
}
return 1;
}
else
return 0;
然後刪掉不用的方法 public static int UpdateUserCredits(ShortUserInfo userInfo)(可選)

fix_usergroupupdate.zip(139 KB)