在ecshop的会员整合ucenter的set_cookie函数有问题,所以给修正了下,需要的朋友可以参考下。
文件在 /api/uc.php 搜索 set_cookie
复制代码代码如下:
function set_cookie($user_id=”, $user_name = ”, $email = ”) { if (empty($user_id)) { /* 摧毁cookie */ $time = time() – 3600; setcookie(‘ECS[user_id]‘, ”, $time);//这里有问题 setcookie(‘ECS[username]‘, ”, $time);//这里有问题 setcookie(‘ECS[email]‘, ”, $time);//这里有问题 } else { /* 设置cookie */ $time = time() + 3600 * 24 * 30; setcookie(“ECS[user_id]“, $user_id, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); setcookie(“ECS[username]“, $user_name, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); setcookie(“ECS[email]“, $email, $time, $GLOBALS['cookie_path'], $GLOBALS['cookie_domain']); } }
因为假设这样的架构 http://域名/ 是 ecshop ,http://域名/bbs/ 为论坛dzX2, 那么,在ec登陆后,dzX2 点退出, 会发送一个javascript申请到 /api/uc.php的 logout请求 ( 如果setcookie 只是在 /bbs/ 下 设置cookie 为空,那么就清空不了cookie 严格的应该是 setcookie('ECS[user_id]', '', $time,$GLOBALS['cookie_path'], $GLOBALS['cookie_domain']);
那么代码可以修改为 还有要修改ecshop的 ucenter插件,ncludes/modules/integrates/ucenter.php
如图两部分
|