分享dede整合discuz会员免激活方法
如果你是dedecms作为主站,论坛作为辅助站,那么这个方法比较适合你。
一般dedecms整合discuz之后有个问题,就是在dedecms端注册的用户需要在discuz登陆一次才可以在论坛激活,当然激活以后就可以同步登陆推出了,但是这个步骤会给用户带来一些困惑和不便。
本方法目的就是去掉这个激活步骤,原理就是在向ucenter数据库添加用户的同时向discuz数据库添加用户:
修改dedecms站点\uc_client\model\user.php的add_user()函数,在最后一句:return $uid;之前插入代码:
$this->db->query("INSERT
INTO `ultrax_ceshi`.pre_common_member SET uid='$uid',
username='$username', password='$password', email='$email', adminid='0',
groupid='10', regdate='".$this->base->time."', credits='0',
timeoffset='9999'");
$this->db->query("INSERT INTO
`ultrax_ceshi`.pre_common_member_status SET uid='$uid', regip='$regip',
lastip='$regip', lastvisit='".$this->base->time."',
lastactivity='".$this->base->time."', lastpost='0',
lastsendmail='0'");
$this->db->query("INSERT INTO `ultrax_ceshi`.pre_common_member_profile SET uid='$uid'");
$this->db->query("INSERT INTO `ultrax_ceshi`.pre_common_member_field_forum SET uid='$uid'");
$this->db->query("INSERT INTO `ultrax_ceshi`.pre_common_member_field_home SET uid='$uid'");
$this->db->query("INSERT
INTO `ultrax_ceshi`.pre_common_member_count SET uid='$uid',
extcredits1='0', extcredits2='0', extcredits3='0', extcredits4='0',
extcredits5='0', extcredits6='0', extcredits7='0', extcredits8='0'");
其中ultrax_ceshi代表discuz的数据库名,请修改为您的数据库名字
以上代码在整合discuz 3.0时测试无误。
以上代码解决了从dedecms注册的用户免激活直接登录论坛功能(因为我的网站只允许从主站注册不允许从论坛注册),
如
果你想解决从discuz注册的用户免激活直接登录dedecms同样的道理,需要修改discuz下面的\uc_client\model
\user.php
使其在向ucenter数据库添加用户的同时向dedecms数据库添加用户(此处可以参考dedecms的用户注册时相应的代码),感兴趣的会员可以实
验一下并提供具体代码。
转自:http://bbs.dedecms.com/630281.html