/** * Add a Sites menu to the BuddyBar. * * @since BuddyPress (1.0.0) * @deprecated BuddyPress (2.1.0) * * @global object $bp The BuddyPress global settings object. * * @return bool|null Returns false on failure. Otherwise echoes the menu item. */ function bp_adminbar_blogs_menu() { global $bp; if (!is_user_logged_in() || !bp_is_active('blogs')) { return false; } if (!is_multisite()) { return false; } $blogs = wp_cache_get('bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', 'bp'); if (empty($blogs)) { $blogs = bp_blogs_get_blogs_for_user(bp_loggedin_user_id(), true); wp_cache_set('bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', $blogs, 'bp'); } $counter = 0; if (is_array($blogs['blogs']) && (int) $blogs['count']) { echo '<li id="bp-adminbar-blogs-menu"><a href="' . trailingslashit(bp_loggedin_user_domain() . bp_get_blogs_slug()) . '">'; _e('My Sites', 'buddypress'); echo '</a>'; echo '<ul>'; foreach ((array) $blogs['blogs'] as $blog) { $alt = 0 == $counter % 2 ? ' class="alt"' : ''; $site_url = esc_attr($blog->siteurl); echo '<li' . $alt . '>'; echo '<a href="' . $site_url . '">' . esc_html($blog->name) . '</a>'; echo '<ul>'; echo '<li class="alt"><a href="' . $site_url . 'wp-admin/">' . __('Dashboard', 'buddypress') . '</a></li>'; echo '<li><a href="' . $site_url . 'wp-admin/post-new.php">' . __('New Post', 'buddypress') . '</a></li>'; echo '<li class="alt"><a href="' . $site_url . 'wp-admin/edit.php">' . __('Manage Posts', 'buddypress') . '</a></li>'; echo '<li><a href="' . $site_url . 'wp-admin/edit-comments.php">' . __('Manage Comments', 'buddypress') . '</a></li>'; echo '</ul>'; do_action('bp_adminbar_blog_items', $blog); echo '</li>'; $counter++; } $alt = 0 == $counter % 2 ? ' class="alt"' : ''; if (bp_blog_signup_enabled()) { echo '<li' . $alt . '>'; echo '<a href="' . bp_get_root_domain() . '/' . bp_get_blogs_root_slug() . '/create/">' . __('Create a Site!', 'buddypress') . '</a>'; echo '</li>'; } echo '</ul>'; echo '</li>'; } }
<?php if (function_exists('bp_is_active')) { ?> <li class="item"> <a class="ab-item" tabindex="-1" href="<?php echo SITE_URL; ?> /membros/<?php echo $current_user->user_nicename; ?> /activity/friends/">Meu Perfil</a> </li> <?php $blogs = bp_blogs_get_blogs_for_user(bp_loggedin_user_id(), false); ?> <?php if (is_array($blogs['blogs']) && (int) $blogs['count']) { ?> <?php bp_adminbar_blogs_menu(); ?> <?php } else { ?> <li class="item create-blog"> <a class="ab-item" tabindex="-1" href="<?php
/** * @group bp_blogs_restore_data */ public function test_bp_blogs_restore_data() { if (!is_multisite()) { return; } // Create a regular member $u = $this->factory->user->create(); // Create blogs $b1 = $this->factory->blog->create(array('user_id' => $u)); $b2 = $this->factory->blog->create(array('user_id' => $u)); $expected = array($b1 => $b1, $b2 => $b2); // Mark the user as spam bp_core_process_spammer_status($u, 'spam'); // get all blogs for user $blogs = bp_blogs_get_blogs_for_user($u, true); $blog_ids = wp_list_pluck($blogs['blogs'], 'blog_id'); $this->assertNotEquals($expected, array_map('intval', $blog_ids), 'User marked as spam should not have any blog registered'); // Ham the user bp_core_process_spammer_status($u, 'ham'); // get all blogs for user $blogs = bp_blogs_get_blogs_for_user($u, true); $blog_ids = wp_list_pluck($blogs['blogs'], 'blog_id'); $this->assertEquals($expected, array_map('intval', $blog_ids)); }
function bp_blogs_user_blogs_template($user_id, $per_page, $max) { global $bp; if (!$user_id) { $user_id = $bp->displayed_user->id; } $this->pag_page = isset($_GET['fpage']) ? intval($_GET['fpage']) : 1; $this->pag_num = isset($_GET['num']) ? intval($_GET['num']) : $per_page; if (!($this->blogs = wp_cache_get('bp_blogs_for_user_' . $user_id, 'bp'))) { $this->blogs = bp_blogs_get_blogs_for_user($user_id); wp_cache_set('bp_blogs_for_user_' . $user_id, $this->blogs, 'bp'); } if (!$max) { $this->total_blog_count = (int) $this->blogs['count']; } else { $this->total_blog_count = (int) $max; } $this->blogs = array_slice((array) $this->blogs['blogs'], intval(($this->pag_page - 1) * $this->pag_num), intval($this->pag_num)); if ($max) { if ($max >= count($this->blogs)) { $this->blog_count = count($this->blogs); } else { $this->blog_count = (int) $max; } } else { $this->blog_count = count($this->blogs); } $this->pag_links = paginate_links(array('base' => add_query_arg('fpage', '%#%'), 'format' => '', 'total' => ceil($this->total_blog_count / $this->pag_num), 'current' => $this->pag_page, 'prev_text' => '«', 'next_text' => '»', 'mid_size' => 1)); }