Changeset 9328
- Timestamp:
- 01/09/2015 04:06:51 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-blogs/bp-blogs-classes.php
r9218 r9328 174 174 } 175 175 176 if ( ! empty( $search_terms ) ) {176 if ( ! empty( $search_terms ) ) { 177 177 $search_terms_like = '%' . bp_esc_like( $search_terms ) . '%'; 178 $search_terms_sql = $wpdb->prepare( 'bm2.meta_value LIKE %s', $search_terms_like ); 179 $paged_blogs = $wpdb->get_results( "SELECT b.blog_id, b.user_id as admin_user_id, u.user_email as admin_user_email, wb.domain, wb.path, bm.meta_value as last_activity, bm2.meta_value as name FROM {$bp->blogs->table_name} b, {$bp->blogs->table_name_blogmeta} bm, {$bp->blogs->table_name_blogmeta} bm2, {$wpdb->base_prefix}blogs wb, {$wpdb->users} u WHERE b.blog_id = wb.blog_id AND b.user_id = u.ID AND b.blog_id = bm.blog_id AND b.blog_id = bm2.blog_id AND wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$hidden_sql} AND bm.meta_key = 'last_activity' AND bm2.meta_key = 'name' AND {$search_terms_sql} {$user_sql} {$include_sql} GROUP BY b.blog_id {$order_sql} {$pag_sql}" ); 180 $total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT b.blog_id) FROM {$bp->blogs->table_name} b, {$wpdb->base_prefix}blogs wb, {$bp->blogs->table_name_blogmeta} bm, {$bp->blogs->table_name_blogmeta} bm2 WHERE b.blog_id = wb.blog_id AND bm.blog_id = b.blog_id AND bm2.blog_id = b.blog_id AND wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$hidden_sql} AND bm.meta_key = 'name' AND bm2.meta_key = 'description' AND {$search_terms_sql} {$user_sql} {$include_sql}" ); 178 $search_terms_sql = $wpdb->prepare( 'AND (bm_name.meta_value LIKE %s OR bm_description.meta_value LIKE %s)', $search_terms_like, $search_terms_like ); 181 179 } else { 182 $paged_blogs = $wpdb->get_results( "SELECT b.blog_id, b.user_id as admin_user_id, u.user_email as admin_user_email, wb.domain, wb.path, bm.meta_value as last_activity, bm2.meta_value as name FROM {$bp->blogs->table_name} b, {$bp->blogs->table_name_blogmeta} bm, {$bp->blogs->table_name_blogmeta} bm2, {$wpdb->base_prefix}blogs wb, {$wpdb->users} u WHERE b.blog_id = wb.blog_id AND b.user_id = u.ID AND b.blog_id = bm.blog_id AND b.blog_id = bm2.blog_id {$user_sql} AND wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$hidden_sql} AND bm.meta_key = 'last_activity' AND bm2.meta_key = 'name' {$include_sql} GROUP BY b.blog_id {$order_sql} {$pag_sql}" ); 183 $total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT b.blog_id) FROM {$bp->blogs->table_name} b, {$wpdb->base_prefix}blogs wb WHERE b.blog_id = wb.blog_id {$user_sql} AND wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$include_sql} {$hidden_sql}" ); 184 } 180 $search_terms_sql = ''; 181 } 182 183 $paged_blogs = $wpdb->get_results( " 184 SELECT b.blog_id, b.user_id as admin_user_id, u.user_email as admin_user_email, wb.domain, wb.path, bm.meta_value as last_activity, bm_name.meta_value as name 185 FROM 186 {$bp->blogs->table_name} b 187 LEFT JOIN {$bp->blogs->table_name_blogmeta} bm ON (b.blog_id = bm.blog_id) 188 LEFT JOIN {$bp->blogs->table_name_blogmeta} bm_name ON (b.blog_id = bm_name.blog_id) 189 LEFT JOIN {$bp->blogs->table_name_blogmeta} bm_description ON (b.blog_id = bm_description.blog_id) 190 LEFT JOIN {$wpdb->base_prefix}blogs wb ON (b.blog_id = wb.blog_id) 191 LEFT JOIN {$wpdb->users} u ON (b.user_id = u.ID) 192 WHERE 193 wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$hidden_sql} 194 AND bm.meta_key = 'last_activity' AND bm_name.meta_key = 'name' AND bm_description.meta_key = 'description' 195 {$search_terms_sql} {$user_sql} {$include_sql} 196 GROUP BY b.blog_id {$order_sql} {$pag_sql} 197 " ); 198 199 $total_blogs = $wpdb->get_var( " 200 SELECT COUNT(DISTINCT b.blog_id) 201 FROM 202 {$bp->blogs->table_name} b 203 LEFT JOIN {$wpdb->base_prefix}blogs wb ON (b.blog_id = wb.blog_id) 204 LEFT JOIN {$bp->blogs->table_name_blogmeta} bm_name ON (b.blog_id = bm_name.blog_id) 205 LEFT JOIN {$bp->blogs->table_name_blogmeta} bm_description ON (b.blog_id = bm_description.blog_id) 206 WHERE 207 wb.archived = '0' AND wb.spam = 0 AND wb.mature = 0 AND wb.deleted = 0 {$hidden_sql} 208 AND 209 bm_name.meta_key = 'name' AND bm_description.meta_key = 'description' 210 {$search_terms_sql} {$user_sql} {$include_sql} 211 " ); 185 212 186 213 $blog_ids = array(); -
trunk/tests/phpunit/testcases/blogs/class-bp-blogs-blog.php
r9139 r9328 38 38 39 39 $this->set_current_user( $old_user ); 40 wpmu_delete_blog( $b, true ); 41 } 42 43 /** 44 * @ticket BP5858 45 */ 46 public function test_get_with_search_terms_should_match_description() { 47 if ( ! is_multisite() ) { 48 return; 49 } 50 51 $old_user = get_current_user_id(); 52 53 $u = $this->factory->user->create(); 54 $this->set_current_user( $u ); 55 $b = $this->factory->blog->create( array( 56 'title' => 'The Foo Bar Blog', 57 'domain' => __METHOD__, 58 'user_id' => $u, 59 ) ); 60 update_blog_option( $b, 'blogdescription', 'Full of foorificness' ); 61 bp_blogs_record_existing_blogs(); 62 63 // make the blog public or it won't turn up in generic results 64 update_blog_option( $b, 'blog_public', '1' ); 65 66 $blogs = BP_Blogs_Blog::get( 'active', false, false, 0, 'Full' ); 67 $blog_ids = wp_list_pluck( $blogs['blogs'], 'blog_id' ); 68 69 $this->assertEquals( array( $b ), $blog_ids ); 70 $this->assertEquals( 1, $blogs['total'] ); 71 72 $this->set_current_user( $old_user ); 73 wpmu_delete_blog( $b, true ); 40 74 } 41 75 … … 65 99 66 100 $this->set_current_user( $old_user ); 101 wpmu_delete_blog( $b, true ); 67 102 } 68 103 … … 95 130 96 131 $this->set_current_user( $old_user ); 132 wpmu_delete_blog( $b, true ); 97 133 } 98 134 }
Note: See TracChangeset
for help on using the changeset viewer.