Destoon整合UCenter保持UID一致的办法

PHP 2012-12-04

Destoon整合UCenter后,Destoon和UCenter各自有各自的的UID,也就是说同一个用户他在destoon的uid是1,在UCenter UID已经是5或者7啊或者什么的。有时候需要保持两者一致时就可以使用下面的办法。
打开 Destoon 的 /module/member/register.inc.php 大概 88 行处的 if($MOD['passport'] == 'uc')下{}中的内容。
最终结果如下

if($MOD['passport'] == 'uc') {
	$uid = uc_user_register($passport, $post['password'], $post['email']);
	// BEGIN by Goney
	if($uid < 1) {
		list($uid, $rt_username, $rt_password, $rt_email) = uc_user_login($passport, $post['password']);
	}
	$db->query("UPDATE {$DT_PRE}member SET userid='$uid' WHERE username='$username'");
	$db->query("UPDATE {$DT_PRE}company SET userid='$uid' WHERE username='$username'");
	$db->query("SELECT MAX(userid) AS maxuid FROM {$DT_PRE}member");
	$db->query("ALTER TABLE {$DT_PRE}member AUTO_INCREMENT=".($maxuid + 1));
	// END by Goney
	if($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']);
}

本文由 Jazzy 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论