Index: /branches/Ver2.5/xpressme_integration_kit/blocks/block_common.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/blocks/block_common.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/blocks/block_common.php	(revision 793)
@@ -91,4 +91,93 @@
 }
 endif;
+if(!function_exists("blog_select")):
+function blog_select($option_name = '',$value='',$exclusion=false ,$row_num=0)
+{
+    $mydirpath = dirname(dirname(__FILE__));
+	$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
+	$wp_prefix = preg_replace('/wordpress/','wp',$mydirname) . '_';
+	$xoopsDB =& Database::getInstance();
+	$myts =& MyTextSanitizer::getInstance();
+    $selected = explode(',' , $value);
+	$isAll = (count($selected)==0||empty($selected[0]))?true:false;
+    
+    if (empty($row_num)) $size = ''; else $size = 'size="' . $row_num . '"';
+	include $mydirpath.'/wp-includes/version.php';
+	
+	$option = "\t<option value=\"0\" ";
+	if ($isAll) $option .= " selected=\"selected\"";
+	if ($exclusion){
+		$option .= ">"._MB_XP2_NONE ."</option>\n";
+    } else {
+	 	$option .= ">"._MB_XP2_ALL ."</option>\n";
+	}
+
+	if ($wp_db_version > 6124) {
+		$db_xpress_blogs = $xoopsDB->prefix($wp_prefix . 'blogs');
+		$query = "
+	    	SELECT blog_id 
+	    	FROM $db_xpress_blogs 
+	    	ORDER BY blog_id
+	        ";
+		
+	    if ($res =  $xoopsDB->query($query, 0, 0)){
+	 		while($row = $xoopsDB->fetchArray($res)){
+	 			
+	            $blog_id = $row['blog_id'];
+	            if ($blog_id == 1) {
+	            	$blog_selector = '';
+	            } else {
+	            	$blog_selector = $blog_id . '_';
+	            }
+		 		$db_xpress_options = $xoopsDB->prefix($wp_prefix . $blog_selector . 'options');
+	            $options_query = "
+	    			SELECT option_value 
+	    			FROM $db_xpress_options 
+	    			WHERE option_name = 'blogname'
+	        		";
+	    		if ($options_res =  $xoopsDB->query($options_query, 0, 0)){
+	    			$options_row = $xoopsDB->fetchArray($options_res);
+	    			$blog_name = $options_row['option_value'];
+	    		} else {
+	    			$blog_name = 'Blog_' . $blog_id ;
+	    		}
+	    		
+	            $option .= "\t<option value=\"".$blog_id."\"";
+	            if (in_array($blog_id, $selected))
+				$option .= ' selected="selected"';
+				$option .= '>';
+				$option .= $myts->htmlspecialchars($blog_name);
+				$option .= "</option>\n";
+	        }
+	    }
+    }
+	if ($exclusion){
+	 	$output = _MB_XP2_EXCLUSION_BLOGS_SELECT ."<br />\n";
+    } else {
+		$output = _MB_XP2_SHOW_BLOGS_SELECT ."<br />\n";
+	}
+    $output .= '&nbsp;&nbsp;<select name="blogs" id="blog_sel" '.$size.' multiple="multiple" onclick="BlogSelect()">' ."\n";
+    $output .= $option;
+    $output .= '</select>';
+    $output .= 	'&emsp;' .  _MB_XP2_BLOGS_DIRECT_SELECT . " <input type='text' name='$option_name' id='blog_csv' value='$value' /><br />\n";
+    $output .= '
+<script type="text/javascript">
+    function BlogSelect(){
+        var idx=new Array();
+        var sel = document.getElementById("blog_sel").options;
+        for(var i=0, n=0; i<sel.length; i++){
+            if(sel[i].selected){ idx[n++]=sel[i].value; }
+        }
+        if(idx.length>0){
+        	document.getElementById("blog_csv").value = idx;
+		}
+    }
+</script>
+';
+    
+    return $output;
+
+}
+endif;
 
 if(!function_exists("comment_type_select")):
