Index: /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php
===================================================================
--- /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php	(revision 259)
+++ /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php	(revision 260)
@@ -82,4 +82,17 @@
 
 /*
+ * WP User ID exists is checked.. 
+*/
+function is_used_wp_user_id($uid){
+	global $xoops_db;
+	$sql = "SELECT ID FROM " . get_wp_prefix() . "users WHERE ID = $uid";
+	$uid = $xoops_db->get_var($sql);
+	if (empty($uid))
+		return false;
+	else
+		return true;
+}
+
+/*
  * The user data of XOOPS is written in the WordPress user data. 
  * If $sync_uid is 0, all users are written. 
@@ -162,13 +175,23 @@
 			$is_update = true;
 		}else{
-			$wu_sql  =	"INSERT INTO $db_xpress_users ";
-			$wu_sql .=  	"(user_login , user_pass ,user_email , user_url , user_nicename " ;
-			$wu_sql .=		" , user_registered , user_status , display_name) ";
-			$wu_sql .=	"VALUES ";
-			$wu_sql .=		"('$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
-			$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
-			$xoops_db->query($wu_sql);
-//					$wp_user_id = get_wp_user_id($user_login_name) ;					
-			$wp_user_id = mysql_insert_id();
+			if (is_used_wp_user_id($xoops_user->uid) ) { // WP User ID has already been used. 
+				$wu_sql  =	"INSERT INTO $db_xpress_users ";
+				$wu_sql .=  	"(user_login , user_pass ,user_email , user_url , user_nicename " ;
+				$wu_sql .=		" , user_registered , user_status , display_name) ";
+				$wu_sql .=	"VALUES ";
+				$wu_sql .=		"('$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
+				$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
+				$xoops_db->query($wu_sql);
+				$wp_user_id = mysql_insert_id();
+			} else {	 // WP User ID has not been used yet. 
+				$wu_sql  =	"INSERT INTO $db_xpress_users ";
+				$wu_sql .=  	"(ID , user_login , user_pass ,user_email , user_url , user_nicename " ;
+				$wu_sql .=		" , user_registered , user_status , display_name) ";
+				$wu_sql .=	"VALUES ";
+				$wu_sql .=		"('$xoops_user->uid', '$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
+				$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
+				$xoops_db->query($wu_sql);
+				$wp_user_id = $xoops_user->uid;
+			}
 			$sycc_user = new WP_User($wp_user_id);
 			$sycc_user->set_role($capabillities_name);						
Index: /trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php
===================================================================
--- /trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php	(revision 259)
+++ /trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/user_sync_xoops.php	(revision 260)
@@ -82,4 +82,17 @@
 
 /*
+ * WP User ID exists is checked.. 
+*/
+function is_used_wp_user_id($uid){
+	global $xoops_db;
+	$sql = "SELECT ID FROM " . get_wp_prefix() . "users WHERE ID = $uid";
+	$uid = $xoops_db->get_var($sql);
+	if (empty($uid))
+		return false;
+	else
+		return true;
+}
+
+/*
  * The user data of XOOPS is written in the WordPress user data. 
  * If $sync_uid is 0, all users are written. 
@@ -162,13 +175,23 @@
 			$is_update = true;
 		}else{
-			$wu_sql  =	"INSERT INTO $db_xpress_users ";
-			$wu_sql .=  	"(user_login , user_pass ,user_email , user_url , user_nicename " ;
-			$wu_sql .=		" , user_registered , user_status , display_name) ";
-			$wu_sql .=	"VALUES ";
-			$wu_sql .=		"('$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
-			$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
-			$xoops_db->query($wu_sql);
-//					$wp_user_id = get_wp_user_id($user_login_name) ;					
-			$wp_user_id = mysql_insert_id();
+			if (is_used_wp_user_id($xoops_user->uid) ) { // WP User ID has already been used. 
+				$wu_sql  =	"INSERT INTO $db_xpress_users ";
+				$wu_sql .=  	"(user_login , user_pass ,user_email , user_url , user_nicename " ;
+				$wu_sql .=		" , user_registered , user_status , display_name) ";
+				$wu_sql .=	"VALUES ";
+				$wu_sql .=		"('$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
+				$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
+				$xoops_db->query($wu_sql);
+				$wp_user_id = mysql_insert_id();
+			} else {	 // WP User ID has not been used yet. 
+				$wu_sql  =	"INSERT INTO $db_xpress_users ";
+				$wu_sql .=  	"(ID , user_login , user_pass ,user_email , user_url , user_nicename " ;
+				$wu_sql .=		" , user_registered , user_status , display_name) ";
+				$wu_sql .=	"VALUES ";
+				$wu_sql .=		"('$xoops_user->uid', '$xoops_user->uname', '$xoops_user->pass', '$xoops_user->email', '$xoops_user->url', '$xoops_user->uname' ";
+				$wu_sql .=		" , '$user_regist_time', $user_status, '$user_display_name')";
+				$xoops_db->query($wu_sql);
+				$wp_user_id = $xoops_user->uid;
+			}
 			$sycc_user = new WP_User($wp_user_id);
 			$sycc_user->set_role($capabillities_name);						
