diff --git a/bp-blogs/bp-blogs-classes.php b/bp-blogs/bp-blogs-classes.php
index 5c3bd2f..2594db8 100644
a
|
b
|
class BP_Blogs_Blog { |
109 | 109 | } |
110 | 110 | |
111 | 111 | if ( !empty( $search_terms ) ) { |
112 | | $filter = like_escape( $wpdb->escape( $search_terms ) ); |
| 112 | $filter = esc_sql( like_escape( $search_terms ) ); |
113 | 113 | $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 bm2.meta_value LIKE '%%$filter%%' {$user_sql} GROUP BY b.blog_id {$order_sql} {$pag_sql}" ); |
114 | 114 | $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 ( bm.meta_value LIKE '%%$filter%%' || bm2.meta_value LIKE '%%$filter%%' ) {$user_sql}" ); |
115 | 115 | } else { |
… |
… |
class BP_Blogs_Blog { |
119 | 119 | |
120 | 120 | $blog_ids = array(); |
121 | 121 | foreach ( (array) $paged_blogs as $blog ) { |
122 | | $blog_ids[] = $blog->blog_id; |
| 122 | $blog_ids[] = (int) $blog->blog_id; |
123 | 123 | } |
124 | 124 | |
125 | | $blog_ids = $wpdb->escape( join( ',', (array) $blog_ids ) ); |
126 | 125 | $paged_blogs = BP_Blogs_Blog::get_blog_extras( $paged_blogs, $blog_ids, $type ); |
127 | 126 | |
128 | 127 | return array( 'blogs' => $paged_blogs, 'total' => $total_blogs ); |
… |
… |
class BP_Blogs_Blog { |
211 | 210 | function search_blogs( $filter, $limit = null, $page = null ) { |
212 | 211 | global $wpdb, $bp; |
213 | 212 | |
214 | | $filter = like_escape( $wpdb->escape( $filter ) ); |
| 213 | $filter = esc_sql( like_escape( $filter ) ); |
215 | 214 | |
| 215 | $hidden_sql = ''; |
216 | 216 | if ( !bp_current_user_can( 'bp_moderate' ) ) |
217 | 217 | $hidden_sql = "AND wb.public = 1"; |
218 | 218 | |
… |
… |
class BP_Blogs_Blog { |
241 | 241 | function get_by_letter( $letter, $limit = null, $page = null ) { |
242 | 242 | global $bp, $wpdb; |
243 | 243 | |
244 | | $letter = like_escape( $wpdb->escape( $letter ) ); |
| 244 | $letter = esc_sql( like_escape( $letter ) ); |
245 | 245 | |
| 246 | $hidden_sql = ''; |
246 | 247 | if ( !bp_current_user_can( 'bp_moderate' ) ) |
247 | 248 | $hidden_sql = "AND wb.public = 1"; |
248 | 249 | |
… |
… |
class BP_Blogs_Blog { |
261 | 262 | if ( empty( $blog_ids ) ) |
262 | 263 | return $paged_blogs; |
263 | 264 | |
| 265 | $blog_ids = esc_sql( implode( ',', wp_parse_id_list( $blog_ids ) ) ); |
| 266 | |
264 | 267 | for ( $i = 0, $count = count( $paged_blogs ); $i < $count; ++$i ) { |
265 | 268 | $blog_prefix = $wpdb->get_blog_prefix( $paged_blogs[$i]->blog_id ); |
266 | 269 | $paged_blogs[$i]->latest_post = $wpdb->get_row( "SELECT ID, post_content, post_title, post_excerpt, guid FROM {$blog_prefix}posts WHERE post_status = 'publish' AND post_type = 'post' AND id != 1 ORDER BY id DESC LIMIT 1" ); |