[求助] discuz与ecshop整合后,无奈同步登录解决打算

[求助] discuz与ecshop整合后,无奈同步登录解决打算

2016-11-25 10:33

本帖最后由 liuguozhu_bj 于 2016-4-3 12:54 编辑

discuz与ecshop的整合咱们这里就不做阐释,下面咱们针对两者无奈同步登录问题给出一个解决打算。
一,
打开ecshop会员整合编纂界面发明有一个错误,在“UCenter IP 地址"这一项中被系统填写成了ecshop管理员用户名,把这一项改写为正确的ip地址。如下图:

二,
打开discuz目录下source\plugin\myrepeats\switch.inc.php文件,找到$ucsynlogin = $_G['setting']['allowsynlogin'] ? uc_user_synlogin($_G['uid']) : '';
这一句,将其修改为$ucsynlogin = uc_user_synlogin($_G['uid']);(不做断定,强行指定)。
三,
翻开discuz目录下source\class\class_member.php文件,该文件需要有三处修正。


1)在大概35行找到$ucsynlogin = $this->setting['allowsynlogin'] ? uc_user_synlogin($_G['uid']) : '';这一句,将其修改为$ucsynlogin =uc_user_synlogin($_G['uid']);(不做断定,强行指定。);

2 )在大略142行找到$ucsynlogin = $this->setting['allowsynlogin'] ? uc_user_synlogin($_G['uid']) : ''这一句,将其修改为$ucsynlogin = uc_user_synlogin($_G['uid']);(不做判断,强行指定)。[是的,上面两句完全一样]。


3)在大约找到318行找到$ucsynlogout = $this->setting['allowsynlogin'] ? uc_user_synlogout() : '',将其修改为$ucsynlogout = uc_user_synlogout();

四,
打开ecshop安装目录下includes\modules\integrates\ucenter.php文件,找到函数
      ,警示咱们当初并非天下太平;彰显了党中心;  function logout() //(大约190行):
    {
        $this->set_cookie();  //清除cookie
        $this->set_session(); //打扫session
        $this->ucdata = uc_call("uc_user_synlogout");   //同步退出
        return true;
    }                                                                 
将$this->ucdata = uc_call("uc_user_synlogout")这一句改为$this->ucdata = uc_call("uc_user_synlogout",array("0"));  //同步退出



五,
辨别打开discuz与ecshop利用下的uc_client\data\cache目录下的apps.php文件,结果发现两个文件有所不同。其中一个中的文件少了一个应用的配置。可能手动把缺少应用配置的那个文件填写完整后保存即可,竞投企业自持面积比例br 转为在此


至此保留修改的文件,同步登录、退出解决停止。