|
HDWIKI 和PHPWIND都有通行证,这个是不同于UC的网站整合方法。
整合后,两边可以同步的登陆和退出,把HDWIKI或者PHPWIND作为一个栏目。
这样就很容易的扩充了你网站的内容。
下面提供了两种方式,这两种方式不可混用,需要修改不同的文件
建议使用第二种以HDWIKI作为客户端的方法!
一、 PHPWIND 为服务端,hdwiki为客户端
a) HDWIKI内容修改
1、control\passport_client.php里面
11行
-
$this->userdb=urldecode($this->get[2]);
-
$this->forward=urldecode(substr($_SERVER['QUERY_STRING'],strpos($_SERVER['QUERY_STRING'],’-',strlen($this->get[0].$this->get[1].$this->get[2]))+1,-33));
更改为
-
if(PP_NAME==’PHPWIND’){
-
$this->userdb=rawurldecode($this->get[2]);
-
$this->forward=rawurldecode(substr($_SERVER['QUERY_STRING'],strpos($_SERVER['QUERY_STRING'],’-',strlen($this->get[0].$this->get[1].$this->get[2]))+1,-33));
-
}else{
-
$this->userdb=urldecode($this->get[2]);
-
$this->forward=urldecode(substr($_SERVER['QUERY_STRING'],strpos($_SERVER['QUERY_STRING'],’-',strlen($this->get[0].$this->get[1].$this->get[2]))+1,-33));
-
}
38行
-
parse_str($this->authcode($this->userdb,’DECODE’,PP_KEY),$userdb);
复制代码
更改为:
-
if(PP_NAME==’PHPWIND’){
-
parse_str(util::strcode($this->userdb,’DECODE’),$userdb);
-
}else{
-
parse_str($this->authcode($this->userdb,’DECODE’,PP_KEY),$userdb);
-
}
复制代码
2、把压缩包中HDWIKI根目录下 中的 passport_client.php 拷贝到你的服务器上hdwiki根目录下,注意编码。
3、hdwiki后台->数据库管理->SQL查询窗口 执行如下sql语句
注意修改表前缀!
-
UPDATE
-
wiki_usergroup
-
SET regulars=CONCAT(regulars,’|passport_client-login|passport_client-logout’),`default`=CONCAT(`default`,’|passport_client-login|passport_client-logout’);
复制代码
4. 将附带的文件,拷入HDWIKI相应位置
b) 相应设置
设置HDWIKI
全局->扩展设置->通行证设置
详见下图:

设置PHPWIND
应用中心->插件中心->点击通行证插件进行设置
详见下图:

二、 HDWIKI为服务端,PHPWIND为客户端
a) PHPWIND 文件修改
在 约 第 10 行之前加上 $userdb = str_replace(‘=’, ‘=’, $userdb); 即,修改
-
if(empty($db_pptkey) || md5($action.$userdb.$forward.$db_pptkey) != $verify){
-
Showmsg(‘passport_safe’);
-
}
复制代码
为:
-
$userdb = str_replace(‘=’, ‘=’, $userdb);
-
if(empty($db_pptkey) || md5($action.$userdb.$forward.$db_pptkey) != $verify){
-
Showmsg(‘passport_safe’);
-
}
复制代码
B) 相应设置
Hdwiki端设置
全局—扩展设置—通行证设置
详见下图

Phpwind端设置
应用中心—插件中心—通行证
详见下图

PHPwind中,通行证的登陆、退出、注册地址分别为: index.php?user-login- 、index.php?user-logout-、index.php?user-register- 当然,不要忘记最后的 – 分隔符!
三、 通行证设置出错,不能访问了怎么办?
设置过程中,发现某个地方设置失误,导致不能登陆,这个时候可以通过以下方法解决
HDWIKI端,根目录\data\passport.inc.php,将 define(‘PP_OPEN’, ’1′); 修改为 define(‘PP_OPEN’, ’0′);
PHPWIND端 根目录\data\bbscache\config.php 中,$db_pptifopen 设置为 0 即可
四、 设置后,总是提示失败怎么办?
可能是由于缓存的缘故,测试的时候建议两边都清空缓存,然后都退出,这个时候开始测试。多刷新几次,多测试几次!
|