public static function parseCredit(FileCreditModel $objModel, array $arrPids = array(), $objModule) { global $objPage; $objTemplate = new \FrontendTemplate(!$objModule->creditsGroupBy ? 'filecredit_default' : 'filecredit_grouped'); // skip if no files model exists if (($objFilesModel = $objModel->getRelated('uuid')) === null) { return null; } // cleanup: remove credits where copyright was deleted if ($objFilesModel->copyright == '') { FileCreditPageModel::deleteByPid($objModel->id); $objModel->delete(); return null; } // skip if credit occurs on no page if (($objCreditPages = FileCreditPageModel::findPublishedByPids(array($objModel->id))) === null) { return null; } while ($objCreditPages->next()) { $arrCredit = $objCreditPages->row(); // not a child of current root page if (!empty($arrPids) && !in_array($arrCredit['page'], $arrPids)) { continue; } if ($arrCredit['url'] == '' && ($objTarget = \PageModel::findByPk($arrCredit['page'])) !== null) { $arrCredit['url'] = \Controller::generateFrontendUrl($objTarget->row()); } $arrPages[] = $arrCredit; } if ($arrPages === null) { return null; } $objTemplate->setData($objModel->row()); $objTemplate->fileData = $objFilesModel->row(); static::addCopyrightToTemplate($objTemplate, $objFilesModel, $objModule); $objTemplate->link = $GLOBALS['TL_LANG']['MSC']['creditLinkText']; $objTemplate->pagesLabel = $GLOBALS['TL_LANG']['MSC']['creditPagesLabel']; $objTemplate->path = $objFilesModel->path; $objTemplate->pages = $arrPages; $objTemplate->pageCount = count($arrPages); // colorbox support if ($objPage->outputFormat == 'xhtml') { $strLightboxId = 'lightbox'; } else { $strLightboxId = 'lightbox[' . substr(md5($objTemplate->getName() . '_' . $objFilesModel->id), 0, 6) . ']'; } $objTemplate->attribute = $strLightboxId ? ($objPage->outputFormat == 'html5' ? ' data-gallery="#gallery-' . $objModule->id . '" data-lightbox="' : ' rel="') . $strLightboxId . '"' : ''; $objTemplate->addImage = false; // Add an image if (!is_file(TL_ROOT . '/' . $objModel->path)) { $arrData = array('singleSRC' => $objFilesModel->path, 'doNotIndex' => true); $size = deserialize($objModule->imgSize); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrData['size'] = $objModule->imgSize; } \Controller::addImageToTemplate($objTemplate, $arrData); } return array('pages' => $arrPages, 'order' => static::getSortValue($objModule->creditsSortBy, $objTemplate), 'group' => static::getGroupValue($objModule->creditsGroupBy, $objTemplate), 'output' => $objTemplate->parse()); }
protected function parseMember($objMember) { global $objPage; $objT = new \FrontendTemplate('memberlist_default'); $objT->setData($objMember->row()); $strUrl = $this->generateMemberUrl($objMember); $objT->addImage = false; // Add an image if ($objMember->addImage && $objMember->singleSRC != '') { $objModel = \FilesModel::findByUuid($objMember->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($objMember->singleSRC)) { $objMember->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303) $arrMember = $objMember->row(); // Override the default image size if ($this->size != '') { $size = deserialize($this->size); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrMember['size'] = $this->size; } } $arrMember['singleSRC'] = $objModel->path; \Controller::addImageToTemplate($objT, $arrMember); } } $arrTitle = array($objMember->academicTitle, $objMember->firstname, $objMember->lastname); $objT->titleCombined = empty($arrTitle) ? '' : implode(' ', $arrTitle); $arrLocation = array($objMember->postal, $objMember->city); $objT->locationCombined = empty($arrLocation) ? '' : implode(' ', $arrLocation); $objT->websiteLink = $objMember->website; $objT->websiteTitle = $GLOBALS['TL_LANG']['MSC']['memberlist']['websiteTitle']; // Add http:// to the website if ($objMember->website != '' && !preg_match('@^(https?://|ftp://|mailto:|#)@i', $objMember->website)) { $objT->websiteLink = 'http://' . $objMember->website; } if ($this->mlSource == 'external') { // Encode e-mail addresses if (substr($this->mlUrl, 0, 7) == 'mailto:') { $strUrl = \String::encodeEmail($this->mlUrl); } else { $strUrl = ampersand($this->mlUrl); } } $objT->link = $strUrl; $objT->linkTarget = $this->mlTarget ? $objPage->outputFormat == 'xhtml' ? ' onclick="return !window.open(this.href)"' : ' target="_blank"' : ''; $objT->linkTitle = specialchars(sprintf($GLOBALS['TL_LANG']['MSC']['openMember'], $objT->titleCombined)); return $objT->parse(); }
public function compile() { if ($this->personID > 0) { $objPerson = \PersonModel::findByPk($this->personID); $arrSize = deserialize($this->size); if ($objPerson) { $arrData = $this->getArrayOfPerson($objPerson, $arrSize); foreach ($arrData as $strName => $strValue) { $this->Template->{$strName} = $strValue; } \Controller::addImageToTemplate($this->Template, $arrData); } } }
/** * Generate the module */ protected function compile() { $objPeople = \PersonModel::findBy('pid', $this->person_archiv, array('order' => 'sorting ASC')); $arrSize = deserialize($this->imgSize); if ($objPeople) { $strHTML = ''; while ($objPeople->next()) { $objTemplate = new \FrontendTemplate($this->personTpl); $arrData = $this->getArrayOfPerson($objPeople, $arrSize); foreach ($arrData as $strName => $strValue) { $objTemplate->{$strName} = $strValue; } \Controller::addImageToTemplate($objTemplate, $arrData); $strHTML .= $objTemplate->parse(); } } $this->Template->strPeople = $strHTML; }
protected function addPreviewImageToTemplate($objTemplate) { $singleSRC = ''; if ($this->posterSRC != '') { $objModel = \FilesModel::findByUuid($this->posterSRC); if ($objModel !== null) { $singleSRC = $objModel->path; } } // add youtube thumbnail if ($singleSRC == '') { $singleSRC = static::getCachedYouTubePreviewImage(); } if (file_exists(TL_ROOT . '/' . $singleSRC)) { $arrImage['singleSRC'] = $singleSRC; $arrImage['alt'] = 'youtube-image-' . $this->youtube; if ($this->getConfigData('imgSize') != '' || $this->getConfigData('size')) { $size = deserialize($this->getConfigData('imgSize') ? $this->getConfigData('imgSize') : $this->getConfigData('size')); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrImage['size'] = $size; } } \Controller::addImageToTemplate($objTemplate, $arrImage); } }
protected function compile() { $this->Template->size = ''; // Set the size if ($this->playerSize != '') { $size = deserialize($this->playerSize); if (is_array($size)) { $this->Template->size = ' width="' . $size[0] . '" height="' . $size[1] . '"'; } } $this->Template->poster = false; // Optional poster if ($this->posterSRC != '') { if (($objFile = \FilesModel::findByUuid($this->posterSRC)) !== null) { $this->Template->poster = $objFile->path; } } // Pre-sort the array by preference if (in_array($this->objFiles->extension, array('mp4', 'm4v', 'mov', 'wmv', 'webm', 'ogv'))) { $this->Template->isVideo = true; $arrFiles = array('mp4' => null, 'm4v' => null, 'mov' => null, 'wmv' => null, 'webm' => null, 'ogv' => null); } else { $this->Template->isVideo = false; $arrFiles = array('m4a' => null, 'mp3' => null, 'wma' => null, 'mpeg' => null, 'wav' => null, 'ogg' => null); } switch ($this->playerType) { case 'playerSRC': $arrFiles = $this->getPlayerSRCList($arrFiles); break; case 'playerUrl': $arrFiles = $this->getPlayerUrlList($arrFiles); break; } $this->Template->files = array_values(array_filter($arrFiles)); $this->Template->autoplay = $this->autoplay; $singleSRC = ''; if ($this->media_posterSRC) { $objModel = \FilesModel::findByUuid($this->media_posterSRC); if ($objModel !== null) { $singleSRC = $objModel->path; } } if ($this->posterSRC != '') { $objModel = \FilesModel::findByUuid($this->posterSRC); if ($objModel !== null) { $singleSRC = $objModel->path; } } if (file_exists(TL_ROOT . '/' . $singleSRC)) { $arrImage['singleSRC'] = $singleSRC; $arrImage['alt'] = 'media-image'; if ($this->imgSize != '' || $this->size) { $size = deserialize($this->imgSize ? $this->imgSize : $this->size); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrImage['size'] = $this->imgSize; } } \Controller::addImageToTemplate($this->Template, $arrImage); } }
/** * Add an image to a template. * * @param AddImageToTemplateEvent $event The event. * * @return void */ public function handleAddImageToTemplate(AddImageToTemplateEvent $event) { \Controller::addImageToTemplate($event->getTemplate(), $event->getImageData(), $event->getMaxWidth(), $event->getLightboxId()); }
protected function addMemberImageToTemplate($objTemplate, $objMember) { // Add an image if ($objMember->addImage && $objMember->singleSRC != '') { $objModel = \FilesModel::findByUuid($objMember->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($objMember->singleSRC)) { $objMember->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303) $arrMember = $objMember->row(); if ($this->objModel instanceof \ModuleModel) { $this->size = $this->mlImgSize != '' ? $this->mlImgSize : $this->imgSize; // tl_module = imgSize, tl_content = size } // Override the default image size if ($this->size != '') { $size = deserialize($this->size); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrMember['size'] = $this->size; } } $arrMember['singleSRC'] = $objModel->path; \Controller::addImageToTemplate($objTemplate, $arrMember); } } else { if (!$this->mlDisableDummyImages) { $strDummyImage = null; switch ($objMember->gender) { case 'female': $strDummyImage = $this->strDummyFemaleImageSRC; break; case 'male': $strDummyImage = $this->strDummyMaleImageSRC; break; } if ($this->mlAddCustomDummyImages) { switch ($objMember->gender) { case 'female': $strDummyImage = $this->mlDummyImageFemale; break; case 'male': $strDummyImage = $this->mlDummyImageMale; break; } $objModel = \FilesModel::findByUuid($strDummyImage); if ($objModel === null) { if (!\Validator::isUuid($strDummyImage)) { $objMember->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } else { $strDummyImage = $objModel->path; } } if (is_file(TL_ROOT . '/' . $strDummyImage)) { // Do not override the field now that we have a model registry (see #6303) $arrMember = $objMember->row(); if ($this->objModel instanceof \ModuleModel) { $this->size = $this->mlImgSize != '' ? $this->mlImgSize : $this->imgSize; // tl_module = imgSize, tl_content = size } // Override the default image size if ($this->size != '') { $size = deserialize($this->size); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrMember['size'] = $this->size; } } $arrMember['singleSRC'] = $strDummyImage; \Controller::addImageToTemplate($objTemplate, $arrMember); } } } }