Changeset 12173
- Timestamp:
- 06/16/2018 09:37:33 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-blogs/bp-blogs-cache.php
r10417 r12173 29 29 'object_type' => buddypress()->blogs->id, 30 30 'object_column' => 'blog_id', 31 'cache_group' => 'b log_meta',31 'cache_group' => 'bp_blog_meta', 32 32 'meta_table' => buddypress()->blogs->table_name_blogmeta, 33 33 ); -
trunk/src/bp-blogs/bp-blogs-filters.php
r11150 r12173 136 136 } 137 137 add_filter( 'site_icon_image_sizes', 'bp_blogs_register_custom_site_icon_size' ); 138 139 /** 140 * Filters the column name during blog metadata queries. 141 * 142 * This filters 'sanitize_key', which is used during various core metadata 143 * API functions: {@link https://core.trac.wordpress.org/browser/branches/4.9/src/wp-includes/meta.php?lines=47,160,324}. 144 * Due to how we are passing our meta type, we need to ensure that the correct 145 * DB column is referenced during blogmeta queries. 146 * 147 * @since 4.0.0 148 * 149 * @see bp_blogs_delete_blogmeta() 150 * @see bp_blogs_get_blogmeta() 151 * @see bp_blogs_update_blogmeta() 152 * @see bp_blogs_add_blogmeta() 153 * 154 * @param string $retval 155 * 156 * @return string 157 */ 158 function bp_blogs_filter_meta_column_name( $retval ) { 159 if ( 'bp_blog_id' === $retval ) { 160 $retval = 'blog_id'; 161 } 162 return $retval; 163 } -
trunk/src/bp-blogs/bp-blogs-functions.php
r11788 r12173 176 176 177 177 // Ensure that the cache is clear after the table TRUNCATE above. 178 wp_cache_delete( $blog->blog_id, 'b log_meta' );178 wp_cache_delete( $blog->blog_id, 'bp_blog_meta' ); 179 179 180 180 // Get all users. … … 1303 1303 // Legacy - if no meta_key is passed, delete all for the blog_id. 1304 1304 if ( empty( $meta_key ) ) { 1305 $keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->b logmeta} WHERE blog_id = %d", $blog_id ) );1305 $keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->bp_blogmeta} WHERE blog_id = %d", $blog_id ) ); 1306 1306 $delete_all = false; 1307 1307 } else { … … 1310 1310 1311 1311 add_filter( 'query', 'bp_filter_metaid_column_name' ); 1312 add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1312 1313 1313 1314 $retval = false; 1314 1315 foreach ( $keys as $key ) { 1315 $retval = delete_metadata( 'b log', $blog_id, $key, $meta_value, $delete_all );1316 $retval = delete_metadata( 'bp_blog', $blog_id, $key, $meta_value, $delete_all ); 1316 1317 } 1317 1318 1318 1319 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 1320 remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1319 1321 1320 1322 return $retval; … … 1339 1341 function bp_blogs_get_blogmeta( $blog_id, $meta_key = '', $single = true ) { 1340 1342 add_filter( 'query', 'bp_filter_metaid_column_name' ); 1341 $retval = get_metadata( 'blog', $blog_id, $meta_key, $single ); 1343 add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1344 $retval = get_metadata( 'bp_blog', $blog_id, $meta_key, $single ); 1345 remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1342 1346 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 1343 1347 … … 1362 1366 function bp_blogs_update_blogmeta( $blog_id, $meta_key, $meta_value, $prev_value = '' ) { 1363 1367 add_filter( 'query', 'bp_filter_metaid_column_name' ); 1364 $retval = update_metadata( 'blog', $blog_id, $meta_key, $meta_value, $prev_value ); 1368 add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1369 $retval = update_metadata( 'bp_blog', $blog_id, $meta_key, $meta_value, $prev_value ); 1370 remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1365 1371 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 1366 1372 … … 1383 1389 function bp_blogs_add_blogmeta( $blog_id, $meta_key, $meta_value, $unique = false ) { 1384 1390 add_filter( 'query', 'bp_filter_metaid_column_name' ); 1385 $retval = add_metadata( 'blog', $blog_id, $meta_key, $meta_value, $unique ); 1391 add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1392 $retval = add_metadata( 'bp_blog', $blog_id, $meta_key, $meta_value, $unique ); 1393 remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' ); 1386 1394 remove_filter( 'query', 'bp_filter_metaid_column_name' ); 1387 1395 -
trunk/src/bp-blogs/classes/class-bp-blogs-component.php
r11934 r12173 64 64 65 65 $meta_tables = array( 66 'b log' => $bp->table_prefix . 'bp_user_blogs_blogmeta',66 'bp_blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta', 67 67 ); 68 68 … … 348 348 // Global groups. 349 349 wp_cache_add_global_groups( array( 350 'b log_meta'350 'bp_blog_meta' 351 351 ) ); 352 352 -
trunk/tests/phpunit/testcases/blogs/cache.php
r11737 r12173 31 31 32 32 // Clear caches (due to _get_) 33 wp_cache_delete( $b1, 'b log_meta' );34 wp_cache_delete( $b2, 'b log_meta' );33 wp_cache_delete( $b1, 'bp_blog_meta' ); 34 wp_cache_delete( $b2, 'bp_blog_meta' ); 35 35 36 36 // Caches should be empty 37 $this->assertFalse( wp_cache_get( $b1, 'b log_meta' ) );38 $this->assertFalse( wp_cache_get( $b2, 'b log_meta' ) );37 $this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) ); 38 $this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) ); 39 39 40 40 bp_blogs_update_meta_cache( array( $b1, $b2 ) ); … … 75 75 // The cache may contain more than just this, so loop through 76 76 // and check only relevant keys 77 $b1_found = wp_cache_get( $b1, 'b log_meta' );77 $b1_found = wp_cache_get( $b1, 'bp_blog_meta' ); 78 78 foreach ( $b1_expected as $k => $v ) { 79 79 $this->assertSame( $v, $b1_found[ $k ] ); 80 80 } 81 81 82 $b2_found = wp_cache_get( $b2, 'b log_meta' );82 $b2_found = wp_cache_get( $b2, 'bp_blog_meta' ); 83 83 foreach ( $b2_expected as $k => $v ) { 84 84 $this->assertSame( $v, $b2_found[ $k ] ); … … 121 121 122 122 // Clear caches (due to _get_) 123 wp_cache_delete( $b1, 'b log_meta' );124 wp_cache_delete( $b2, 'b log_meta' );123 wp_cache_delete( $b1, 'bp_blog_meta' ); 124 wp_cache_delete( $b2, 'bp_blog_meta' ); 125 125 126 126 // Caches should be empty 127 $this->assertFalse( wp_cache_get( $b1, 'b log_meta' ) );128 $this->assertFalse( wp_cache_get( $b2, 'b log_meta' ) );127 $this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) ); 128 $this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) ); 129 129 130 130 bp_has_blogs( array( … … 167 167 // The cache may contain more than just this, so loop through 168 168 // and check only relevant keys 169 $b1_found = wp_cache_get( $b1, 'b log_meta' );169 $b1_found = wp_cache_get( $b1, 'bp_blog_meta' ); 170 170 foreach ( $b1_expected as $k => $v ) { 171 171 $this->assertSame( $v, $b1_found[ $k ] ); 172 172 } 173 173 174 $b2_found = wp_cache_get( $b2, 'b log_meta' );174 $b2_found = wp_cache_get( $b2, 'bp_blog_meta' ); 175 175 foreach ( $b2_expected as $k => $v ) { 176 176 $this->assertSame( $v, $b2_found[ $k ] ); … … 215 215 216 216 // Clear caches (due to _get_) 217 wp_cache_delete( $b1, 'b log_meta' );218 wp_cache_delete( $b2, 'b log_meta' );217 wp_cache_delete( $b1, 'bp_blog_meta' ); 218 wp_cache_delete( $b2, 'bp_blog_meta' ); 219 219 220 220 // Caches should be empty 221 $this->assertFalse( wp_cache_get( $b1, 'b log_meta' ) );222 $this->assertFalse( wp_cache_get( $b2, 'b log_meta' ) );221 $this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) ); 222 $this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) ); 223 223 224 224 bp_has_blogs( array( … … 227 227 228 228 // Caches should be empty 229 $this->assertFalse( wp_cache_get( $b1, 'b log_meta' ) );230 $this->assertFalse( wp_cache_get( $b2, 'b log_meta' ) );229 $this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) ); 230 $this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) ); 231 231 232 232 $this->set_current_user( $old_user ); … … 305 305 // prime cache 306 306 bp_blogs_get_blogmeta( $b1, 'url' ); 307 $this->assertNotEmpty( wp_cache_get( $b1, 'b log_meta' ) );307 $this->assertNotEmpty( wp_cache_get( $b1, 'bp_blog_meta' ) ); 308 308 309 309 // updating blog details should purge cache … … 313 313 314 314 // assert cache is purged 315 $this->assertEmpty( wp_cache_get( $b1, 'b log_meta' ) );315 $this->assertEmpty( wp_cache_get( $b1, 'bp_blog_meta' ) ); 316 316 } 317 317 }
Note: See TracChangeset
for help on using the changeset viewer.