Skip to:
Content

BuddyPress.org

Ticket #2606: 2606-3.patch

File 2606-3.patch, 17.7 KB (added by DJPaul, 14 years ago)
  • bp-core/bp-core-templatetags.php

     
    311311                        'height' => false,
    312312                        'class' => 'avatar',
    313313                        'id' => false,
    314                         'alt' => __( 'Member avatar', 'buddypress' )
     314                        'alt' => __( 'Picture of %s', 'buddypress' )
    315315                );
    316316
    317317                $r = wp_parse_args( $args, $defaults );
     
    686686                        'type'          => 'thumb',
    687687                        'width'         => false,
    688688                        'height'        => false,
    689                         'html'          => true
     689                        'html'          => true,
     690                        'alt' => __( 'Picture of %s', 'buddypress' )
    690691                );
    691692
    692693                $r = wp_parse_args( $args, $defaults );
    693694                extract( $r, EXTR_SKIP );
    694695
    695                 return apply_filters( 'bp_get_loggedin_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->loggedin_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html ) ) );
     696                return apply_filters( 'bp_get_loggedin_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->loggedin_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html, 'alt' => $alt ) ) );
    696697        }
    697698
    698699function bp_displayed_user_avatar( $args = '' ) {
     
    705706                        'type'          => 'thumb',
    706707                        'width'         => false,
    707708                        'height'        => false,
    708                         'html'          => true
     709                        'html'          => true,
     710                        'alt' => __( 'Picture of %s', 'buddypress' )
    709711                );
    710712
    711713                $r = wp_parse_args( $args, $defaults );
    712714                extract( $r, EXTR_SKIP );
    713715
    714                 return apply_filters( 'bp_get_displayed_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->displayed_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html ) ) );
     716                return apply_filters( 'bp_get_displayed_user_avatar', bp_core_fetch_avatar( array( 'item_id' => $bp->displayed_user->id, 'type' => $type, 'width' => $width, 'height' => $height, 'html' => $html, 'alt' => $alt ) ) );
    715717        }
    716718
    717719function bp_avatar_admin_step() {
  • bp-core/bp-core-avatars.php

     
    5252 * Fetches an avatar from a BuddyPress object. Supports user/group/blog as
    5353 * default, but can be extended to include your own custom components too.
    5454 *
    55  * @global object $bp
    56  * @global object $current_blog
     55 * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
     56 * @global $current_blog WordPress global containing information and settings for the current blog being viewed.
     57 * @global $groups_template Groups template loop object
     58 * @global $members_template Members/Group Members template loop object
    5759 * @param array $args Determine the output of this function
    5860 * @return string Formatted HTML <img> element, or raw avatar URL based on $html arg
    5961 */
    6062function bp_core_fetch_avatar( $args = '' ) {
    61         global $bp, $current_blog;
     63        global $bp, $current_blog, $groups_template, $members_template;
    6264
    6365        // Set a few default variables
    6466        $def_object             = 'user';
     
    7981                'alt'                   => $def_alt,    // Custom <img> alt (string)
    8082                'email'                 => false,               // Pass the user email (for gravatar) to prevent querying the DB for it
    8183                'no_grav'               => false,               // If there is no avatar found, return false instead of a grav?
    82                 'html'                  => true                 // Wrap the return img URL in <img />
     84                'html'                  => true,                // Wrap the return img URL in <img />
     85                'title'                 => ''                   // Custom <img> title (string)
    8386        );
    8487
    8588        // Compare defaults to passed and extract
     
    117120        // Add an identifying class to each item
    118121        $class .= ' ' . $object . '-' . $item_id . '-avatar';
    119122
     123        // Set alt tag
     124        $item_name = '';
     125
     126        if ( 'user' == $object ) {
     127                if ( $members_template )
     128                        $item_name = bp_get_member_name();
     129                else
     130                        $item_name = bp_core_get_user_displayname( $item_id );
     131
     132        } elseif ( 'group' == $object && $groups_template ) {
     133                $item_name = bp_get_group_name();
     134        } elseif ( 'blog' == $object ) {
     135                $item_name = get_blog_option( $item_id, 'blogname' );
     136        }
     137
     138        $alt = sprintf( $alt, apply_filters( 'bp_core_avatar_alt', $item_name, $item_id, $object ) );
     139
     140        // Set title tag
     141        if ( $title )
     142                $title = " title='" . apply_filters( 'bp_core_avatar_title', $title, $item_id, $object ) . "'";
     143        elseif ( $item_name )
     144                $title = " title='" . apply_filters( 'bp_core_avatar_title', $item_name, $item_id, $object ) . "'";
     145
    120146        // Set CSS ID if passed
    121147        if ( !empty( $css_id ) )
    122148                $css_id = " id='{$css_id}'";
     
    195221
    196222                        // Return it wrapped in an <img> element
    197223                        if ( true === $html ) {
    198                                 return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $avatar_url . '" alt="' . $alt . '" class="' . $class . '"' . $css_id . $html_width . $html_height . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
     224                                return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $avatar_url . '" alt="' . $alt . '" class="' . $class . '"' . $css_id . $html_width . $html_height . $title . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
    199225
    200226                        // ...or only the URL
    201227                        } else {
     
    246272
    247273                // Return gravatar wrapped in <img />
    248274                if ( true === $html )
    249                         return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $gravatar . '" alt="' . $alt . '" class="' . $class . '"' . $css_id . $html_width . $html_height . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
     275                        return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $gravatar . '" alt="' . $alt . '" class="' . $class . '"' . $css_id . $html_width . $html_height . $title . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
    250276
    251277                // ...or only return the gravatar URL
    252278                else
     
    499525        if ( empty( $id ) )
    500526                return !empty( $avatar ) ? $avatar : $default;
    501527
     528        if ( !$alt )
     529                $alt = __( 'Picture of %s', 'buddypress' );
     530
    502531        // Let BuddyPress handle the fetching of the avatar
    503532        $bp_avatar = bp_core_fetch_avatar( array( 'item_id' => $id, 'width' => $size, 'height' => $size, 'alt' => $alt ) );
    504533
  • bp-activity/bp-activity-templatetags.php

     
    422422                        'width'  => 20,
    423423                        'height' => 20,
    424424                        'class'  => 'avatar',
    425                         'alt'    => __( 'Avatar', 'buddypress' ),
     425                        'alt'    => __( 'Picture of %s', 'buddypress' ),
    426426                        'email'  => false
    427427                );
    428428
     
    468468                        'width'  => 20,
    469469                        'height' => 20,
    470470                        'class'  => 'avatar',
    471                         'alt'    => __( 'Avatar', 'buddypress' ),
    472471                        'email'  => false
    473472                );
    474473
     
    480479                        case 'groups' :
    481480                                $object = 'group';
    482481                                $item_id = $activities_template->activity->item_id;
     482
     483                                if ( !$alt )
     484                                        $alt = __( 'Group avatar', 'buddypress' );
     485
    483486                                break;
    484487                        case 'blogs' :
    485488                                $object = 'blog';
    486489                                $item_id = $activities_template->activity->item_id;
     490
     491                                if ( !$alt )
     492                                        $alt = sprintf( __( 'Blog avatar of %s', 'buddypress' ), get_blog_option( $item_id, 'blogname' ) );
     493
    487494                                break;
    488495                        case 'friends' :
    489496                                $object  = 'user';
    490497                                $item_id = $activities_template->activity->secondary_item_id;
     498
     499                                if ( !$alt )
     500                                        $alt = __( 'Picture of %s', 'buddypress' );
     501
    491502                                break;
    492503                        default :
    493504                                $object  = 'user';
    494505                                $item_id = $activities_template->activity->user_id;
    495506                                $email = $activities_template->activity->user_email;
     507
     508                                if ( !$alt )
     509                                        $alt = __( 'Picture of %s', 'buddypress' );
     510
    496511                                break;
    497512                }
    498513
  • bp-blogs/bp-blogs-templatetags.php

     
    192192                        'height' => false,
    193193                        'class' => 'avatar',
    194194                        'id' => false,
    195                         'alt' => __( 'Blog avatar', 'buddypress' ),
     195                        'alt' => __( 'Blog authored by %s', 'buddypress' ),
    196196                        'no_grav' => true
    197197                );
    198198
  • bp-forums/bp-forums-templatetags.php

     
    278278                        'type' => 'thumb',
    279279                        'width' => false,
    280280                        'height' => false,
     281                        'alt' => __( 'Picture of %s', 'buddypress' )
    281282                );
    282283
    283284                $r = wp_parse_args( $args, $defaults );
    284285                extract( $r, EXTR_SKIP );
    285286
    286                 return apply_filters( 'bp_get_the_topic_poster_avatar', bp_core_fetch_avatar( array( 'item_id' => $forum_template->topic->topic_poster, 'type' => $type, 'width' => $width, 'height' => $height ) ) );
     287                return apply_filters( 'bp_get_the_topic_poster_avatar', bp_core_fetch_avatar( array( 'item_id' => $forum_template->topic->topic_poster, 'type' => $type, 'width' => $width, 'height' => $height, 'alt' => $alt ) ) );
    287288        }
    288289
    289290function bp_the_topic_poster_name() {
     
    359360                        'type' => 'thumb',
    360361                        'width' => false,
    361362                        'height' => false,
     363                        'alt' => __( 'Avatar for %s', 'buddypress' )
    362364                );
    363365
    364366                $r = wp_parse_args( $args, $defaults );
    365367                extract( $r, EXTR_SKIP );
    366368
    367                 return apply_filters( 'bp_get_the_topic_object_avatar', bp_core_fetch_avatar( array( 'item_id' => $forum_template->topic->object_id, 'type' => $type, 'object' => 'group', 'width' => $width, 'height' => $height ) ) );
     369                return apply_filters( 'bp_get_the_topic_object_avatar', bp_core_fetch_avatar( array( 'item_id' => $forum_template->topic->object_id, 'type' => $type, 'object' => 'group', 'width' => $width, 'height' => $height, 'alt' => $alt ) ) );
    368370        }
    369371
    370372function bp_the_topic_last_poster_avatar( $args = '' ) {
     
    377379                        'type' => 'thumb',
    378380                        'width' => false,
    379381                        'height' => false,
     382                        'alt' => __( 'Picture of %s', 'buddypress' )
    380383                );
    381384
    382385                $r = wp_parse_args( $args, $defaults );
    383386                extract( $r, EXTR_SKIP );
    384387
    385                 return apply_filters( 'bp_get_the_topic_last_poster_avatar', bp_core_fetch_avatar( array( 'email' => $forum_template->topic->topic_last_poster_email, 'item_id' => $forum_template->topic->topic_last_poster, 'type' => $type, 'width' => $width, 'height' => $height ) ) );
     388                return apply_filters( 'bp_get_the_topic_last_poster_avatar', bp_core_fetch_avatar( array( 'email' => $forum_template->topic->topic_last_poster_email, 'item_id' => $forum_template->topic->topic_last_poster, 'type' => $type, 'width' => $width, 'height' => $height, 'alt' => $alt ) ) );
    386389        }
    387390
    388391function bp_the_topic_start_time() {
     
    892895                        'type' => 'thumb',
    893896                        'width' => 20,
    894897                        'height' => 20,
     898                        'alt' => __( 'Picture of %s', 'buddypress' )
    895899                );
    896900
    897901                $r = wp_parse_args( $args, $defaults );
    898902                extract( $r, EXTR_SKIP );
    899903
    900                 return apply_filters( 'bp_get_the_topic_post_poster_avatar', bp_core_fetch_avatar( array( 'item_id' => $topic_template->post->poster_id, 'type' => $type, 'width' => $width, 'height' => $height ) ) );
     904                return apply_filters( 'bp_get_the_topic_post_poster_avatar', bp_core_fetch_avatar( array( 'item_id' => $topic_template->post->poster_id, 'type' => $type, 'width' => $width, 'height' => $height, 'alt' => $alt ) ) );
    901905        }
    902906
    903907function bp_the_topic_post_poster_name() {
  • bp-groups/bp-groups-templatetags.php

     
    279279                        'height' => false,
    280280                        'class' => 'avatar',
    281281                        'id' => false,
    282                         'alt' => __( 'Group avatar', 'buddypress' )
     282                        'alt' => __( 'Group avatar for %s', 'buddypress' )
    283283                );
    284284
    285285                $r = wp_parse_args( $args, $defaults );
     
    462462                <ul id="group-admins">
    463463                        <?php foreach( (array)$group->admins as $admin ) { ?>
    464464                                <li>
    465                                         <a href="<?php echo bp_core_get_user_domain( $admin->user_id, $admin->user_nicename, $admin->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'email' => $admin->user_email ) ) ?></a>
     465                                        <a href="<?php echo bp_core_get_user_domain( $admin->user_id, $admin->user_nicename, $admin->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'email' => $admin->user_email, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?></a>
    466466                                </li>
    467467                        <?php } ?>
    468468                </ul>
     
    482482                <ul id="group-mods">
    483483                        <?php foreach( (array)$group->mods as $mod ) { ?>
    484484                                <li>
    485                                         <a href="<?php echo bp_core_get_user_domain( $mod->user_id, $mod->user_nicename, $mod->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'email' => $mod->user_email ) ) ?></a>
     485                                        <a href="<?php echo bp_core_get_user_domain( $mod->user_id, $mod->user_nicename, $mod->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'email' => $mod->user_email, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?></a>
    486486                                </li>
    487487                        <?php } ?>
    488488                </ul>
     
    723723                <?php foreach ( (array)$admins as $admin ) { ?>
    724724                        <?php if ( $admin_list ) { ?>
    725725                        <li>
    726                                 <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30 ) ) ?>
     726                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?>
    727727                                <h5><?php echo bp_core_get_userlink( $admin->user_id ) ?>  <span class="small"> &mdash; <a class="confirm" href="<?php bp_group_member_demote_link($admin->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a></span></h5>
    728728                        </li>
    729729                        <?php } else { ?>
    730730                        <li>
    731                                 <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb' ) ) ?>
     731                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb', 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?>
    732732                                <h5><?php echo bp_core_get_userlink( $admin->user_id ) ?></h5>
    733733                                <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $admin->date_modified ), __( 'joined %s ago', 'buddypress') ); ?></span>
    734734
     
    761761                        <?php foreach ( (array)$group_mods as $mod ) { ?>
    762762                                <?php if ( $admin_list ) { ?>
    763763                                <li>
    764                                         <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30 ) ) ?>
     764                                        <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?>
    765765                                        <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?>  <span class="small"> &mdash; <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => $mod->user_id ) ) ?>" class="confirm" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a> | <a class="confirm" href="<?php bp_group_member_demote_link($mod->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a></span></h5>
    766766                                </li>
    767767                                <?php } else { ?>
    768768                                <li>
    769                                         <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb' ) ) ?>
     769                                        <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) ?>
    770770                                        <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?></h5>
    771771                                        <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $mod->date_modified ), __( 'joined %s ago', 'buddypress') ); ?></span>
    772772
     
    13161316        function bp_get_group_member_avatar() {
    13171317                global $members_template;
    13181318
    1319                 return apply_filters( 'bp_get_group_member_avatar', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'full', 'email' => $members_template->member->user_email ) ) );
     1319                return apply_filters( 'bp_get_group_member_avatar', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'full', 'email' => $members_template->member->user_email, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) );
    13201320        }
    13211321
    13221322function bp_group_member_avatar_thumb() {
     
    13251325        function bp_get_group_member_avatar_thumb() {
    13261326                global $members_template;
    13271327
    1328                 return apply_filters( 'bp_get_group_member_avatar_thumb', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'thumb', 'email' => $members_template->member->user_email ) ) );
     1328                return apply_filters( 'bp_get_group_member_avatar_thumb', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'thumb', 'email' => $members_template->member->user_email, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) );
    13291329        }
    13301330
    13311331function bp_group_member_avatar_mini( $width = 30, $height = 30 ) {
     
    13341334        function bp_get_group_member_avatar_mini( $width = 30, $height = 30 ) {
    13351335                global $members_template;
    13361336
    1337                 return apply_filters( 'bp_get_group_member_avatar_mini', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'thumb', 'width' => $width, 'height' => $height, 'email' => $members_template->member->user_email ) ) );
     1337                return apply_filters( 'bp_get_group_member_avatar_mini', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->user_id, 'type' => 'thumb', 'width' => $width, 'height' => $height, 'email' => $members_template->member->user_email, 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) );
    13381338        }
    13391339
    13401340function bp_group_member_name() {
     
    19751975function bp_group_request_user_avatar_thumb() {
    19761976        global $requests_template;
    19771977
    1978         echo apply_filters( 'bp_group_request_user_avatar_thumb', bp_core_fetch_avatar( array( 'item_id' => $requests_template->request->user_id, 'type' => 'thumb' ) ) );
     1978        echo apply_filters( 'bp_group_request_user_avatar_thumb', bp_core_fetch_avatar( array( 'item_id' => $requests_template->request->user_id, 'type' => 'thumb', 'alt' => __( 'Picture of %s', 'buddypress' ) ) ) );
    19791979}
    19801980
    19811981function bp_group_request_reject_link() {