Index: /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_comments_block.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_comments_block.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_comments_block.php	(revision 793)
@@ -18,5 +18,5 @@
 	{
 		$mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
-		$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_recent_comments_block.html' : trim( $options[1] );
+		$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_global_recent_comments_block.html' : trim( $options[1] );
 		$disp_count = empty( $options[2] ) ? '10' : $options[2] ;
 		$disp_length = empty( $options[3] ) ? '30' : $options[3] ;
Index: /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_posts_list_block.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_posts_list_block.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/blocks/global_recent_posts_list_block.php	(revision 793)
@@ -17,5 +17,5 @@
 	{
 		$mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
-		$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_recent_posts_list_block.html' : trim( $options[1] );
+		$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_global_recent_posts_list_block.html' : trim( $options[1] );
 		$disp_count = empty( $options[2] ) ? '10' : $options[2] ;
 		$disp_red = empty( $options[3] ) ? '1' : $options[3] ;
@@ -23,4 +23,6 @@
 		$date_format = empty( $options[5] ) ? '' : $options[5] ;
 		$time_format = empty( $options[6] ) ? '' : $options[6] ;
+		$Shown_for_each_blog = empty( $options[7] ) ? false : true ;		
+		$exclusion_blog = empty( $options[8] ) ? '0' : $options[8] ;
 
 		$mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname;
@@ -37,4 +39,6 @@
 		$form .= _MB_XP2_DATE_FORMAT .": <input type='text' name='options[5]' value='" . $date_format . "' /><br />\n";
 		$form .= _MB_XP2_TIME_FORMAT .": <input type='text' name='options[6]' value='" . $time_format . "' /><br />\n";
+		$form .= yes_no_radio_option('options[7]', _MB_XP2_SHOWN_FOR_EACH_BLOG , $Shown_for_each_blog) . "<br />\n";
+	    $form .= blog_select('options[8]' , $exclusion_blog,true);
 
 		return $form;
Index: /branches/Ver2.5/xpressme_integration_kit/language/english/blocks.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/language/english/blocks.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/language/english/blocks.php	(revision 793)
@@ -148,4 +148,9 @@
 	define("_MB_XP2_BLOG_COUNT","count");
 	define("_MB_XP2_BLOG_ID","ID");
+// global_blog_list
+	define("_MB_XP2_SHOW_BLOGS_SELECT","Select Display Blogs");
+	define("_MB_XP2_EXCLUSION_BLOGS_SELECT","Select Exclusion Blogs");
+	define("_MB_XP2_BLOGS_DIRECT_SELECT","Direct input of ID(Comma separated list of blog ID)");
+	define("_MB_XP2_SHOWN_FOR_EACH_BLOG","Shown for each blog");
 
 }
Index: /branches/Ver2.5/xpressme_integration_kit/language/ja_utf8/blocks.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/language/ja_utf8/blocks.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/language/ja_utf8/blocks.php	(revision 793)
@@ -149,4 +149,9 @@
 	define("_MB_XP2_BLOG_COUNT","ブログの投稿数");
 	define("_MB_XP2_BLOG_ID","ブログID");
+// global_blog_list
+	define("_MB_XP2_SHOW_BLOGS_SELECT","表示ブログの選択");
+	define("_MB_XP2_EXCLUSION_BLOGS_SELECT","除外ブログの選択");
+	define("_MB_XP2_BLOGS_DIRECT_SELECT","ブログIDを直接指定(複数ある場合はカンマ区切りで入力)");
+	define("_MB_XP2_SHOWN_FOR_EACH_BLOG","ブログ毎に表示する。");
 
 }
Index: /branches/Ver2.5/xpressme_integration_kit/language/japanese/blocks.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/language/japanese/blocks.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/language/japanese/blocks.php	(revision 793)
@@ -148,4 +148,9 @@
 	define("_MB_XP2_BLOG_COUNT","¥Ö¥í¥°¤ÎÅê¹Æ¿ô");
 	define("_MB_XP2_BLOG_ID","¥Ö¥í¥°ID");
+// global_blog_list
+	define("_MB_XP2_SHOW_BLOGS_SELECT","É½¼¨¥Ö¥í¥°¤ÎÁªÂò");
+	define("_MB_XP2_EXCLUSION_BLOGS_SELECT","½ü³°¥Ö¥í¥°¤ÎÁªÂò");
+	define("_MB_XP2_BLOGS_DIRECT_SELECT","¥Ö¥í¥°ID¤òÄ¾ÀÜ»ØÄê(Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤ÇÆþÎÏ)");
+	define("_MB_XP2_SHOWN_FOR_EACH_BLOG","¥Ö¥í¥°Ëè¤ËÉ½¼¨¤¹¤ë¡£");
 
 }
Index: /branches/Ver2.5/xpressme_integration_kit/language/pt-br_utf8/blocks.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/language/pt-br_utf8/blocks.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/language/pt-br_utf8/blocks.php	(revision 793)
@@ -149,4 +149,9 @@
 	define("_MB_XP2_BLOG_COUNT","n° de posts");
 	define("_MB_XP2_BLOG_ID","ID");
