Changeset 11150
- Timestamp:
- 09/22/2016 12:35:27 AM (8 years ago)
- Location:
- trunk/src/bp-blogs
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-blogs/bp-blogs-filters.php
r10825 r11150 122 122 add_filter( 'bp_activity_post_pre_publish', 'bp_blogs_post_pre_publish', 10, 4 ); 123 123 add_filter( 'bp_activity_post_pre_comment', 'bp_blogs_post_pre_publish', 10, 4 ); 124 125 /** 126 * Registers our custom thumb size with WP's Site Icon feature. 127 * 128 * @since 2.7.0 129 * 130 * @param array $sizes Current array of custom site icon sizes. 131 * @return array 132 */ 133 function bp_blogs_register_custom_site_icon_size( $sizes ) { 134 $sizes[] = bp_core_avatar_thumb_width(); 135 return $sizes; 136 } 137 add_filter( 'site_icon_image_sizes', 'bp_blogs_register_custom_site_icon_size' ); -
trunk/src/bp-blogs/bp-blogs-functions.php
r10971 r11150 477 477 478 478 /** 479 * Syncs site icon URLs to blogmeta. 480 * 481 * @since 2.7.0 482 * 483 * @param int|string $old_value Old value 484 * @param int|string $new_value New value 485 */ 486 function bp_blogs_update_option_site_icon( $old_value, $new_value ) { 487 if ( 0 === $new_value ) { 488 bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_thumb', 0 ); 489 bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_full', 0 ); 490 } else { 491 // Save site icon URL as blogmeta. 492 bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_thumb', get_site_icon_url( bp_core_avatar_thumb_width() ) ); 493 bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_full', get_site_icon_url( bp_core_avatar_full_width() ) ); 494 } 495 } 496 add_action( 'update_option_site_icon', 'bp_blogs_update_option_site_icon', 10, 2 ); 497 498 /** 479 499 * Deletes the 'url' blogmeta for a site. 480 500 * -
trunk/src/bp-blogs/bp-blogs-template.php
r10906 r11150 346 346 ) ); 347 347 348 // Fetch the avatar. 349 $avatar = bp_core_fetch_avatar( array( 350 'item_id' => $blogs_template->blog->admin_user_id, 351 'title' => $r['title'], 352 // 'avatar_dir' => 'blog-avatars', 353 // 'object' => 'blog', 354 'type' => $r['type'], 355 'alt' => $r['alt'], 356 'css_id' => $r['id'], 357 'class' => $r['class'], 358 'width' => $r['width'], 359 'height' => $r['height'] 360 ) ); 348 // Use site icon if available. 349 $avatar = ''; 350 if ( bp_is_active( 'blogs', 'site-icon' ) && function_exists( 'has_site_icon' ) ) { 351 $site_icon = bp_blogs_get_blogmeta( bp_get_blog_id(), "site_icon_url_{$r['type']}" ); 352 353 // Never attempted to fetch site icon before; do it now! 354 if ( '' === $site_icon ) { 355 switch_to_blog( bp_get_blog_id() ); 356 357 // Fetch the other size first. 358 if ( 'full' === $r['type'] ) { 359 $size = bp_core_avatar_thumb_width(); 360 $save_size = 'thumb'; 361 } else { 362 $size = bp_core_avatar_full_width(); 363 $save_size = 'full'; 364 } 365 366 $site_icon = get_site_icon_url( $size ); 367 // Empty site icons get saved as integer 0. 368 if ( empty( $site_icon ) ) { 369 $site_icon = 0; 370 } 371 372 // Sync site icon for other size to blogmeta. 373 bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$save_size}", $site_icon ); 374 375 // Now, fetch the size we want. 376 if ( 0 !== $site_icon ) { 377 $size = 'full' === $r['type'] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width(); 378 $site_icon = get_site_icon_url( $size ); 379 } 380 381 // Sync site icon to blogmeta. 382 bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$r['type']}", $site_icon ); 383 384 restore_current_blog(); 385 } 386 387 // We have a site icon. 388 if ( ! is_numeric( $site_icon ) ) { 389 if ( empty( $r['width'] ) && ! isset( $size ) ) { 390 $size = 'full' === $r['type'] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width(); 391 } else { 392 $size = (int) $r['width']; 393 } 394 395 $avatar = sprintf( '<img src="%1$s" class="%2$s" width="%3$s" height="%3$s" alt="%4$s" title="%4$s" />', 396 esc_url( $site_icon ), 397 esc_attr( "{$r['class']} avatar-{$size}" ), 398 esc_attr( $size ), 399 sprintf( esc_attr__( 'Site icon for %s', 'buddypress' ), bp_get_blog_name() ) 400 ); 401 } 402 } 403 404 // Fallback to user ID avatar. 405 if ( '' === $avatar ) { 406 $avatar = bp_core_fetch_avatar( array( 407 'item_id' => $blogs_template->blog->admin_user_id, 408 'title' => $r['title'], 409 // 'avatar_dir' => 'blog-avatars', 410 // 'object' => 'blog', 411 'type' => $r['type'], 412 'alt' => $r['alt'], 413 'css_id' => $r['id'], 414 'class' => $r['class'], 415 'width' => $r['width'], 416 'height' => $r['height'] 417 ) ); 418 } 361 419 362 420 /** -
trunk/src/bp-blogs/classes/class-bp-blogs-component.php
r11081 r11150 33 33 'adminbar_myaccount_order' => 30, 34 34 'search_query_arg' => 'sites_search', 35 'features' => array( 'site-icon' ) 35 36 ) 36 37 );
Note: See TracChangeset
for help on using the changeset viewer.