2011-10-18 09:20:31  浏览:1577

phpcms Discuz

最近有朋友提出问题v9.1.7(20110909) 与 discuz 新版 X2 整合过程中有问题。由于V9中默认整合的Ucenter 版本为1.5.1 (即适用于 Discuz X1.5 以下 DISCUZ 7.0 之上的版本 ),而最新的Discuz X2 中升级了Ucenter 版本至 Ucenter 1.6 ,由于接口文件的变动 所以会导致一些无法同行问题。 

  现给出如下解决方案:


  第一步:确定你的CMS及PHPSSO
版本为最新版v9.1.7(20110909)。注:截至发此文章时间最新版为该版本。官方版本最更新后会在此处说明

  第二步:使用新的uc_client文件,打开phpsso_serverapi 目录修改原uc_client目录名称为uc_client名称为uc_client.1.5.1,然后将下面文件解压后覆盖到该目录下。

    uc_client.rar (41.12 KB, 下载次数: 201) 

  第三步:使用下面文件覆盖phpsso_serverphpcmslibsfunctionsglobal.func.php。注意!是phpsso_server中的global.func.php,不是cms中的

    global.func.rar (7.75 KB, 下载次数: 169) 

  第四步:登录phpsso后台,系统设置 > uc设置 ,配置相应的整合信息,如图。注意!在前缀前增加数据库名称,格式如:`bbs`.pre_uc_

1.png



  第五步:登录Ucenter后台,添加应用,配置相应的信息,这里不详细说明,如图

2.png




  第六步:更新缓存,包括phpsso缓存,ucenter缓存,discuz 缓存。

  此时你会发现从CMS中登录退出,论坛可以同步登录退出,但是在论坛登录退出无法同步登录退出cms,由于discuz本身的一些问题,为了解决该问题,我们需要修改一下discuz的代码。

  第七步:修改Discuz中文件

  1、修改 templatedefaultmemberlogin.htm 第36行,删除

  
  1. ajaxpost('loginform_$loginhash','returnmessage_$loginhash','returnmessage_$loginhash', 'onerror');return false;
复制代码


  2、修改 templatedefaultmemberlogin_simple.htm 第 2 行,删除
  
  
  1. onsubmit="return lsSubmit()"
复制代码


  3、修改 /source/function/function_message.php 第 78 行,查找
  
  
  1. $param['header'] = true;
复制代码


  替换为:

  
  1. $param['header'] = false;
复制代码


  如果你是dzx1.5  则应该修改 /source/function/function_core.php  第 1458 行,查找

  
  1. $param['header'] = true;
复制代码


  替换为:

  
  1. $param['header'] = false;
复制代码


完!

[转自]http://bbs.phpcms.cn/forum.php?mod=viewthread&tid=355854&fromuid=226934


返回首页