<?php /* * This file is part of Oveleon ContaoMemberExtension Bundle. * * (c) https://www.oveleon.de/ */ namespace Oveleon\ContaoMemberExtensionBundle; use Patchwork\Utf8; /** * Class ModuleAvatar * * @author Fabian Ekert <fabian@oveleon.de> */ class ModuleAvatar extends \Module { /** * Template * @var string */ protected $strTemplate = 'member_avatar'; /** * Return a wildcard in the back end * * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD']['avatar'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } // Return if user is not logged in if (!FE_USER_LOGGED_IN) { return ''; } if ($this->memberTpl != '') { $this->strTemplate = $this->memberTpl; } return parent::generate(); } /** * Generate the module */ protected function compile() { $this->size = $this->imgSize; $this->import('FrontendUser', 'User'); if ($this->User->avatar == '' && \Config::get('defaultAvatar') == '') { return ''; } if ($this->User->avatar == '') { $objFile = \FilesModel::findByUuid(\Config::get('defaultAvatar')); if ($objFile === null || !is_file(TL_ROOT . '/' . $objFile->path)) { return ''; } $this->singleSRC = $objFile->path; $this->addImageToTemplate($this->Template, $this->arrData); return; } $objFile = \FilesModel::findByUuid($this->User->avatar); if ($objFile === null || !is_file(TL_ROOT . '/' . $objFile->path)) { $this->singleSRC = \FilesModel::findByUuid(\Config::get('defaultAvatar'))->path; $this->addImageToTemplate($this->Template, $this->arrData); return; } $this->singleSRC = $objFile->path; $this->addImageToTemplate($this->Template, $this->arrData, null, null, $objFile); } }