<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[BuddyPress][7409] trunk/bp-blogs: Improve inline docs in Blogs component.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://buddypress.trac.wordpress.org/changeset/7409">7409</a></dd>
<dt>Author</dt> <dd>boonebgorges</dd>
<dt>Date</dt> <dd>2013-10-10 18:34:00 +0000 (Thu, 10 Oct 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Improve inline docs in Blogs component.

See <a href="http://buddypress.trac.wordpress.org/ticket/5022">#5022</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkbpblogsbpblogsfiltersphp">trunk/bp-blogs/bp-blogs-filters.php</a></li>
<li><a href="#trunkbpblogsbpblogsfunctionsphp">trunk/bp-blogs/bp-blogs-functions.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkbpblogsbpblogsfiltersphp"></a>
<div class="modfile"><h4>Modified: trunk/bp-blogs/bp-blogs-filters.php (7408 => 7409)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/bp-blogs/bp-blogs-filters.php      2013-10-10 17:25:32 UTC (rev 7408)
+++ trunk/bp-blogs/bp-blogs-filters.php 2013-10-10 18:34:00 UTC (rev 7409)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx">  * @since BuddyPress (1.6)
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-// Display filters
</del><ins>+/** Display Filters **********************************************************/
</ins><span class="cx"> 
</span><span class="cx"> add_filter( 'bp_get_blog_latest_post_title', 'wptexturize'   );
</span><span class="cx"> add_filter( 'bp_get_blog_latest_post_title', 'convert_chars' );
</span><span class="lines">@@ -22,13 +22,15 @@
</span><span class="cx"> add_filter( 'bp_blog_latest_post_content', 'prepend_attachment' );
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Ensures that the 'Create a new site' link at wp-admin/my-sites.php points to the BP blog signup
</del><ins>+ * Ensure that the 'Create a new site' link at wp-admin/my-sites.php points to the BP blog signup
</ins><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.6)
</span><del>- * @uses apply_filters() Filter bp_blogs_creation_location to alter the returned value
</del><span class="cx">  *
</span><del>- * @param string $url The original URL (points to wp-signup.php by default)
- * @return string The new URL
</del><ins>+ * @uses apply_filters() Filter 'bp_blogs_creation_location' to alter the
+ *       returned value.
+ *
+ * @param string $url The original URL (points to wp-signup.php by default).
+ * @return string The new URL.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_creation_location( $url ) {
</span><span class="cx">  return apply_filters( 'bp_blogs_creation_location', trailingslashit( bp_get_root_domain() . '/' . bp_get_blogs_root_slug() . '/create', $url ) );
</span></span></pre></div>
<a id="trunkbpblogsbpblogsfunctionsphp"></a>
<div class="modfile"><h4>Modified: trunk/bp-blogs/bp-blogs-functions.php (7408 => 7409)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/bp-blogs/bp-blogs-functions.php    2013-10-10 17:25:32 UTC (rev 7408)
+++ trunk/bp-blogs/bp-blogs-functions.php       2013-10-10 18:34:00 UTC (rev 7409)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> <?php
</span><span class="cx"> /**
</span><del>- * Blogs component functions
</del><ins>+ * Blogs component functions.
</ins><span class="cx">  *
</span><span class="cx">  * @package BuddyPress
</span><span class="cx">  * @subpackage BlogsFunctions
</span><span class="lines">@@ -10,12 +10,13 @@
</span><span class="cx"> if ( !defined( 'ABSPATH' ) ) exit;
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Checks $bp pages global and looks for directory page
</del><ins>+ * Check whether the $bp global lists an activity directory page.
</ins><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.5)
</span><span class="cx">  *
</span><del>- * @global BuddyPress $bp The one true BuddyPress instance
- * @return bool True if set, False if empty
</del><ins>+ * @global BuddyPress $bp The one true BuddyPress instance.
+ *
+ * @return bool True if set, false if empty.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_has_directory() {
</span><span class="cx">  global $bp;
</span><span class="lines">@@ -23,6 +24,22 @@
</span><span class="cx">  return (bool) !empty( $bp->pages->blogs->id );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Retrieve a set of blogs
+ *
+ * @see BP_Blogs_Blog::get() for a description of arguments and return value.
+ *
+ * @param array $args {
+ *     Arguments are listed here with their default values. For more
+ *     information about the arguments, see {@link BP_Blogs_Blog::get()}.
+ *     @type string $type Default: 'active'.
+ *     @type int|bool $user_id Default: false.
+ *     @type string|bool $search_terms Default: false.
+ *     @type int $per_page Default: 20.
+ *     @type int $page Default: 1.
+ * }
+ * @return array See {@link BP_Blogs_Blog::get()}.
+ */
</ins><span class="cx"> function bp_blogs_get_blogs( $args = '' ) {
</span><span class="cx"> 
</span><span class="cx">  $defaults = array(
</span><span class="lines">@@ -40,10 +57,8 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Populates the BP blogs table with existing blogs.
</del><ins>+ * Populate the BP blogs table with existing blogs.
</ins><span class="cx">  *
</span><del>- * @package BuddyPress Blogs
- *
</del><span class="cx">  * @global object $bp BuddyPress global settings
</span><span class="cx">  * @global object $wpdb WordPress database object
</span><span class="cx">  * @uses get_users()
</span><span class="lines">@@ -79,16 +94,18 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Makes BuddyPress aware of sites that shouldn't be recorded to activity streams.
</del><ins>+ * Check whether a given blog should be recorded in activity streams.
</ins><span class="cx">  *
</span><span class="cx">  * If $user_id is provided, you can restrict site from being recordable
</span><span class="cx">  * only to particular users.
</span><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.7)
</span><del>- * @param int $blog_id
- * @param int|null $user_id
</del><ins>+ *
</ins><span class="cx">  * @uses apply_filters()
</span><del>- * @return bool True if blog is recordable, false elsewhere
</del><ins>+ *
+ * @param int $blog_id ID of the blog being checked.
+ * @param int $user_id Optional. ID of the user for whom access is being checked.
+ * @return bool True if blog is recordable, otherwise false.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_is_blog_recordable( $blog_id, $user_id = 0 ) {
</span><span class="cx"> 
</span><span class="lines">@@ -108,16 +125,19 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Makes BuddyPress aware of sites that activities shouldn't be trackable.
</del><ins>+ * Check whether a given blog should be tracked by the Blogs component.
+ *
</ins><span class="cx">  * If $user_id is provided, the developer can restrict site from
</span><span class="cx">  * being trackable only to particular users.
</span><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.7)
</span><del>- * @param int $blog_id
- * @param int|null $user_id
</del><ins>+ *
</ins><span class="cx">  * @uses bp_blogs_is_blog_recordable
</span><span class="cx">  * @uses apply_filters()
</span><del>- * @return bool True if blog is trackable, false elsewhere
</del><ins>+ *
+ * @param int $blog_id ID of the blog being checked.
+ * @param int $user_id Optional. ID of the user for whom access is being checked.
+ * @return bool True if blog is trackable, otherwise false.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
</span><span class="cx"> 
</span><span class="lines">@@ -137,13 +157,17 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Makes BuddyPress aware of a new site so that it can track its activity.
</del><ins>+ * Make BuddyPress aware of a new site so that it can track its activity.
</ins><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.0)
</span><del>- * @param int $blog_id
- * @param int $user_id
- * @param bool $no_activity Optional; defaults to false
</del><ins>+ *
</ins><span class="cx">  * @uses BP_Blogs_Blog
</span><ins>+ *
+ * @param int $blog_id ID of the blog being recorded.
+ * @param int $user_id ID of the user for whom the blog is being recorded.
+ * @param bool $no_activity Optional. Whether to skip recording an activity
+ *        item about this blog creation. Default: false.
+ * @return bool|null Returns false on failure.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
</span><span class="cx"> 
</span><span class="lines">@@ -191,11 +215,12 @@
</span><span class="cx"> add_action( 'wpmu_new_blog', 'bp_blogs_record_blog', 10, 2 );
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Updates blogname in BuddyPress blogmeta table
</del><ins>+ * Update blog name in BuddyPress blogmeta table.
</ins><span class="cx">  *
</span><del>- * @global object $wpdb DB Layer
- * @param string $oldvalue Value before save (not used)
- * @param string $newvalue Value to change meta to
</del><ins>+ * @global object $wpdb DB Layer.
+ *
+ * @param string $oldvalue Value before save. Passed by do_action() but unused here.
+ * @param string $newvalue Value to change meta to.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_update_option_blogname( $oldvalue, $newvalue ) {
</span><span class="cx">  global $wpdb;
</span><span class="lines">@@ -205,11 +230,12 @@
</span><span class="cx"> add_action( 'update_option_blogname', 'bp_blogs_update_option_blogname', 10, 2 );
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Updates blogdescription in BuddyPress blogmeta table
</del><ins>+ * Update blog description in BuddyPress blogmeta table
</ins><span class="cx">  *
</span><del>- * @global object $wpdb DB Layer
- * @param string $oldvalue Value before save (not used)
- * @param string $newvalue Value to change meta to
</del><ins>+ * @global object $wpdb DB Layer.
+ *
+ * @param string $oldvalue Value before save. Passed by do_action() but unused here.
+ * @param string $newvalue Value to change meta to.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_update_option_blogdescription( $oldvalue, $newvalue ) {
</span><span class="cx">  global $wpdb;
</span><span class="lines">@@ -218,6 +244,15 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'update_option_blogdescription', 'bp_blogs_update_option_blogdescription', 10, 2 );
</span><span class="cx"> 
</span><ins>+/**
+ * Record a new blog post in the BuddyPress activity stream.
+ *
+ * @param int $post_id ID of the post being recorded.
+ * @param object $post The WP post object passed to the 'save_post' action.
+ * @param int $user_id Optional. The user to whom the activity item will be
+ *        associated. Defaults to the post_author.
+ * @return bool|null Returns false on failure.
+ */
</ins><span class="cx"> function bp_blogs_record_post( $post_id, $post, $user_id = 0 ) {
</span><span class="cx">  global $bp, $wpdb;
</span><span class="cx"> 
</span><span class="lines">@@ -300,12 +335,14 @@
</span><span class="cx"> add_action( 'save_post', 'bp_blogs_record_post', 10, 2 );
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Record blog comment activity. Checks if blog is public and post is not
- * password protected.
</del><ins>+ * Record a new blog comment in the BuddyPress activity stream.
</ins><span class="cx">  *
</span><del>- * @param int $comment_id
- * @param mixed $is_approved
- * @return mixed
</del><ins>+ * Only posts the item if blog is public and post is not password-protected.
+ *
+ * @param int $comment_id ID of the comment being recorded.
+ * @param bool|string $is_approved Optional. The $is_approved value passed to
+ *        the 'comment_post' action. Default: true.
+ * @return bool|object Returns false on failure, the comment object on success.
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_record_comment( $comment_id, $is_approved = true ) {
</span><span class="cx">  // Get the users comment
</span><span class="lines">@@ -391,6 +428,22 @@
</span><span class="cx"> add_action( 'comment_post', 'bp_blogs_record_comment', 10, 2 );
</span><span class="cx"> add_action( 'edit_comment', 'bp_blogs_record_comment', 10    );
</span><span class="cx"> 
</span><ins>+/**
+ * Record a user's association with a blog.
+ *
+ * This function is hooked to several WordPress actions where blog roles are
+ * set/changed ('add_user_to_blog', 'profile_update', 'user_register'). It
+ * parses the changes, and records them as necessary in the BP blog tracker.
+ *
+ * BuddyPress does not track blogs for Subscribers.
+ *
+ * @param int $user_id The ID of the user.
+ * @param string|bool $role The WP role being assigned to the user
+ *        ('subscriber', 'contributor', 'author', 'editor', 'administrator', or
+ *        a custom role). Defaults to false.
+ * @param int $blog_id Default: the current blog ID.
+ * @return bool|null False on failure.
+ */
</ins><span class="cx"> function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = 0 ) {
</span><span class="cx">  global $wpdb;
</span><span class="cx"> 
</span><span class="lines">@@ -416,6 +469,12 @@
</span><span class="cx"> add_action( 'profile_update',   'bp_blogs_add_user_to_blog'        );
</span><span class="cx"> add_action( 'user_register',    'bp_blogs_add_user_to_blog'        );
</span><span class="cx"> 
</span><ins>+/**
+ * Remove a blog-user pair from BP's blog tracker.
+ *
+ * @param int $user_id ID of the user whose blog is being removed.
+ * @param int $blog_id Optional. ID of the blog being removed. Default: current blog ID.
+ */
</ins><span class="cx"> function bp_blogs_remove_user_from_blog( $user_id, $blog_id = 0 ) {
</span><span class="cx">  global $wpdb;
</span><span class="cx"> 
</span><span class="lines">@@ -427,13 +486,15 @@
</span><span class="cx"> add_action( 'remove_user_from_blog', 'bp_blogs_remove_user_from_blog', 10, 2 );
</span><span class="cx"> 
</span><span class="cx"> /**
</span><del>- * Rehooks WP's maybe_add_existing_user_to_blog with a later priority
</del><ins>+ * Rehook WP's maybe_add_existing_user_to_blog with a later priority
</ins><span class="cx">  *
</span><del>- * WordPress catches add-user-to-blog requests at init:10. In some cases, this can precede BP's
- * Blogs component. This function bumps the priority of the core function, so that we can be sure
- * that the Blogs component is loaded first. See http://buddypress.trac.wordpress.org/ticket/3916
</del><ins>+ * WordPress catches add-user-to-blog requests at init:10. In some cases, this
+ * can precede BP's Blogs component. This function bumps the priority of the
+ * core function, so that we can be sure that the Blogs component is loaded
+ * first. See http://buddypress.trac.wordpress.org/ticket/3916.
</ins><span class="cx">  *
</span><span class="cx">  * @since BuddyPress (1.6)
</span><ins>+ * @access private
</ins><span class="cx">  */
</span><span class="cx"> function bp_blogs_maybe_add_user_to_blog() {
</span><span class="cx">  if ( ! is_multisite() )
</span><span class="lines">@@ -444,6 +505,11 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'init', 'bp_blogs_maybe_add_user_to_blog', 1 );
</span><span class="cx"> 
</span><ins>+/**
+ * Remove the "blog created" item from the BP blogs tracker and activity stream.
+ *
+ * @param int $blog_id ID of the blog being removed.
+ */
</ins><span class="cx"> function bp_blogs_remove_blog( $blog_id ) {
</span><span class="cx">  global $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -459,6 +525,12 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'delete_blog', 'bp_blogs_remove_blog' );
</span><span class="cx"> 
</span><ins>+/**
+ * Remove a blog from the tracker for a specific user.
+ *
+ * @param int $user_id ID of the user for whom the blog is being removed.
+ * @param int $blog_id ID of the blog being removed.
+ */
</ins><span class="cx"> function bp_blogs_remove_blog_for_user( $user_id, $blog_id ) {
</span><span class="cx">  global $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -480,6 +552,14 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'remove_user_from_blog', 'bp_blogs_remove_blog_for_user', 10, 2 );
</span><span class="cx"> 
</span><ins>+/**
+ * Remove a blog post activity item from the activity stream.
+ *
+ * @param int $post_id ID of the post to be removed.
+ * @param int $blog_id Optional. Defaults to current blog ID.
+ * @param int $user_id Optional. Defaults to the logged-in user ID. This param
+ *        is currently unused in the function (but is passed to hooks).
+ */
</ins><span class="cx"> function bp_blogs_remove_post( $post_id, $blog_id = 0, $user_id = 0 ) {
</span><span class="cx">  global $wpdb, $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -503,6 +583,11 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'delete_post', 'bp_blogs_remove_post' );
</span><span class="cx"> 
</span><ins>+/**
+ * Remove a blog comment activity item from the activity stream.
+ *
+ * @param int $comment_id ID of the comment to be removed.
+ */
</ins><span class="cx"> function bp_blogs_remove_comment( $comment_id ) {
</span><span class="cx">  global $wpdb;
</span><span class="cx"> 
</span><span class="lines">@@ -516,11 +601,13 @@
</span><span class="cx"> /**
</span><span class="cx">  * When a blog comment status transition occurs, update the relevant activity's status.
</span><span class="cx">  *
</span><del>- * @global object $bp BuddyPress global settings
</del><ins>+ * @since BuddyPress (1.6)
+ *
+ * @global object $bp BuddyPress global settings.
+ *
</ins><span class="cx">  * @param string $new_status New comment status.
</span><span class="cx">  * @param string $old_status Previous comment status.
</span><span class="cx">  * @param object $comment Comment data.
</span><del>- * @since BuddyPress (1.6)
</del><span class="cx">  */
</span><span class="cx"> function bp_blogs_transition_activity_status( $new_status, $old_status, $comment ) {
</span><span class="cx">  global $bp;
</span><span class="lines">@@ -585,6 +672,11 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'transition_comment_status', 'bp_blogs_transition_activity_status', 10, 3 );
</span><span class="cx"> 
</span><ins>+/**
+ * Get the total number of blogs being tracked by BuddyPress.
+ *
+ * @return int $count Total blog count.
+ */
</ins><span class="cx"> function bp_blogs_total_blogs() {
</span><span class="cx">  if ( !$count = wp_cache_get( 'bp_total_blogs', 'bp' ) ) {
</span><span class="cx">          $blogs = BP_Blogs_Blog::get_all();
</span><span class="lines">@@ -594,6 +686,13 @@
</span><span class="cx">  return $count;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Get the total number of blogs being tracked by BP for a specific user.
+ *
+ * @param int $user_id ID of the user being queried. Default: on a user page,
+ *        the displayed user. Otherwise, the logged-in user.
+ * @return int $count Total blog count for the user.
+ */
</ins><span class="cx"> function bp_blogs_total_blogs_for_user( $user_id = 0 ) {
</span><span class="cx"> 
</span><span class="cx">  if ( empty( $user_id ) )
</span><span class="lines">@@ -607,6 +706,11 @@
</span><span class="cx">  return $count;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Remove the all data related to a given blog from the BP blogs tracker and activity stream.
+ *
+ * @param int $blog_id The ID of the blog to expunge.
+ */
</ins><span class="cx"> function bp_blogs_remove_data_for_blog( $blog_id ) {
</span><span class="cx">  global $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -622,18 +726,54 @@
</span><span class="cx"> }
</span><span class="cx"> add_action( 'delete_blog', 'bp_blogs_remove_data_for_blog', 1 );
</span><span class="cx"> 
</span><ins>+/**
+ * Get all of a user's blogs, as tracked by BuddyPress.
+ *
+ * @see BP_Blogs_Blog::get_blogs_for_user() for a description of parameters
+ *      and return values.
+ *
+ * @param int $user_id See {@BP_Blogs_Blog::get_blogs_for_user()}.
+ * @param bool $show_hidden See {@BP_Blogs_Blog::get_blogs_for_user()}.
+ * @return array See {@BP_Blogs_Blog::get_blogs_for_user()}.
+ */
</ins><span class="cx"> function bp_blogs_get_blogs_for_user( $user_id, $show_hidden = false ) {
</span><span class="cx">  return BP_Blogs_Blog::get_blogs_for_user( $user_id, $show_hidden );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Retrieve a list of all blogs.
+ *
+ * @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 $page See {@BP_Blogs_Blog::get_all()}.
+ * @return array See {@BP_Blogs_Blog::get_all()}.
+ */
</ins><span class="cx"> function bp_blogs_get_all_blogs( $limit = null, $page = null ) {
</span><span class="cx">  return BP_Blogs_Blog::get_all( $limit, $page );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Retrieve a random list of blogs.
+ *
+ * @see BP_Blogs_Blog::get() for a description of parameters and return values.
+ *
+ * @param int $limit See {@BP_Blogs_Blog::get()}.
+ * @param int $page See {@BP_Blogs_Blog::get()}.
+ * @return array See {@BP_Blogs_Blog::get()}.
+ */
</ins><span class="cx"> function bp_blogs_get_random_blogs( $limit = null, $page = null ) {
</span><span class="cx">  return BP_Blogs_Blog::get( 'random', $limit, $page );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Check whether a given blog is hidden.
+ *
+ * @see BP_Blogs_Blog::is_hidden() for a description of parameters and return values.
+ *
+ * @param int $blog_id See {@BP_Blogs_Blog::is_hidden()}.
+ * @return bool See {@BP_Blogs_Blog::is_hidden()}.
+ */
</ins><span class="cx"> function bp_blogs_is_blog_hidden( $blog_id ) {
</span><span class="cx">  return BP_Blogs_Blog::is_hidden( $blog_id );
</span><span class="cx"> }
</span><span class="lines">@@ -647,6 +787,19 @@
</span><span class="cx">  * stored and synced here.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+/**
+ * Delete a metadta from the DB for a blog.
+ *
+ * @global object $wpdb WordPress database access object.
+ * @global object $bp BuddyPress global settings.
+ *
+ * @param int $blog_id ID of the blog whose metadata is being deleted.
+ * @param string $meta_key Optional. The key of the metadata being deleted. If
+ *        omitted, all BP metadata associated with the blog will be deleted.
+ * @param string $meta_value Optional. If present, the metadata will only be
+ *        deleted if the meta_value matches this parameter.
+ * @return bool True on success, false on failure.
+ */
</ins><span class="cx"> function bp_blogs_delete_blogmeta( $blog_id, $meta_key = false, $meta_value = false ) {
</span><span class="cx">  global $wpdb, $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -672,6 +825,20 @@
</span><span class="cx">  return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Get metadata for a given blog.
+ *
+ * @since BuddyPress (1.2)
+ *
+ * @global object $wpdb WordPress database access object.
+ * @global object $bp BuddyPress global settings.
+ *
+ * @param int $blog_id ID of the blog whose metadata is being requested.
+ * @param string $meta_key Optional. If present, only the metadata matching
+ *        that meta key will be returned. Otherwise, all metadata for the
+ *        blog will be fetched.
+ * @return mixed The meta value(s) being requested.
+ */
</ins><span class="cx"> function bp_blogs_get_blogmeta( $blog_id, $meta_key = '') {
</span><span class="cx">  global $wpdb, $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -706,6 +873,17 @@
</span><span class="cx">          return $metas;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Update a piece of blog meta.
+ *
+ * @global object $wpdb WordPress database access object.
+ * @global object $bp BuddyPress global settings.
+ *
+ * @param int $blog_id ID of the blog whose metadata is being updated.
+ * @param string $meta_key Key of the metadata being updated.
+ * @param mixed $meta_value Value to be set.
+ * @return bool True on success, false on failure.
+ */
</ins><span class="cx"> function bp_blogs_update_blogmeta( $blog_id, $meta_key, $meta_value ) {
</span><span class="cx">  global $wpdb, $bp;
</span><span class="cx"> 
</span><span class="lines">@@ -736,6 +914,12 @@
</span><span class="cx">  return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+/**
+ * Remove all blog associations for a given user.
+ *
+ * @param int $user_id ID whose blog data should be removed.
+ * @return bool|null Returns false on failure.
+ */
</ins><span class="cx"> function bp_blogs_remove_data( $user_id ) {
</span><span class="cx">  if ( !is_multisite() )
</span><span class="cx">          return false;
</span></span></pre>
</div>
</div>

</body>
</html>