管理員
積分信息:
威望:6087
金錢:9076810
貢獻:6198
儲蓄:2146643647
|
在仔細看完了discuz論壇的整個代碼後發現,官方給出的代碼大部分是沒有錯誤的,但是有一個致命的問題寫錯了,導致不能正常過期。
下面我們就來修改這個bug。
首先我們要找到打開source\include\spacecp\spacecp_usergroup.php這個文件,找到299行左右,
下面我們就來修改這個bug。首先我們要找到打開source\include\spacecp\spacecp_usergroup.php這個文件,找到299行左右,
- foreach(explode("\t", $_G['forum_extgroupids']) as $extgroupid) {
複製代碼
修改為
- foreach(explode("\t", $_G['member']['extgroupids']) as $extgroupid) {
複製代碼
複製代碼
修改完後,以後的用戶組過期就會得到解決。
如果你以前就有很多的過期用戶想清理掉怎麼辦呢?這個的要修改source\class\discuz\discuz_application.php這個文件了。
原理就是在用戶今日論壇的時候自動檢測一下是否過期,如果過期就自動切換到原來的用戶組上去。
打開discuz_application.php文件,大概在433行左右,找到
- if($user && $user['groupexpiry'] > 0 && $user['groupexpiry'] < TIMESTAMP && (getgpc('mod') != 'spacecp' || CURSCRIPT != 'home')) {
複製代碼
在他上面添加內容並重寫成一下的代碼
保存文件,修改完成。 |
|