Index: trunk/include/user_sync.php
===================================================================
--- trunk/include/user_sync.php	(revision 8)
+++ trunk/include/user_sync.php	(revision 69)
@@ -54,13 +54,5 @@
 //
 
-	include_once dirname( __FILE__ ).'/../../../mainfile.php';
-	$path = dirname(dirname(__FILE__)) . '/';
-	if (file_exists($path . 'wp-load.php')) {
-		require_once $path . 'wp-load.php';
-	} else {
-		require_once $path . 'wp-config.php';
-	}
-
-//if( ! function_exists( 'get_xpress_mid' ) ) :
+
 	function get_xpress_mid($mydirname){
 		$xoopsDB =& Database::getInstance();
@@ -77,11 +69,9 @@
 		return $module_id;
 	}
-//endif;		
-
-
-//if( ! function_exists( 'get_xpress_user_level' ) ) :
-	function get_xpress_user_level($mydirname , $uid=0){
+
+
+	function get_xoops_group_capabillities_name($mydirname , $uid=0){
 		if ($uid == 0){
-			return 0;
+			return '';
 		}
 
@@ -97,5 +87,5 @@
 		$result =  $xoopsDB->query($sql, 0, 0);
 		if ($xoopsDB->getRowsNum($result)  > 0){
-				return 5;
+				return 'administrator';
 		}
 		
@@ -107,56 +97,30 @@
 		$result =  $xoopsDB->query($sql, 0, 0);
 		if ($result === false){
-			return 0;
+			return '';
 		}else{
 			if ($xoopsDB->getRowsNum($result)  > 0){
 				$row = $xoopsDB->fetchArray($result);	
 				$level =  $row['user_level'];
-				return $level;
+				switch($level) {
+					case 5:
+						return 'administrator';
+					case 4:
+						return 'editor';
+					case 3:
+						return 'author';
+					case 2:
+						return 'contributor';
+					case 1:
+						return 'subscriber';
+					default:
+						return '';
+				}
 			} else { 
-				return 0;
-			}
-		}
-	}
-//endif;
-
-//if( ! function_exists( 'get_now_user_level' ) ) :
-	function get_now_user_level(){
-
-		global $xoopsModule;
-
-		if(empty($GLOBALS['user_level'])){
-			return 0;		
-		} else {
-			//$user_id =  $GLOBALS["xoopsUser"]->getVar("uid");
-			//$level = xpress2wp_user_level(get_xpress_user_level($mydirname , $user_id));
-			//$level = get_wp_user_level($mydirname,$user_id);
-			$level = $GLOBALS['user_level'];
-			return $level;
-		}		
-	}
-//endif;
-
-//if( ! function_exists( 'get_wp_user_leve' ) ) :
-	function get_wp_user_level($mydirname,$uid=0){
-		$wp_prefix = get_xpress_prefix($mydirname);
-		$xoopsDB =& Database::getInstance();		
-		$db_xpress_usermeta = $xoopsDB->prefix($wp_prefix . 'usermeta');
-		$meta_key_str = $xoopsDB->prefix($wp_prefix . 'user_level');
-		$sql = "SELECT meta_value FROM $db_xpress_usermeta WHERE (user_id = $uid) AND (meta_key = $meta_key)";
-		$res =  $xoopsDB->query($sql, 0, 0);
-		if ($res === false){
-			return 0;
-		}else{
-			if ($xoopsDB->getRowsNum($res)  > 0){
-				$row = $xoopsDB->fetchArray($res);	
-				$level =  $row['meta_value'];
-				return $level;
-			} else { 
-				return 0;
-			}
-		}
-		
-	}
-//endif;		
+				return '';
+			}
+		}
+	}
+	
+//endif;
 
 //if( ! function_exists( 'get_xpress_prefix' ) ) :
@@ -191,46 +155,10 @@
 //endif;
 
