destoon這個系統用了也有一段時間了,剛做一個同步登錄的功能,那就用ucenter來做中介,添加多個應用然后使多個站點有同步登錄退出的功能。
uc添加應用,這個不難,destoon官網上也有相關的教程。幾個應用添加完畢以后,注冊一個帳號測試,問題來了
注冊完以后,注冊頁面沒有跳轉,也沒有提示,但這個會員是注冊成功了。為什么會沒有跳轉呢,這個又的去問度了。結果找到了……
有人經過斷點測試發現這是因為在Destoon的api/ucenter/control/user.php 文件中的第83行有一個寫Dscuz系統數據庫的函數在默認執行:function onregbbs() 函數名。此函數功能就是向dz論壇中添加一條注冊信息,函數具體內容就不貼了。在找到注冊提交頁面在destoon的注冊信息處理文件module/member/register.inc.php中有這樣一段代碼
- if($MOD['passport'] == 'uc') {
- $uid = uc_user_register($passport, $post['password'], $post['email']);
- if($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']);
- }
直接屏蔽第二條語句,if($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']);問題就解決了。
至于多個站點同時登錄,退出也還沒有來的及測試,大致方向應該沒有錯誤,測試后會及時公布結果。
新聞熱點
疑難解答