星期六 阴(昨夜 雨) 9~11℃
《铁甲钢拳》
好久没看电影了,下午在“待看电影列表”里选了这部来看。
很不错,期待第二部。
在家健身(32)
- 俯卧撑 30 + 30 + 35
- 仰卧起坐 50 * 2
友吧今天
打算把 sports_v3 制作成 discuz 模板,下载了几个 discuz 模板来参考要怎么制作。
星期六 阴(昨夜 雨) 9~11℃
《铁甲钢拳》
好久没看电影了,下午在“待看电影列表”里选了这部来看。
很不错,期待第二部。
在家健身(32)
友吧今天
打算把 sports_v3 制作成 discuz 模板,下载了几个 discuz 模板来参考要怎么制作。
星期五 多云(凌晨下过雨,早上起来地上湿的) 9~14℃
友吧今天
继续了解 discuz 的后台设置。
星期三 多云 5~11℃
在家健身(31)
友吧今天
星期二 阴 2~10℃
友吧今天
星期一 阴 4~8℃
在家健身(30)
友吧今天
星期六 多云 2~13℃
discuz x2.5 用户同步注册到 uchome 2.0
花了几天时间,终于解决这个头疼的问题了。
第1步
升级好 ucenter 1.6 后,记得把 uc 1.6 的 uc_client 覆盖 uchome 里面的 uc_client
第2步
参考 这篇日志 设置 discuz x2.5 与 uchome 2.0 的同步登录。
第3步
修改 \discuz\uc_client\model\user.php
找到
$this->db->query("INSERT INTO ".UC_DBTABLEPRE."memberfields SET uid=’$uid’");
在这行下面添加(修改代码中的 uchome 数据库名,如果表前缀也不一样的话,记得修改 uchome_ 表前缀):
$this->db->query("insert into UCH数据库名.uchome_member SET uid=’$uid’,username=’$username’,password=’$password’");
$this->db->query("insert into UCH数据库名.uchome_space SET uid=’$uid’,username=’$username’,ip=’".$this->base->onlineip."’, dateline=’".$this->base->time."’");
$this->db->query("insert into UCH数据库名.uchome_spacefield SET uid=’$uid’,email=’$email’,css=”,privacy=”,friend=”,feedfriend=”,sendmail=”");
第4步
修改 \discuz\source\class\class_member.php
在底下(大概 810 行的位置)找到:
$extra = array(
’showid’ => ‘succeedmessage’,
’extrajs’ => ‘<script type="text/javascript">’.
’setTimeout("window.location.href =\”.$href.’\';", ‘.$refreshtime.’);’.
’$(\’succeedmessage_href\’).href = \”.$href.’\';’.
’$(\’main_message\’).style.display = \’none\’;’.
’$(\’main_succeed\’).style.display = \’\';’.
’$(\’succeedlocation\’).innerHTML = \”.lang(‘message’, $locationmessage).’\';’.
’</script>’,
’striptags’ => false,
);修改为:
$ucsynlogin = ”;
if($_G['setting']['allowsynlogin']) {
loaducenter();
$ucsynlogin = uc_user_synlogin($_G['uid']);
}
$extra = array(
’showid’ => ‘succeedmessage’,
’extrajs’ => ‘<script type="text/javascript">’.
’setTimeout("window.location.href =\”.$href.’\';", ‘.$refreshtime.’);’.
’$(\’succeedmessage_href\’).href = \”.$href.’\';’.
’$(\’main_message\’).style.display = \’none\’;’.
’$(\’main_succeed\’).style.display = \’\';’.
’$(\’succeedlocation\’).innerHTML = \”.lang(‘message’, $locationmessage).’\';’.
’</script>’.$ucsynlogin,
’striptags’ => false,
);
第5步
在 discuz 注册页注册,看看能不能注册成功,如果可以,那下面就不用看了。
如果注册时不能跳转页面(其实已经注册成功),有可能报错:
s is undefined
修改 static/js/common.js, 大约在第 640 行代码,在其中增加一行(见下面加粗的一行)
try {
s = $(ajaxframeid).contentWindow.document.XMLDocument.text;
} catch(e) {
try {
s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.wholeText;
if(!s) s = $(ajaxframeid).contentWindow.document.firstChild.textContent; // 增加这行
} catch(e) {
try {
s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.nodeValue;
} catch(e) {
s = ‘内部错误,无法显示此内容’;
}
}
}
第6步
此时再进行注册,可能会报错:
UCenter info: MySQL Query ErrorSQL:INSERT INTO (此处略) Error:INSERT command denied to user (此处略) for table ‘uh_member’Errno:1142
发现是因为数据库用户的权限不足(我是每一个库建了一个数据库用户)。
如果使用 Navicat Lite,在“管理用户”里可以查看到权限。
在 ucenter 用户下面选择 uchome 库,勾选 Insert,保存。
第7步
我在进行以上操作后,终于同步成功了。
第8步
修改 /uchome/source/do_register.php
在最顶上增加
header("HTTP/1.1 301 Moved Permanently");
header("Location: /bbs/member.php?mod=register");
exit();这样用户访问原来的 uchome 注册页面,会自动转到 discuz 的注册页。
参考资料:
在家健身(28)
友吧今天
星期四 晴 2~12℃
友吧今天
星期三 多云 1~15℃
uchome 和 discuz 登录退出时显示乱码的问题
查看文件:
uchome 的 config.php
discuz 的 config_ucenter.php
找到 UC_API
define(‘UC_API’, ‘/ucenter’); // UCenter 的 URL 地址, 在调用头像时依赖此常量
如果登录退出时显示乱码,把这里的值改为用 http 开头试一下,例如:
define(‘UC_API’, ‘http://www.xxxx.com/ucenter’); // 填写你的 ucenter 地址
discuz x2.5 自动激动用户
论坛后台 -> 站长 -> UCenter设置
是否允许直接激活(选择“是”)
discuz x2.5 与 uchome 2.0 同步登录、退出、修改密码
第1步
查看文件:
uchome 的 config.php
discuz 的 config_global.php把 cookiedomain 都设置成一样,例如:
// config.php
$_SC['cookiedomain'] = ‘.friends8.com’;
// config_global.php
$_config['cookie']['cookiedomain'] = ‘.friends8.com’;
第2步
查看文件:
uchome 的 config.php
discuz 的 config_ucenter.php看这两个文件的 ‘UC_API’,是否是正确的 ucenter 地址。
define(‘UC_API’, ‘http://www.xxxx.com/ucenter’); // 填写你的 ucenter 地址
一个快捷且保险的方法是:在 ucenter 后台“应用列表”点击编辑,把最下面的“应用的 UCenter 配置信息”分别复制替换到 config.php 和 config_ucenter.php
在家健身(27)
友吧今天
uchome 和 discuz 同步登录、退出、修改密码。
还剩下同步注册未解决。
星期日 阴 5~12℃
升级 UCenter1.6 和安装 Discuz! X2.5 时遇到的两个问题
遇到的两个问题:
非法用户名,用户名长度不应当超过 15 个英文字符,且不能包含特殊字符,一般是中文,字母或者数字
原来是因为在 ucenter 里把 admin 设置为“禁止的用户名”了,换成别的用户名,或者在 ucenter 里临时取消限制。
在家健身(25)
友吧今天
昨晚在本地升级了 UCenter1.6,安装 Discuz! X2.5.
今晚测试一下转换程序,把 UCHome 的数据转换到 Discuz,但是出了一些问题,放弃转换。只要找个方法解决“discuz 和 uch 的同步登录”就行了,没必要转换。