专注于discuz,uchome,dedecms等各类PHP程序仿站(二次开发和模板制作)。

« »

ucenter用户自动激活discuz论坛用户

 discuz论坛用户如果是在用户中心注册的,该用户数据并没有写入论坛的用户表,所以在论坛登陆时会提示”激活”该用户,这样不符合我们的需求,(我们想实现:在用户中心注册的用户直接登陆,不需要激活)。

造成需要激活才能登陆的原因是:论坛用户数据没有刚刚在用户中心注册的用户数据,所以需要点击“激活”把用户中心的数据写入论坛的用户数据表中。

知道原因就好解决了:在登录成功后,判断该用户的数据是否存在论坛用户数据表中,不存在就把该用户的数据写入论坛的用户数据表中,这样就不会出现激活页面了,直接登陆成功。

方法:

在class_member.php中的(约在91行):

$result['ucresult']['uid'];

后面添加如下代码:

//begin 2011-10-13

//判断是否登陆成功(登陆成功会返回:用户id、用户名、密码等信息):
$user_t=uc_user_login($result["ucresult"]["username"], $result["ucresult"]["password"]);
//查询论坛中是否存在该账号
$user_inf = DB::fetch_first(“SELECT * FROM ”.DB::table(‘common_member’).” WHERE uid=”.$uid);
//如果该账号不存在论坛用户表中且登陆成功,则将该用户的信息写入论坛用户数据中(即实现不用点击激活才能使用的缺陷)。
if(!$user_inf["uid"] AND $user_t[0]>0){
DB::insert(‘common_member’, array(
‘uid’ => $uid,
‘username’ => $result['ucresult']['username'],
‘password’ => md5(random(10)),
‘email’ => $result['ucresult']['email'],
‘adminid’ => 0,
‘groupid’ => $this->setting['regverify'] ? 8 : $this->setting['newusergroupid'],
‘regdate’ => TIMESTAMP,
‘credits’ => $init_arr[0],
‘timeoffset’ => 9999
));
DB::insert(‘common_member_status’, array(
‘uid’ => $uid,
‘regip’ => $_G['clientip'],
‘lastip’ => $_G['clientip'],
‘lastvisit’ => TIMESTAMP,
‘lastactivity’ => TIMESTAMP,
‘lastpost’ => 0,
‘lastsendmail’ => 0
));
DB::insert(‘common_member_profile’, array(‘uid’ => $uid));
DB::insert(‘common_member_field_forum’, array(‘uid’ => $uid));
DB::insert(‘common_member_field_home’, array(‘uid’ => $uid));
DB::insert(‘common_member_count’, array(
‘uid’ => $uid,
‘extcredits1′ => $init_arr[1],
‘extcredits2′ => $init_arr[2],
‘extcredits3′ => $init_arr[3],
‘extcredits4′ => $init_arr[4],
‘extcredits5′ => $init_arr[5],
‘extcredits6′ => $init_arr[6],
‘extcredits7′ => $init_arr[7],
‘extcredits8′ => $init_arr[8]
));
manyoulog(‘user’, $uid, ’add’);
$result['member'] = DB::fetch_first(“SELECT * FROM ”.DB::table(‘common_member’).” WHERE uid=’$uid’”);
$result['status'] = 1;

}
//end

原创文章如转载,请注明:转载自火跃工作室
本文网址:http://www.huoyue.org/copy-uctner-to-discuz

日志信息 »

该日志于2012-06-04 16:56由 火跃 发表在discuz分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

没有评论

发表评论 »