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);
             }
         }
     }
 }