Make WordPress Core


Ignore:
Timestamp:
02/07/2008 06:07:12 AM (17 years ago)
Author:
ryan
Message:

get_avatar(). see #5775

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/pluggable.php

    r6739 r6748  
    11631163endif;
    11641164
     1165if ( !function_exists( 'get_avatar' ) ) :
     1166/**
     1167 * get_avatar() - Get avatar for a user
     1168 *
     1169 * Retrieve the avatar for a user provided a user ID or email address
     1170 *
     1171 * @since 2.5
     1172 * @param int|string $id_or_email A user ID or email address
     1173 * @param int $size Size of the avatar image
     1174 * @param string $default URL to a default image to use if no avatar is available
     1175 * @return string <img> tag for the user's avatar
     1176*/
     1177function get_avatar( $id_or_email, $size = '96', $default = '' ) {
     1178    if ( ! get_option('show_avatars') )
     1179        return false;
     1180
     1181    if ( is_numeric($id_or_email) ) {
     1182        $id = (int) $id_or_email;
     1183        $user = get_userdata($id);
     1184        if ( !$user)
     1185            $email = '';
     1186        else
     1187            $email = $user->user_email;
     1188    } else {
     1189        $email = $id_or_email;
     1190    }
     1191
     1192    $default_sizes = array(16, 32, 48, 96, 128);
     1193    if ( empty($default) ) {
     1194        if ( in_array($size, $default_sizes) )
     1195            $default = trailingslashit(get_bloginfo('wpurl')) . "wp-includes/images/avatar/unknown-$size.jpg";
     1196        else
     1197            $default = trailingslashit(get_bloginfo('wpurl')) . "wp-includes/images/avatar/unknown-96.jpg";
     1198    }
     1199
     1200    if ( !empty($email) ) {
     1201        $default = urlencode( $default );
     1202
     1203        $out = 'http://www.gravatar.com/avatar.php?gravatar_id=';
     1204        $out .= md5( $email );
     1205        $out .= "&amp;size={$size}";
     1206        $out .= "&amp;default={$default}";
     1207
     1208        $rating = get_option('avatar_rating');
     1209        if ( !empty( $rating ) )
     1210            $out .= "&amp;rating={$rating}";
     1211
     1212        $avatar = "<img alt='' src='{$out}' class='avatar avatar-{$size}' height='{$size}' width='{$size}' />";
     1213    } else {
     1214        $avatar = "<img alt='' src='{$default}' />";
     1215    }
     1216
     1217    return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default);
     1218}
     1219endif;
     1220
    11651221if ( !function_exists('wp_setcookie') ) :
    11661222/**
Note: See TracChangeset for help on using the changeset viewer.