+// global_blog_list
+	define("_MB_XP2_SHOW_BLOGS_SELECT","Selecione Exibir Blogs");
+	define("_MB_XP2_EXCLUSION_BLOGS_SELECT","Selecione Blogs Exclusão");
+	define("_MB_XP2_BLOGS_DIRECT_SELECT","Entrada direta de ID (lista separada por vírgulas de ID blog)");
+	define("_MB_XP2_SHOWN_FOR_EACH_BLOG","Mostrados para cada blog");
 
 }
Index: /branches/Ver2.5/xpressme_integration_kit/templates/source/global_recent_posts_list_block.html
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/templates/source/global_recent_posts_list_block.html	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/templates/source/global_recent_posts_list_block.html	(revision 793)
@@ -2,4 +2,5 @@
  	The template tag of the following list can be used. 
  		<{$block.err_message}>					// When the block cannot be displayed, this outputs the reason. Please do not delete it. 
+ 		<{$block.shown_for_each_blog}>			// Shown for each blog
  		<{$block.data_count}>					// The number of contents is displayed.
 		<{$block.contents}>						// Data array of contents. 
@@ -28,17 +29,39 @@
 ************************* End of usage ************************ *}>
 <{* Start Template *}>
-
 <div class="xpress_block">
 	<{$block.err_message}>
 	<div class="xpress_global_recent_post_list_block">
 		<ul>
-		<{foreach from=$block.contents item=content}>
-			<li>
-			<{$content.new_mark}> <{$content.title_link}><br />
-			<{$content.post_date_time}><br />
-			<{$content.blog_link}><br />
-			<{$content.post_author}><br />
-			</li>
-		<{/foreach}>
+		<{if $block.shown_for_each_blog}>
+			<{ assign var="b_id" value=0 }>
+			<{foreach from=$block.contents item=content}>
+				<{if $b_id != $content.blog_id}>
+					<{if $b_id != 0}>
+							</ul>
+						</li>
+					<{/if}>
+						<li><{$content.blog_link}>
+							<ul>
+					<{ assign var="b_id" value=$content.blog_id }>
+				<{/if}>
+								<li>
+									<{$content.new_mark}> <{$content.title_link}><br />
+									<{$content.post_thumbnail}><br />
+									<{$content.post_date_time}><br />
+									<{$content.author_avatar}><{$content.post_author}><br />
+								</li>
+			<{/foreach}>
+							</ul>
+						</li>
+		<{else}>
+			<{foreach from=$block.contents item=content}>
+				<li>
+				<{$content.new_mark}> <{$content.title_link}><br />
+				<{$content.post_date_time}><br />
+				<{$content.blog_link}><br />
+				<{$content.post_author}><br />
+				</li>
+			<{/foreach}>
+		<{/if}>
 		</ul>
 	</div>
Index: /branches/Ver2.5/xpressme_integration_kit/wp-content/plugins/xpressme/include/custom_functions.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/wp-content/plugins/xpressme/include/custom_functions.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/wp-content/plugins/xpressme/include/custom_functions.php	(revision 793)
@@ -891,9 +891,11 @@
 }
 
