小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ecshop 通過UCenter 與 Discuz! x2整合時 ECSHOP接口的同步登出B

 quasiceo 2014-05-04

問題一:ecshop注冊無法和discuz同步賬號的問題,在shop的注冊代碼里加了$user->login($username, $password);$ucdata = isset($user->ucdata)? $user->ucdata : '';解決。

問題二:ecshop注冊的賬號雖然同步到了discuz,但是首次在discuz登錄存在賬號需要激活的問題,在dx的api/uc.php里找到synlogin方法,在
if($member = DB::fetch($query)) {
 

           dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
        }
后加入
else
        {
            $username = $get['username'];                       
            $password = md5(time().rand(100000, 999999));
            $email = $get['email'];
            $ip = $_SERVER['REMOTE_ADDR'];
            $time = time();       
                             
            $userdata = array(
                     'uid' => $uid,
                     'username' => $username,
                     'password' => $password,
                     'email' => $email,
                     'adminid' => 0,
                     'groupid' => 10,
                     'regdate' => $time,
                     'credits' => 0,
                     'timeoffset' => 9999
            );
            DB::insert('common_member', $userdata);
           
            $status_data = array(
                     'uid' => $uid,
                     'regip' => $ip,
                     'lastip' => $ip,
                     'lastvisit' => $time,
                     'lastactivity' => $time,
                     'lastpost' => 0,
                     'lastsendmail' => 0,
            );http://www./
            DB::insert('common_member_status', $status_data);
            DB::insert('common_member_profile', array('uid' => $uid)); 
            DB::insert('common_member_field_forum', array('uid' => $uid));
            DB::insert('common_member_field_home', array('uid' => $uid));
                     
            $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");
            if($member = DB::fetch($query))
            {
                dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
            }
        }

問題三.用以上辦法解決后,又存在一個奇怪的現(xiàn)象,在ecshop新注冊的賬號直接在同步登陸的dx系統(tǒng)里登出,ecshop無法同步登出(但重新登錄的 用戶名可以做到登錄登出的完美同步),仔細對比了cookie,http://www./ 最后在同事的指點下終于解決了,由于shop里(modules/intergrates /ucenter.php)清除cookie的方法寫的是
setcookie("ECS[user_id]",  '');           
setcookie("ECS[password]", '');
沒有指定cookie_path,改為
setcookie("ECS[user_id]",  '', $time, $this->cookie_path);           
setcookie("ECS[password]", '', $time, $this->cookie_path);
問題解決

今天又遇到一個問題,突然ecshop到dx的同步登陸出錯了,仔細查證后發(fā)現(xiàn)由于在ecshop頭部登陸后加了一個window.reload的代碼刷新頁面(因為有部分內(nèi)容需要根據(jù)賬戶不同顯示,所以加了這個),造成的同步錯誤,具體原理還在查證

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多