-//if( ! function_exists( 'xpress2wp_user_level' ) ) :
-	function xpress2wp_user_level($level){
-		switch($level) {
-			case 5:
-				return 10;
-			case 4:
-				return 7;
-			case 3:
-				return 2;
-			case 2:
-				return 1;
-			case 1:
-				return 0;
-			default:
-				return 0;
-		}
-	}
-//endif;
-
-//if( ! function_exists( 'get_capabillities_name' ) ) :
-	function get_capabillities_name($level){
-		switch($level) {
-			case 10:
-				return 'administrator';
-			case 7:
-				return 'editor';
-			case 2:
-				return 'author';
-			case 1:
-				return 'contributor';
-			case 0:
-				return 'subscriber';
-			default:
-				return 'subscriber';
-		}
-	}
-//endif;
 
 //if( ! function_exists( 'xpress_usermeta_sync' ) ) :
-	function xpress_usermeta_sync($mydirname , $uid,$meta_key,$meta_value){
+	function xpress_usermeta_sync($mydirname , $uid,$meta_key,$meta_value, &$message){
 		$wp_prefix = get_xpress_prefix($mydirname);
-		$xoopsDB =& Database::getInstance();		
+		$meta_key = "'" . $meta_key . "'";
+		$xoopsDB =& Database::getInstance();
 		$db_xpress_usermeta = $xoopsDB->prefix($wp_prefix . 'usermeta');
 		$sql = "SELECT user_id FROM $db_xpress_usermeta WHERE (user_id = $uid) AND (meta_key = $meta_key)";
@@ -249,21 +177,19 @@
 		$res = $xoopsDB->queryF($sql2, 0, 0);
 		if ($res === false) {
-			$ret = "...ERR($sql2)";
-			return $ret;
+			$message .= "...ERR($sql2)";
+			return false;
 		} else {
-			return '';
-		}
-
-	}
-//endif;
-
-//if( ! function_exists( 'sql_str' ) ) :
+			return true;
+		}
+
+	}
+//endif;
+
 	function sql_str($text = ''){
 		return "'" . $text . "'";
 	}
-//endif;
 	
 //if( ! function_exists( 'xpress_user_sync' ) ) :
