Skip to:
Content

BuddyPress.org

Ticket #4436: 4436-secondary-avatar-link.diff

File 4436-secondary-avatar-link.diff, 2.6 KB (added by transom, 12 years ago)

Better handling of link class option

  • bp-activity/bp-activity-template.php

     
    10491049                        'width'  => 20,
    10501050                        'height' => 20,
    10511051                        'class'  => 'avatar',
    1052                         'email'  => false
     1052                        'link_class'    => '',
     1053                        'email'  => false,
     1054                        'linked' => false
    10531055                );
    10541056
    10551057                $r = wp_parse_args( $args, $defaults );
     
    10701072                                                        $alt = sprintf( __( 'Group logo of %s', 'buddypress' ), $group->name );
    10711073                                        }
    10721074                                }
     1075                                $link = bp_get_group_permalink( $item_id );
    10731076
    10741077                                break;
    10751078                        case 'blogs' :
     
    10791082                                if ( !$alt ) {
    10801083                                        $alt = sprintf( __( 'Profile picture of the author of the site %s', 'buddypress' ), get_blog_option( $item_id, 'blogname' ) );
    10811084                                }
    1082 
     1085                                $link = home_url();
     1086                               
    10831087                                break;
    10841088                        case 'friends' :
    10851089                                $object  = 'user';
     
    10881092                                if ( empty( $alt ) ) {
    10891093                                        $alt = sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_core_get_user_displayname( $activities_template->activity->secondary_item_id ) );
    10901094                                }
    1091 
     1095                                $link = bp_core_get_userlink($item_id);
     1096                               
    10921097                                break;
    10931098                        default :
    10941099                                $object  = 'user';
     
    10981103                                if ( !$alt ) {
    10991104                                        $alt = sprintf( __( 'Profile picture of %s', 'buddypress' ), $activities_template->activity->display_name );
    11001105                                }
    1101 
     1106                                $link = bp_core_get_userlink($item_id);
     1107               
    11021108                                break;
    11031109                }
    11041110
    1105                 // Allow object and item_id to be filtered
     1111                // Allow object, item_id, and link to be filtered
    11061112                $object  = apply_filters( 'bp_get_activity_secondary_avatar_object_' . $activities_template->activity->component, $object );
    11071113                $item_id = apply_filters( 'bp_get_activity_secondary_avatar_item_id', $item_id );
     1114                if( $linked ) $link = apply_filters('bp_get_activity_secondary_avatar_link', $link, $activities_template->activity->component);
    11081115
    11091116                // If we have no item_id or object, there is no avatar to display
    11101117                if ( empty( $item_id ) || empty( $object ) )
    11111118                        return false;
     1119               
     1120                if( $linked ) {
     1121                        return sprintf('<a href="%s" class="%s">%s</a>',
     1122                                $link,
     1123                                $link_class,
     1124                                apply_filters( 'bp_get_activity_secondary_avatar', bp_core_fetch_avatar( array( 'item_id' => $item_id, 'object' => $object, 'type' => $type, 'alt' => $alt, 'class' => $class, 'width' => $width, 'height' => $height, 'email' => $email ) ) ),
     1125                        );
    11121126
     1127                // else
    11131128                return apply_filters( 'bp_get_activity_secondary_avatar', bp_core_fetch_avatar( array( 'item_id' => $item_id, 'object' => $object, 'type' => $type, 'alt' => $alt, 'class' => $class, 'width' => $width, 'height' => $height, 'email' => $email ) ) );
    11141129        }
    11151130