I was having problems showing the Buddypress avatars in Cometchat after upgrading to version 3.0 of WordPress. Instead of showing the Buddypress avatars, Cometchat was showing a Gravatar.
Looks like the problem is that WordPress 3.0 has a different directory structure and Cometchat can’t locate the files anymore.
To solve this I had to change the getAvatar function in cometchat/config.php file:
function getAvatar($data) { $data = explode('|',$data); $id = $data[0]; $blog = 1; if (is_dir((dirname(dirname(__FILE__)).'/wp-content/blogs.dir/' . $blog . '/files/avatars/' . $id))) { $files = ""; if ($handle = opendir(dirname(dirname(__FILE__)).'/wp-content/blogs.dir/' . $blog . '/files/avatars/' . $id)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if(substr($file, -11, 7) == "bpthumb" ) { $files .= $file; } } } closedir($handle); } if (file_exists((dirname(dirname(__FILE__)).'/wp-content/blogs.dir/' . $blog . '/files/avatars/' . $id . '/' . $files))) { return '/files/avatars/' . $id . '/' . $files; } } return 'http://www.gravatar.com/avatar/'.md5($data[1]).'?d=wavatar&s=80'; }
The $blog should be the id of your blog/site showing Cometchat. If you have multiple sites in a single WordPress installation showing Cometchat, you may need to make some changes here to make this variable dynamic.