帝国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', array('uid'=>$uid));
} else {
$return = uc_api_post('user', 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', array());
} else {
$return = uc_api_post('user', array());
}
}
return $return;
}