Блин, че в функции getAvatar() не так? Не правильно подбирает формат, точнее вообще не подбирает.
$possibleImgFormats = array('png', 'jpg', 'gif');
class Avatar{
public $id;
public $possibleSizes;
public $size;
function __construct($id){
$this->id = $id;
}
public function getAvatar($size = 'original', $linked = TRUE)
{
global $home, $possibleImgFormats;
$this->possibleSizes = array('original', '32x32', '100x100');
if(in_array($size, $this->possibleSizes))
$this->size = $size;
else
$this->size = 'original';
$format = '';
$countFormats = count($possibleImgFormats);
for($i = 0; $i < $countFormats; $i++)
{
if(file_exists($home . '/files/avatars/' . $this->id . '/' . $this->size . '.' . $possibleImgFormats[$i]))
$format = $possibleImgFormats[$i];
}
if(!in_array($format, $possibleImgFormats))
$out = $home . '/images/no_avatar.png';
else
$out = $home . '/files/avatars/' . $this->id . '/' . $this->size . '.' . $format;
$out = '<img src="' . $out . '" alt="Avatar"/>';
if($linked)
$out = '<a href="' . $home . '/id' . $this->id . '">' . $out . '</a>';
return $out;
}
}