Index: trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/xpress_common_functions.php
===================================================================
--- trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/xpress_common_functions.php	(revision 281)
+++ trunk/xpressme_integration_kit/wp-content/plugins/xpressme/include/xpress_common_functions.php	(revision 282)
@@ -247,15 +247,33 @@
 			}
 		} else {
-			if (!empty($wp->query_vars) ){
-				if (!empty($wp->query_vars['author_name']) ){
-					$author_name = $wp->query_vars['author_name'];
-					$auth = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$author_name'");
-
-					setcookie($author_cookie, $auth, time()+3600, COOKIEPATH);
-					$_COOKIE[$author_cookie] = $auth;
+			if(xpress_is_wp20()){
+				if (!empty($wp->matched_query) ){
+					if (strpos($wp->matched_query,'author_name') !== false ){
+						$pattern = "author_name\s*=\s*(.*)\s*";
+						if ( preg_match ( "/".$pattern."/i", $wp->matched_query, $match ) ){
+							$author_name = "$match[1]";
+							$auth = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$author_name'");
+
+							setcookie($author_cookie, $auth, time()+3600, COOKIEPATH);
+							$_COOKIE[$author_cookie] = $auth;
+						}
+					}
+				} else {
+					setcookie($author_cookie, 0, time()+3600, COOKIEPATH);
+					$_COOKIE[$author_cookie] = 0;
 				}
 			} else {
-				setcookie($author_cookie, 0, time()+3600, COOKIEPATH);
-				$_COOKIE[$author_cookie] = 0;
+				if (!empty($wp->query_vars) ){
+					if (!empty($wp->query_vars['author_name']) ){
+						$author_name = $wp->query_vars['author_name'];
+						$auth = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$author_name'");
+
+						setcookie($author_cookie, $auth, time()+3600, COOKIEPATH);
+						$_COOKIE[$author_cookie] = $auth;
+					}
+				} else {
+					setcookie($author_cookie, 0, time()+3600, COOKIEPATH);
+					$_COOKIE[$author_cookie] = 0;
+				}
 			}
 		}
@@ -272,5 +290,5 @@
 	$author_cookie = get_xpress_dir_name() . "_select_author" ;
 	
-	if (strpos($query,'SELECT') !==0)  return $query;
+	if (strpos($query,'SELECT') === false)  return $query;
 
 	$select_pattern = "SELECT(.*)post_author(.*)FROM";
@@ -280,23 +298,47 @@
 	$query = preg_replace('/\s\s+/', ' ', $query);
 	if (!empty($_COOKIE[$author_cookie])){
-		$pattern = "WHERE.*post_type\s*=\s*'post'\s*\)?";
-		if ( preg_match ( "/".$pattern."/i", $query, $match ) ){
-			$where_str = "$match[0]";
-			$where_arry = split(' ',$where_str);
-			$post_prefix = '';
-			foreach ($where_arry as $p){
-				if ( preg_match ( "/post_type/", $p, $match3 ) ){
-					$post_prefix = preg_replace("/post_type/", "", $p);
-					$post_prefix = preg_replace("/\(/", "", $post_prefix);
-					break;
+		if(xpress_is_wp20()){
+			$pattern = "WHERE.*AND\s?\(*post_author\s*=";
+			if ( preg_match ( "/".$pattern."/i", $query, $match ) ){
+				return $query;
+			}
+			$pattern = "WHERE.*post_status\s*=\s*'publish'\s*\)?";
+			if ( preg_match ( "/".$pattern."/i", $query, $match ) ){
+				
+				$where_str = "$match[0]";
+				$where_arry = split(' ',$where_str);
+				$post_prefix = '';
+				foreach ($where_arry as $p){
+					if ( preg_match ( "/post_status/", $p, $match3 ) ){
+						$post_prefix = preg_replace("/post_status/", "", $p);
+						$post_prefix = preg_replace("/\(/", "", $post_prefix);
+						break;
+					}
 				}
-			}
-			preg_match ( "/post_type(.*)/", $where_str, $p_match );
-			$patern = $p_match[0];
-			$patern = preg_replace('/\)/', '\)', $patern);
-			
-			$replace = $patern . " AND {$post_prefix}post_author = " . intval($_COOKIE[$author_cookie]) . " ";
-
-			$query = preg_replace("/$patern/", $replace, $query);
+				$patern = 'WHERE';				
+				$replace = "WHERE {$post_prefix}post_author = " . intval($_COOKIE[$author_cookie]) . " AND ";
+				$query = preg_replace("/$patern/", $replace, $query);
+			}
+		} else {
+			$pattern = "WHERE.*post_type\s*=\s*'post'\s*\)?";			
+			if ( preg_match ( "/".$pattern."/i", $query, $match ) ){
+				$where_str = "$match[0]";
+				$where_arry = split(' ',$where_str);
+				$post_prefix = '';
+				foreach ($where_arry as $p){
+					if ( preg_match ( "/post_type/", $p, $match3 ) ){
+						$post_prefix = preg_replace("/post_type/", "", $p);
+						$post_prefix = preg_replace("/\(/", "", $post_prefix);
+						break;
+					}
+				}
+				preg_match ( "/post_type(.*)/", $where_str, $p_match );
+				$patern_s = $p_match[0];
+				$patern = preg_replace('/\)/', '\)', $patern_s);
+				
+				$replace = $patern_s . " AND {$post_prefix}post_author = " . intval($_COOKIE[$author_cookie]) . " ";
+
+				$query = preg_replace("/$patern/", $replace, $query);
+			}
 		}
 	}
