public function test_search_blogs() { if (!is_multisite()) { return; } $old_user = get_current_user_id(); $u = $this->factory->user->create(); $this->set_current_user($u); $b = $this->factory->blog->create(array('title' => 'The Foo Bar Blog', 'user_id' => $u, 'path' => '/path' . rand() . time() . '/')); bp_blogs_record_existing_blogs(); // make the blog public or it won't turn up in generic results update_blog_option($b, 'blog_public', '1'); $blogs = BP_Blogs_Blog::search_blogs('Foo'); $blog_ids = wp_list_pluck($blogs['blogs'], 'blog_id'); $this->assertEquals(array($b), $blog_ids); }
function bp_blogs_site_blogs_template($type, $per_page, $max) { global $bp; $this->pag_page = isset($_REQUEST['bpage']) ? intval($_REQUEST['bpage']) : 1; $this->pag_num = isset($_REQUEST['num']) ? intval($_REQUEST['num']) : $per_page; if (isset($_REQUEST['s']) && '' != $_REQUEST['s'] && $type != 'random') { $this->blogs = BP_Blogs_Blog::search_blogs($_REQUEST['s'], $this->pag_num, $this->pag_page); } else { if (isset($_REQUEST['letter']) && '' != $_REQUEST['letter']) { $this->blogs = BP_Blogs_Blog::get_by_letter($_REQUEST['letter'], $this->pag_num, $this->pag_page); } else { switch ($type) { case 'random': $this->blogs = BP_Blogs_Blog::get_random($this->pag_num, $this->pag_page); break; case 'newest': $this->blogs = BP_Blogs_Blog::get_newest($this->pag_num, $this->pag_page); break; case 'active': default: $this->blogs = BP_Blogs_Blog::get_active($this->pag_num, $this->pag_page); break; } } } if (!$max) { $this->total_blog_count = (int) $this->blogs['total']; } else { $this->total_blog_count = (int) $max; } $this->blogs = $this->blogs['blogs']; 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('bpage', '%#%'), 'format' => '', 'total' => ceil((int) $this->total_blog_count / (int) $this->pag_num), 'current' => (int) $this->pag_page, 'prev_text' => '«', 'next_text' => '»', 'mid_size' => 1)); }