Index: /trunk/include/pluggable-override.php
===================================================================
--- /trunk/include/pluggable-override.php	(revision 68)
+++ /trunk/include/pluggable-override.php	(revision 69)
@@ -19,12 +19,13 @@
 	global $current_user;
 
-	if (is_root_index_page_call()){
-		if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
-			return false;
 
-		if ( ! empty($current_user) )
-			return;
+	if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
+		return false;
 
-		if (check_xpress_auth_cookie()){
+	if ( ! empty($current_user) )
+		return;
+
+	if (is_xpress_index_page_call()){
+		if (check_xpress_auth_cookie()){	//The cookie is login user's or it checks it
 			if ( $user = wp_validate_auth_cookie() ) {
 				wp_set_current_user($user);
@@ -33,5 +34,6 @@
 		}				
 		xpress_login();		
-	}else {
+
+	} else {
 		// WP2.7 original
 		if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
@@ -60,9 +62,10 @@
 				$u_pass_md5 = $GLOBALS["xoopsUser"]->getVar("pass");		
 				if ( ! empty($u_name) && ! empty($u_pass_md5) ) {		
-//					include_once dirname( __FILE__ ).'/xpress_user.php';
-//					$mess = xpress_user_sync($GLOBALS["xoopsUser"]->getVar("uid"));
-//					if ($mess != 'NOT XPRESS USER'){
+					include_once dirname( __FILE__ ).'/user_sync.php';
+					$messege = '';
+					$ret = xpress_user_sync($GLOBALS["xoopsUser"]->getVar("uid"),$messege);
+					if ($ret){
 						$user = new WP_User(0, $u_name);
-						if ( wp_login($u_name, $u_pass_md5, true) ) {
+						if ( wp_login($u_name, $u_pass_md5) ) {
 							wp_setcookie($u_name, $u_pass_md5, true, '', '', false);
 							do_action('wp_login', $u_name);
@@ -70,5 +73,7 @@
 							return  true;
 						}
-//					}
+					}else {
+						echo $messege;
+					}
 				}
 			}
@@ -88,5 +93,6 @@
 	}
 					
-	if(is_object($GLOBALS["xoopsModule"]) && WP_BLOG_DIRNAME == $GLOBALS["xoopsModule"]->getVar("dirname")){
+	if(is_object($GLOBALS["xoopsModule"])){
+//		&& WP_BLOG_DIRNAME == $GLOBALS["xoopsModule"]->getVar("dirname")){
 		if(is_object($GLOBALS["xoopsUser"])){
 			$u_name = $GLOBALS["xoopsUser"]->getVar("uname");
@@ -107,38 +113,4 @@
 }
 
-
-/*
-
-function wp_login($username, $password, $already_md5 = false) {
-	global $wpdb, $error;
-
-	$username = sanitize_user($username);
-
-	if ( '' == $username )
-		return false;
-
-	if ( '' == $password ) {
-		$error = __('<strong>ERROR</strong>: The password field is empty.');
-		return false;
-	}
-
-	$login = get_userdatabylogin($username);
-	//$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'");
-
-	if (!$login) {
-		$error = __('<strong>ERROR</strong>: Invalid username.');
-		return false;
-	} else {
-		if ($login->user_login == $username) {
-				if ($login->user_pass == $password) return true;
-				if ($login->user_pass == md5($password)) return true;
-		}
-
-		$error = __('<strong>ERROR</strong>: Incorrect password.');
-		$pwd = '';
-		return false;
-	}
-}
-*/
 
 // for wordpress2.5
@@ -177,36 +149,4 @@
 }
 
-
-/*
-
-function wp_mail($to, $subject, $message, $from_email="", $from_name="") {
-    $xoopsMailer =& getMailer();
-    $xoopsMailer->useMail();
-    $xoopsMailer->setToEmails($to);
-    $xoopsMailer->setFromEmail( empty($from_email) ? $GLOBALS["xoopsConfig"]['adminmail'] : $from_email);
-    $xoopsMailer->setFromName( empty($from_name) ? $GLOBALS["xoopsConfig"]['sitename'] : $from_name );
-    $xoopsMailer->setSubject($subject);
-    $xoopsMailer->setBody($message);
-    return $xoopsMailer->send();
-}
-
-*/
-/*
-function auth_redirect($force = false, $message = "") {
-	if(!is_object($GLOBALS["xoopsUser"])){
-		header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
-		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-		header('Cache-Control: no-cache, must-revalidate, max-age=0');
-		header('Pragma: no-cache');
-	
-		header('Location: ' . get_settings('siteurl') . '/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI']));
-		exit();
-	}elseif(!empty($force)){
-		$redirect = xoops_getenv("HTTP_REFERER");
-		$redirect = (strpos($redirect, XOOPS_URL) === 0)? $redirect: XOOPS_URL."/".$redirect;
-		redirect_header($redirect, 2, $message);
-	}
-}
-*/
 // ***********************************  End Of Pluggable Function Edit (wp-include/pluggable.php) ************************************
 
Index: /trunk/include/user_sync.php
===================================================================
--- /trunk/include/user_sync.php	(revision 68)
+++ /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' ) ) :
