Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
08/09/2010 09:53:49 PM (16 years ago)
Author:
johnjamesjacoby
Message:

Fixes #2578. (1.3 early bird special)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.2/bp-activity/bp-activity-templatetags.php

    r3145 r3168  
    395395        }
    396396
     397/**
     398 * bp_activity_avatar( $args )
     399 *
     400 * Output the avatar of the user that performed the action
     401 *
     402 * @param array $args
     403 */
    397404function bp_activity_avatar( $args = '' ) {
    398405        echo bp_get_activity_avatar( $args );
    399406}
     407        /**
     408         * bp_get_activity_avatar( $args )
     409         *
     410         * Return the avatar of the user that performed the action
     411         *
     412         * @global array $bp
     413         * @global object $activities_template
     414         * @param array $args optional
     415         * @return string
     416         */
    400417        function bp_get_activity_avatar( $args = '' ) {
    401418                global $bp, $activities_template;
    402419
    403420                $defaults = array(
    404                         'type' => 'thumb',
    405                         'width' => 20,
     421                        'type'   => 'thumb',
     422                        'width'  => 20,
    406423                        'height' => 20,
    407                         'class' => 'avatar',
    408                         'alt' => __( 'Avatar', 'buddypress' ),
    409                         'email' => false
     424                        'class'  => 'avatar',
     425                        'alt'    => __( 'Avatar', 'buddypress' ),
     426                        'email'  => false
    410427                );
    411428
     
    413430                extract( $r, EXTR_SKIP );
    414431
    415                 $item_id = false;
    416                 if ( (int)$activities_template->activity->user_id )
    417                         $item_id = $activities_template->activity->user_id;
    418                 else if ( $activities_template->activity->item_id )
    419                         $item_id = $activities_template->activity->item_id;
    420 
    421                 $object = 'user';
    422                 if ( $bp->groups->id == $activities_template->activity->component && !(int) $activities_template->activity->user_id )
    423                         $object = 'group';
    424                 if ( $bp->blogs->id == $activities_template->activity->component && !(int) $activities_template->activity->user_id )
    425                         $object = 'blog';
    426 
    427                 $object = apply_filters( 'bp_get_activity_avatar_object_' . $activities_template->activity->component, $object );
    428 
    429                 /* If this is a user object pass the users' email address for Gravatar so we don't have to refetch it. */
    430                 if ( 'user' == $object && empty($email) )
     432                // Primary activity avatar is always a user, but can be modified via a filter
     433                $object  = apply_filters( 'bp_get_activity_avatar_object_' . $activities_template->activity->component, 'user' );
     434                $item_id = apply_filters( 'bp_get_activity_avatar_item_id', $activities_template->activity->user_id );
     435
     436                // If this is a user object pass the users' email address for Gravatar so we don't have to refetch it.
     437                if ( 'user' == $object && empty( $email ) )
    431438                        $email = $activities_template->activity->user_email;
    432439
    433440                return apply_filters( 'bp_get_activity_avatar', bp_core_fetch_avatar( array( 'item_id' => $item_id, 'object' => $object, 'type' => $type, 'alt' => $alt, 'class' => $class, 'width' => $width, 'height' => $height, 'email' => $email ) ) );
     441        }
     442
     443/**
     444 * bp_activity_secondary_avatar( $args )
     445 *
     446 * Output the avatar of the object that action was performed on
     447 *
     448 * @param array $args optional
     449 */
     450function bp_activity_secondary_avatar( $args = '' ) {
     451        echo bp_get_activity_secondary_avatar( $args );
     452}
     453        /**
     454         * bp_get_activity_secondary_avatar( $args )
     455         *
     456         * Return the avatar of the object that action was performed on
     457         *
     458         * @global array $bp
     459         * @global object $activities_template
     460         * @param array $args optional
     461         * @return string
     462         */
     463        function bp_get_activity_secondary_avatar( $args = '' ) {
     464                global $bp, $activities_template;
     465
     466                $defaults = array(
     467                        'type'   => 'thumb',
     468                        'width'  => 20,
     469                        'height' => 20,
     470                        'class'  => 'avatar',
     471                        'alt'    => __( 'Avatar', 'buddypress' ),
     472                        'email'  => false
     473                );
     474
     475                $r = wp_parse_args( $args, $defaults );
     476                extract( $r, EXTR_SKIP );
     477
     478                // Set item_id and object (default to user)
     479                switch ( $activities_template->activity->component ) {
     480                        case $bp->groups->id :
     481                                $object = 'group';
     482                                $item_id = $activities_template->activity->item_id;
     483                                break;
     484                        case $bp->blogs->id :
     485                                $object = 'blog';
     486                                $item_id = $activities_template->activity->item_id;
     487                                break;
     488                        default :
     489                                $object  = 'user';
     490                                $item_id = $activities_template->activity->user_id;
     491                                break;
     492                }
     493
     494                // Allow object and item_id to be filtered
     495                $object  = apply_filters( 'bp_get_activity_secondary_avatar_object_' . $activities_template->activity->component, $object );
     496                $item_id = apply_filters( 'bp_get_activity_secondary_avatar_item_id', $item_id );
     497
     498                // Used for any user to user activity
     499                if ( 'user' == $object && empty( $email ) )
     500                        $email = $activities_template->activity->user_email;
     501
     502                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 ) ) );
    434503        }
    435504
Note: See TracChangeset for help on using the changeset viewer.