这个是官方给的方法:http://wenda.wecenter.com/question/13007
https://gist.github.com/explon/7426697
用这个 function 替换 app/account/openid.php 里面那个函数,建议通过审核之后改回来.
这个方法我不知道会不会通过,但是我用的不是这个方法.下面我说说我的办法,希望能对大家有所帮助.
=============================================
先用这个文件https://gist.github.com/explon/7426697
里面有一段代码:
// Modify by anwsion
//H::redirect_msg(AWS_APP::lang()->_t('该 QQ 号未与本站账户绑定'), get_setting('base_url'));
if (get_setting('invite_reg_only') == 'Y')
{
H::redirect_msg(AWS_APP::lang()->_t('本站只能通过邀请注册'));
}
if (! AWS_APP::session()->QQConnect['access_token'] OR ! $uinfo = $this->model('openid_qq')->request_user_info())
{
H::redirect_msg(AWS_APP::lang()->_t('与 QQ 通信出错, 请重新登录'), '/account/login/');
}
else
{
$qq_login_user_name = $uinfo['nickname'] . '_' . rand(100000000, 999999999);
if (get_setting('ucenter_enabled') == 'Y')
{
$result = $this->model('ucenter')->register($qq_login_user_name, rand(111111111, 999999999), 'qq_login' . rand(100000000, 999999999) . '@qq.com', true);
if (is_array($result))
{
$uid = $result['user_info']['uid'];
}
else
{
H::redirect_msg($result);
}
}
else
{
$uid = $this->model('account')->user_register($qq_login_user_name, rand(111111111, 999999999), 'qq_login' . rand(100000000, 999999999) . '@qq.com', true);
}
$user_info = $this->model('account')->get_user_info_by_uid($uid);
HTTP::set_cookie('_user_login', get_login_cookie_hash($user_info['user_name'], $user_info['password'], $user_info['salt'], $user_info['uid'], false));
$this->model('openid_qq')->bind_account($uinfo, get_js_url('/'), $uid);
}
}
}
替换掉原来的:
{
H::redirect_msg(AWS_APP::lang()->_t('该 QQ 号未与本站账户绑定'), get_setting('base_url'));
}
记住,一定要注意语法!就OK了!
阅读全文
收起全文