Index: bp-blogs-functions.php
===================================================================
--- bp-blogs-functions.php	(revision 7825)
+++ bp-blogs-functions.php	(working copy)
@@ -37,6 +37,7 @@
  *     @type string|bool $search_terms Default: false.
  *     @type int $per_page Default: 20.
  *     @type int $page Default: 1.
+ *     @type boolean $show_hidden Default: false.
  * }
  * @return array See {@link BP_Blogs_Blog::get()}.
  */
@@ -48,12 +49,15 @@
 		'search_terms' => false,    // Limit to blogs that match these search terms
 		'per_page'     => 20,       // The number of results to return per page
 		'page'         => 1,        // The page to return if limiting per page
+		'show_hidden' => false      // Show also private blogs
 	);
 
 	$params = wp_parse_args( $args, $defaults );
 	extract( $params, EXTR_SKIP );
 
-	return apply_filters( 'bp_blogs_get_blogs', BP_Blogs_Blog::get( $type, $per_page, $page, $user_id, $search_terms ), $params );
+	$args_n = array('type' => $type, 'per_page' => $per_page, 'page' => $page, 'user_id' => $user_id, 'search_terms' => $search_terms, 'show_hidden' => $show_hidden);
+
+    return apply_filters('bp_blogs_get_blogs', BP_Blogs_Blog::get($args_n), $params);
 }
 
 /**
@@ -727,15 +731,16 @@
  *
  * @param int $user_id ID of the user being queried. Default: on a user page,
  *        the displayed user. Otherwise, the logged-in user.
+ * @param bool $show_hidden, count also private blogs of user.
  * @return int $count Total blog count for the user.
  */
-function bp_blogs_total_blogs_for_user( $user_id = 0 ) {
+function bp_blogs_total_blogs_for_user( $user_id = 0, $show_hidden = false) {
 
 	if ( empty( $user_id ) )
 		$user_id = ( bp_displayed_user_id() ) ? bp_displayed_user_id() : bp_loggedin_user_id();
 
 	if ( !$count = wp_cache_get( 'bp_total_blogs_for_user_' . $user_id, 'bp' ) ) {
-		$count = BP_Blogs_Blog::total_blog_count_for_user( $user_id );
+		$count = BP_Blogs_Blog::total_blog_count_for_user($user_id, $show_hidden);
 		wp_cache_set( 'bp_total_blogs_for_user_' . $user_id, $count, 'bp' );
 	}
 
@@ -781,12 +786,13 @@
  *
  * @see BP_Blogs_Blog::get_all() for a description of parameters and return values.
  *
- * @param int $limit See {@BP_Blogs_Blog::get_all()}.
+ * @param int $per_page See {@BP_Blogs_Blog::get_all()}.
  * @param int $page See {@BP_Blogs_Blog::get_all()}.
+ * @param bool $show_hidden See {@BP_Blogs_Blog::get_all()}.
  * @return array See {@BP_Blogs_Blog::get_all()}.
  */
-function bp_blogs_get_all_blogs( $limit = null, $page = null ) {
-	return BP_Blogs_Blog::get_all( $limit, $page );
+function bp_blogs_get_all_blogs($per_page = null, $page = null, $show_hidden = false) {
+	return BP_Blogs_Blog::get_all($per_page, $page, $show_hidden);
 }
 
 /**
@@ -794,12 +800,13 @@
  *
  * @see BP_Blogs_Blog::get() for a description of parameters and return values.
  *
- * @param int $limit See {@BP_Blogs_Blog::get()}.
+ * @param int $per_page See {@BP_Blogs_Blog::get()}.
  * @param int $page See {@BP_Blogs_Blog::get()}.
  * @return array See {@BP_Blogs_Blog::get()}.
  */
-function bp_blogs_get_random_blogs( $limit = null, $page = null ) {
-	return BP_Blogs_Blog::get( 'random', $limit, $page );
+function bp_blogs_get_random_blogs( $per_page = null, $page = null ) {
+	$args = array('type' => 'random', 'per_page' => $per_page, 'page' => $page);
+    return BP_Blogs_Blog::get($args);
 }
 
 /**
