Ticket #22354: 22354.fixes-plus-formatting.patch
| File 22354.fixes-plus-formatting.patch, 4.1 KB (added by , 13 years ago) |
|---|
-
wp-includes/pluggable.php
1582 1582 * @return string <img> tag for the user's avatar 1583 1583 */ 1584 1584 function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) { 1585 if ( ! get_option( 'show_avatars') )1585 if ( ! get_option( 'show_avatars' ) ) 1586 1586 return false; 1587 1587 1588 if ( false === $alt )1588 if ( false === $alt ) { 1589 1589 $safe_alt = ''; 1590 else1590 } else { 1591 1591 $safe_alt = esc_attr( $alt ); 1592 } 1592 1593 1593 if ( ! is_numeric($size) )1594 if ( ! is_numeric( $size ) ) 1594 1595 $size = '96'; 1595 1596 1596 1597 $email = ''; 1597 if ( is_numeric( $id_or_email) ) {1598 if ( is_numeric( $id_or_email ) ) { 1598 1599 $id = (int) $id_or_email; 1599 1600 $user = get_userdata($id); 1600 if ( $user ) 1601 if ( $user ) { 1601 1602 $email = $user->user_email; 1602 } elseif ( is_object($id_or_email) ) { 1603 } 1604 } elseif ( is_object( $id_or_email ) ) { 1603 1605 // No avatar for pingbacks or trackbacks 1604 1606 $allowed_comment_types = apply_filters( 'get_avatar_comment_types', array( 'comment' ) ); 1605 1607 if ( ! empty( $id_or_email->comment_type ) && ! in_array( $id_or_email->comment_type, (array) $allowed_comment_types ) ) 1606 1608 return false; 1607 1609 1608 if ( ! empty($id_or_email->user_id) ) {1610 if ( ! empty( $id_or_email->user_id ) ) { 1609 1611 $id = (int) $id_or_email->user_id; 1610 $user = get_userdata( $id);1611 if ( $user) 1612 $user = get_userdata( $id ); 1613 if ( $user) { 1612 1614 $email = $user->user_email; 1613 } elseif ( !empty($id_or_email->comment_author_email) ) { 1615 } 1616 } elseif ( !empty( $id_or_email->comment_author_email ) ) { 1614 1617 $email = $id_or_email->comment_author_email; 1615 1618 } 1616 1619 } else { 1617 1620 $email = $id_or_email; 1618 1621 } 1619 1622 1620 if ( empty( $default) ) {1621 $avatar_default = get_option( 'avatar_default');1622 if ( empty( $avatar_default) )1623 if ( empty( $default ) ) { 1624 $avatar_default = get_option( 'avatar_default' ); 1625 if ( empty( $avatar_default ) ) { 1623 1626 $default = 'mystery'; 1624 else1627 } else { 1625 1628 $default = $avatar_default; 1629 } 1626 1630 } 1627 1631 1628 if ( ! empty($email) )1632 if ( ! empty( $email ) ) 1629 1633 $email_hash = md5( strtolower( trim( $email ) ) ); 1630 1634 1631 1635 if ( is_ssl() ) { 1632 1636 $host = 'https://secure.gravatar.com'; 1633 1637 } else { 1634 if ( ! empty($email) )1638 if ( ! empty( $email ) ) { 1635 1639 $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) ); 1636 else1640 } else { 1637 1641 $host = 'http://0.gravatar.com'; 1642 } 1638 1643 } 1639 1644 1640 if ( 'mystery' == $default ) 1645 if ( 'mystery' == $default ) { 1641 1646 $default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com') 1642 elseif ( 'blank' == $default )1643 $default = includes_url( 'images/blank.gif');1644 elseif ( !empty($email) && 'gravatar_default' == $default )1647 } elseif ( empty( $email ) && 'blank' == $default ) { 1648 $default = includes_url( 'images/blank.gif' ); 1649 } elseif ( ! empty( $email ) && 'gravatar_default' == $default ) { 1645 1650 $default = ''; 1646 elseif ( 'gravatar_default' == $default )1651 } elseif ( 'gravatar_default' == $default ) { 1647 1652 $default = "$host/avatar/?s={$size}"; 1648 elseif ( empty($email) )1653 } elseif ( empty( $email ) ) { 1649 1654 $default = "$host/avatar/?d=$default&s={$size}"; 1650 elseif ( strpos($default, 'http://') === 0 )1655 } elseif ( strpos( $default, 'http://' ) === 0 || strpos( $default, 'https://' ) === 0 ) { 1651 1656 $default = add_query_arg( 's', $size, $default ); 1657 } 1652 1658 1653 if ( ! empty($email) ) {1659 if ( ! empty( $email ) ) { 1654 1660 $out = "$host/avatar/"; 1655 1661 $out .= $email_hash; 1656 1662 $out .= '?s='.$size; 1657 1663 $out .= '&d=' . urlencode( $default ); 1658 1664 1659 $rating = get_option( 'avatar_rating');1660 if ( ! empty( $rating ) )1665 $rating = get_option( 'avatar_rating' ); 1666 if ( ! empty( $rating ) ) { 1661 1667 $out .= "&r={$rating}"; 1668 } 1662 1669 1663 1670 $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; 1664 1671 } else { 1665 1672 $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />"; 1666 1673 } 1667 1674 1668 return apply_filters( 'get_avatar', $avatar, $id_or_email, $size, $default, $alt);1675 return apply_filters( 'get_avatar', $avatar, $id_or_email, $size, $default, $alt ); 1669 1676 } 1670 1677 endif; 1671 1678