-	function xpress_user_sync($sync_uid = 0){
+	function xpress_user_sync($sync_uid = 0, &$message){
 		$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
 
@@ -274,5 +200,5 @@
 			$db_xpress_users = $xoopsDB->prefix($wp_prefix . 'users');
 
-			$ret_str = 'Do Sync';
+			$message = 'Do Sync';
 		
 			if ($sync_uid == 0) {
@@ -284,25 +210,20 @@
 			$xu_res =  $xoopsDB->query($xu_sql, 0, 0);
 			if ($xu_res === false){
-				$ret_str .= '...ERR ('. $xu_sql . ')';
-				return $ret_str;
+				$message .= '...ERR ('. $xu_sql . ')';
+				return false;
 			}else {
 				while($xu_row = 	$xoopsDB->fetchArray($xu_res)){
-					$xpress_user_level = get_xpress_user_level($mydirname , $xu_row['uid']);
-					if ($xpress_user_level < 1){
-						$ret_str .= "...PASS '" . $xu_row['uname'] ."'[uid=".$xu_row['uid'] ."](not xpress user)";
+					$capabillities_name = get_xoops_group_capabillities_name($mydirname , $xu_row['uid']);
+					if (empty($capabillities_name)){
+						$message .= "...PASS '" . $xu_row['uname'] ."'[uid=".$xu_row['uid'] ."](not xpress user)";
 						if ($sync_uid != 0){
-							$ret_str .= '...NOT XPRESS USER ' . $xu_row['uname'];
-							return $ret_str;
+							$message .= '...NOT XPRESS USER ' . $xu_row['uname'];
+							return false;
 						}
 					} else {
 						$user_ID = 			$xu_row['uid'];
-						$user_level = xpress2wp_user_level($xpress_user_level);
-						if ($user_level == 10 ){
-							$capabillities_name = 'administrator';
-						}else {
+						if ($capabillities_name != 'administrator' ){
 							if (!empty($GLOBALS["xoopsModuleConfig"]["use_wp_userlevel"])){
-								$capabillities_name = get_option('default_role');		
-							}else {
-								$capabillities_name = get_capabillities_name($user_level);
+								$capabillities_name = get_option('default_role');
 							}
 						}
@@ -325,7 +246,4 @@
 
 						$is_update = false;
-						
-//						$capabillities = sql_str(get_capabillities($user_level));
-		
 						if (xpress_user_found($mydirname, $user_ID)){
 							$wu_sql  = 	"UPDATE $db_xpress_users ";
@@ -340,7 +258,7 @@
 							$wu_sql .=	"WHERE (ID = $user_ID )";
 							if (!empty($GLOBALS["xoopsModuleConfig"]["use_wp_userlevel"])){
-								$ret_str .= '...UPDATE ' . $user_login_name . '(Level Not Change)';
+								$message .= '...UPDATE ' . $user_login_name . '(Level Not Change)';
 							} else {
-								$ret_str .= '...UPDATE ' . $user_login_name . '(' . $capabillities_name . ')';
+								$message .= '...UPDATE ' . $user_login_name . '(' . $capabillities_name . ')';
 							}
 							$is_update = true;
@@ -353,7 +271,7 @@
 							$wu_sql .=		" , $user_regist_time, $user_status, $user_display_name)";
 							if (!empty($GLOBALS["xoopsModuleConfig"]["use_wp_userlevel"])){
-								$ret_str .= '...INSERT ' . $user_login_name . '(' . $capabillities_name . '-WP Default)';
+								$message .= '...INSERT ' . $user_login_name . '(' . $capabillities_name . '-WP Default)';
 							} else {
-								$ret_str .= '...INSERT ' . $user_login_name . '(' . $capabillities_name . ')';
+								$message .= '...INSERT ' . $user_login_name . '(' . $capabillities_name . ')';
 							}
 						}
@@ -362,6 +280,6 @@
 		
 						if ($wu_res === false){
-							$ret_str .= '...ERR(' . $wu_sql . ')';
-							return $ret_str;
+							$message .= '...ERR(' . $wu_sql . ')';
+							return false;
 						}
 								
@@ -376,64 +294,26 @@
 						}
 
-						if( $is_update === false){
-							$meta_key = sql_str('nickname');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_nickname);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
-							$meta_key = sql_str('first_name');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_first_name);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
-							$meta_key = sql_str('last_name');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_last_name);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
-							$meta_key = sql_str('description');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_description);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
-							$meta_key = sql_str('jabber');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_jabber);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
-						}
-						$meta_key = sql_str('aim');
-						$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_aim);
-						if(!empty($ans)){
-							$ret_str .= $ans;
-							return $ret_str;
-						}
-						$meta_key = sql_str('yim');
-						$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_yim);
-						if(!empty($ans)){
-							$ret_str .= $ans;
-							return $ret_str;
-						}
+	//					if( $is_update === false){
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'nickname',$user_nickname,$message) )return false;
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'first_name',$user_first_name,$message) )return false;
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'last_name',$user_last_name,$message) )return false;
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'description',$user_description,$message) )return false;
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'jabber',$user_jabber,$message) )return false;
+	//					}
+						if(!xpress_usermeta_sync($mydirname, $user_ID,'aim',$user_aim,$message) )return false;
+						if(!xpress_usermeta_sync($mydirname, $user_ID,'yim',$user_yim,$message) )return false;
 						if ($is_update === false ) {
-							$meta_key = sql_str('rich_editing');
-							$ans =xpress_usermeta_sync($mydirname, $user_ID,$meta_key,$user_rich_editing);
-							if(!empty($ans)){
-								$ret_str .= $ans;
-								return $ret_str;
-							}
+							if(!xpress_usermeta_sync($mydirname, $user_ID,'rich_editing',$user_rich_editing,$message) )return false;
 						}					
 					}
 				}
 			}
-			$ret_str .= "...END";
-			return $ret_str;
-		}
-	}
-//endif;
+			$message .= "...END";
+			return true;
+		}
+	}
+//endif;
+
+
 
 //if( ! function_exists( 'check_user_role_prefix' ) ) :
