<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[BuddyPress] [1685] trunk/bp-core/bp-core-avatars.php:
Added option to return false on no avatar found, rather than a grav.</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd>1685</dd>
<dt>Author</dt> <dd>apeatling</dd>
<dt>Date</dt> <dd>2009-08-24 19:58:45 +0000 (Mon, 24 Aug 2009)</dd>
</dl>
<h3>Log Message</h3>
<pre>Added option to return false on no avatar found, rather than a grav. Use in the filtering of get_avatar().</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkbpcorebpcoreavatarsphp">trunk/bp-core/bp-core-avatars.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkbpcorebpcoreavatarsphp"></a>
<div class="modfile"><h4>Modified: trunk/bp-core/bp-core-avatars.php (1684 => 1685)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/bp-core/bp-core-avatars.php        2009-08-24 18:37:42 UTC (rev 1684)
+++ trunk/bp-core/bp-core-avatars.php        2009-08-24 19:58:45 UTC (rev 1685)
</span><span class="lines">@@ -43,8 +43,9 @@
</span><span class="cx">                 'width' => false,
</span><span class="cx">                 'height' => false,
</span><span class="cx">                 'class' => 'avatar',
</span><del>-                'id' => false,
</del><ins>+                'css_id' => false,
</ins><span class="cx">                 'alt' => __( 'Avatar Image', 'buddypress' ),
</span><ins>+                'no_grav' => false // If there is no avatar found, return false instead of a grav?
</ins><span class="cx">         );
</span><span class="cx">
</span><span class="cx">         $r = wp_parse_args( $args, $defaults );
</span><span class="lines">@@ -61,8 +62,8 @@
</span><span class="cx">                 $item_id = apply_filters( 'bp_core_avatar_item_id', $item_id, $object );
</span><span class="cx">         }
</span><span class="cx">         
</span><del>-        if ( !$id )
-                $id = $object . '-' . $item_id . '-avatar';
</del><ins>+        if ( !$css_id )
+                $css_id = $object . '-' . $item_id . '-avatar';
</ins><span class="cx">         
</span><span class="cx">         if ( $width )
</span><span class="cx">                 $html_width = " width='{$width}'";
</span><span class="lines">@@ -74,7 +75,7 @@
</span><span class="cx">         $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', WP_CONTENT_DIR . '/blogs.dir/' . BP_ROOT_BLOG . '/files/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir );        
</span><span class="cx">
</span><span class="cx">         /* If no avatars have been uploaded for this item, display a gravatar */        
</span><del>-        if ( !file_exists( $avatar_folder_dir ) ) {
</del><ins>+        if ( !file_exists( $avatar_folder_dir ) && !$no_grav ) {
</ins><span class="cx">                 
</span><span class="cx">                 if ( empty( $bp->grav_default->{$object} ) )
</span><span class="cx">                         $default_grav = 'wavatar';
</span><span class="lines">@@ -97,10 +98,10 @@
</span><span class="cx">                 $grav_email = apply_filters( 'bp_core_gravatar_email', $grav_email, $item_id, $object );        
</span><span class="cx">                 $gravatar = apply_filters( 'bp_gravatar_url', 'http://www.gravatar.com/avatar/' ) . md5( $grav_email ) . '?d=' . $default_grav . '&amp;s=' . $grav_size;
</span><span class="cx">                 
</span><del>-                return apply_filters( 'bp_core_fetch_avatar', "<img src='{$gravatar}' alt='{$alt}' id='{$class}' class='{$class}'{$html_width}{$html_height} />", $item_id, $object, $height, $width, $class, $alt );
</del><ins>+                return apply_filters( 'bp_core_fetch_avatar', "<img src='{$gravatar}' alt='{$alt}' id='{$css_id}' class='{$class}'{$html_width}{$html_height} />", $r );
+        } else
+                return false;
</ins><span class="cx">         
</span><del>-        }
-        
</del><span class="cx">         /* Set the file names to search for to select the full size or thumbnail image. */
</span><span class="cx">         $avatar_name = ( 'full' == $type ) ? '-bpfull' : '-bpthumb';        
</span><span class="cx">         
</span><span class="lines">@@ -285,7 +286,7 @@
</span><span class="cx">         if ( is_object ( $id_or_email ) )
</span><span class="cx">                 $id_or_email = $id_or_email->user_id;
</span><span class="cx">         
</span><del>-        $bp_avatar = bp_core_fetch_avatar( array( 'item_id' => $id_or_email, 'width' => $size, 'height' => $size, 'alt' => $alt ) );
</del><ins>+        $bp_avatar = bp_core_fetch_avatar( array( 'no_grav' => true, 'item_id' => $id_or_email, 'width' => $size, 'height' => $size, 'alt' => $alt ) );
</ins><span class="cx">
</span><span class="cx">         return ( !$bp_avatar ) ? $avatar : $bp_avatar;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>