コード例 #1
0
 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);
 }
コード例 #2
0
 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));
 }