上一篇我们实现了 UCenter后台新增手机号字段
现在来说说怎么把UCenter的手机号同步到Discuz上。
我们知道在UCenter修改了用户邮箱,用户重新登录后会同步更新论坛member表里的邮箱,我们用一样的方法同步我们新增的手机号。
1.新增mobile字段
pre_common_member表
2.添加返回值
bbs\uc_client\control\user.php
L:105
function onlogin() {
...
return array($status, $user['username'], $password, $user['email'], $user['mobile'], $merge);
//这里返回的数组中增加了$user['mobile']
}
3.增加同步代码
bbs\source\function\function_member.php
L:14
function userlogin($username, $password, $questionid, $answer, $loginfield = 'username', $ip = '') {
...
L:44
list($tmp['uid'], $tmp['username'], $tmp['password'], $tmp['email'], $tmp['mobile'], $duplicate) = $return['ucresult'];
//对接受到返回值的处理 $tmp['mobile']
...
L:61
if($member['email'] != $return['ucresult']['email']) {
C::t('common_member')->update($return['ucresult']['uid'], array('email' => $return['ucresult']['email']));
}
//依葫芦画瓢,我们添加一个对手机号的判断,不相同就update
if($member['mobile'] != $return['ucresult']['mobile']) {
C::t('common_member')->update($return['ucresult']['uid'], array('mobile' => $return['ucresult']['mobile']));
}
}