您当前的位置:首页 > 帝国CMS教程

帝国7.5整合discuzX3.2同时登陆退出

来源:帝国CMS教程发布者:帝国CMS模板网时间:2018-10-09

帝国CMS7.5整合DiscuzX3.2完美实现同步登陆和退出

1、首先参照下载帝国CMS7.5安装在网站根目录,同时安装完毕,另外在下载DiscuzX3.2到网站目录club文件夹。并安装完毕

2、按照帝国论坛教程http://bbs.phome.net/showthread-35-78648-0.html

3、在修改帝国CMS目录下的e/config.inc.php文件配置:(UTF-8版要用dreamweaver或editplus修改,用记事本会将文件转为gbk)

参照Discuz目录下:config/config_ucenter.php 配置帝国e/config.inc.php文件

最后实现后,发现在帝国上登陆和退出都可以在discuz里实现,但是当在discuz上登陆退出,在帝国就不行了。

解决办法:

在DISCUZ的client.php文件中(默认在uc_client目录下):

找到365行左右

将以下代码:

function uc_user_synlogin($uid) {
        $uid = intval($uid);
        if(@include UC_ROOT.'./data/cache/apps.php') {
                if(count($_CACHE['apps']) > 1) {
                        $return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
                } else {
                        $return = '';
                }
        }
        return $return;
}
function uc_user_synlogout() {
        if(@include UC_ROOT.'./data/cache/apps.php') {
                if(count($_CACHE['apps']) > 1) {
                        $return = uc_api_post('user', 'synlogout', array());
                } else {
                        $return = '';
                }
        }
        return $return;
}

改为:

 function uc_user_synlogin($uid) {
        $uid = intval($uid);
        if(@include UC_ROOT.'./data/cache/apps.php') {
                if(count($_CACHE['apps']) > 1) {
                        $return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
                } else {
                        $return = uc_api_post('user', 'synlogin', array('uid'=>$uid));
                }
        }
        return $return;
}
function uc_user_synlogout() {
        if(@include UC_ROOT.'./data/cache/apps.php') {
                if(count($_CACHE['apps']) > 1) {
                        $return = uc_api_post('user', 'synlogout', array());
                } else {
                        $return = uc_api_post('user', 'synlogout', array());
                }
        }
        return $return;
}