/** * @param Lead $lead * * @return mixed */ public function getAvatar(Lead $lead) { $preferred = $lead->getPreferredProfileImage(); $socialData = $lead->getSocialCache(); $leadEmail = $lead->getEmail(); if ($preferred == 'custom') { if ($fmtime = filemtime($this->getAvatarPath(true) . '/avatar' . $lead->getId())) { // Append file modified time to ensure the latest is used by browser $img = $this->factory->getHelper('template.assets')->getUrl($this->getAvatarPath() . '/avatar' . $lead->getId() . '?' . $fmtime, null, null, false, true); } } elseif (isset($socialData[$preferred]) && !empty($socialData[$preferred]['profile']['profileImage'])) { $img = $socialData[$preferred]['profile']['profileImage']; } if (empty($img)) { // Default to gravatar if others failed if (!empty($leadEmail)) { $img = $this->factory->getHelper('template.gravatar')->getImage($leadEmail); } else { $img = $this->getDefaultAvatar(); } } return $img; }
/** * {@inheritDoc} */ public function getPreferredProfileImage() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPreferredProfileImage', array()); return parent::getPreferredProfileImage(); }