-function xpress_grobal_recent_posts($num = 10,$post_list='')
+function xpress_grobal_recent_posts($num = 10,$exclusion_blog = 0, $shown_for_each_blog = false)
 {
 	global $wpdb, $wp_rewrite , $switched , $blog_id;
 	if (empty($date_format)) $date_format = get_settings('date_format');
 	if (empty($time_format)) $time_format = get_settings('time_format');
+	$exclusion = explode(',' , $exclusion_blog);
+
 
 	$first_blogid = $blog_id;
@@ -904,4 +906,5 @@
 		$blogs = get_blog_list(0,'all');
 		foreach ($blogs AS $blog) {
+			if (!in_array(0, $exclusion) && in_array($blog['blog_id'], $exclusion)) continue;
 			switch_to_blog($blog['blog_id']);
 			$wp_rewrite->init();  // http://core.trac.wordpress.org/ticket/12040 is solved, it is unnecessary.
@@ -922,5 +925,5 @@
 						ob_end_clean();
 						
-						$data->brog_id = $blog['blog_id'];
+						$data->blog_id = $blog['blog_id'];
 						$data->blog_name = get_bloginfo('name');
 						$data->blog_url = get_bloginfo('url');
@@ -995,4 +998,10 @@
 						
 						$data->post_views = xpress_post_views_count('post_id=' . $data->post_id . '&blogid=' . $data->brog_id . '&format=' . __('Views :%d', 'xpress'). '&echo=0');
+						if (function_exists('the_qf_get_thumb_one')){
+							$data->post_thumbnail = the_qf_get_thumb_one("num=0&width=120&tag=1","",$data->the_full_content);
+						} else {
+							$data->post_thumbnail = get_the_post_thumbnail(null,'thumbnail');
+						}
+						$data->author_avatar =get_avatar(get_the_author_meta('ID'),$size = '32');
 
 						$data_array[] = $data;
@@ -1006,9 +1015,10 @@
 
 		restore_current_blog();
+	}
+	if (!$shown_for_each_blog){
 		usort($data_array, "the_time_cmp");
-	}
-	
-	if (!empty($num)){
-		$data_array = array_slice($data_array,0,$num);
+		if (!empty($num)){
+			$data_array = array_slice($data_array,0,$num);
+		}
 	}
 	return $data_array;
Index: /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_popular_posts_block_theme.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_popular_posts_block_theme.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_popular_posts_block_theme.php	(revision 793)
@@ -4,5 +4,5 @@
 {
 	$mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
-	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_block_popular.html' : trim( $options[1] );
+	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_grobal_popular_posts_block.html' : trim( $options[1] );
 	$disp_count = empty( $options[2] ) ? '10' : $options[2] ;
 	$show_month_range = empty( $options[3] ) ? '0' : $options[3] ;
Index: /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_comments_block_theme.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_comments_block_theme.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_comments_block_theme.php	(revision 793)
@@ -4,5 +4,5 @@
 {
 	$mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
-	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_recent_comments_block.html' : trim( $options[1] );
+	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_global_recent_comments_block.html' : trim( $options[1] );
 	$disp_count = empty( $options[2] ) ? '10' : $options[2] ;
 	$disp_length = empty( $options[3] ) ? '30' : $options[3] ;
Index: /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_posts_list_block_theme.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_posts_list_block_theme.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/wp-content/themes/xpress_default/blocks/global_recent_posts_list_block_theme.php	(revision 793)
@@ -4,5 +4,5 @@
 {
 	$mydirname = empty( $options[0] ) ? 'xpress' : $options[0] ;
-	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_recent_posts_list_block.html' : trim( $options[1] );
+	$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_global_recent_posts_list_block.html' : trim( $options[1] );
 	$disp_count = empty( $options[2] ) ? '10' : $options[2] ;
 	$disp_red = empty( $options[3] ) ? '1' : $options[3] ;
@@ -10,4 +10,7 @@
 	$date_format = empty( $options[5] ) ? '' : $options[5] ;
 	$time_format = empty( $options[6] ) ? '' : $options[6] ;
+	$shown_for_each_blog = empty( $options[7] ) ? false : true ;		
+	$exclusion_blog = empty( $options[8] ) ? '0' : $options[8] ;
+	
 	$mydirpath = get_xpress_dir_path();
 	
@@ -20,5 +23,5 @@
 		$block = array();
 		
-		$data_array = xpress_grobal_recent_posts($disp_count);
+		$data_array = xpress_grobal_recent_posts($disp_count,$exclusion_blog,$shown_for_each_blog);
 		$item_no = 0;
 		$red_sec = $disp_red *60*60*24;
@@ -41,4 +44,5 @@
 		}
 		$block['data_count'] = $item_no;  //xml unserialise error
+		$block['shown_for_each_blog'] = $shown_for_each_blog;
 	} else {
 		$block['err_message'] = __('This blog is not set to the multi blog.', 'xpress');
Index: /branches/Ver2.5/xpressme_integration_kit/xoops_version.php
===================================================================
--- /branches/Ver2.5/xpressme_integration_kit/xoops_version.php	(revision 792)
+++ /branches/Ver2.5/xpressme_integration_kit/xoops_version.php	(revision 793)
@@ -386,5 +386,5 @@
 		'show_func' 	=> "b_". $mydirname . "_global_posts_show" ,
 		'edit_func' 	=> "b_". $mydirname . "_global_posts_edit" ,
-		'options'		=> $mydirname. '||10|1|7||' ,
+		'options'		=> $mydirname. '||10|1|7||0|0' ,
 		'can_clone'		=> true ,
 		'func_num'		=> $b_no,	
