/** * getBlockDocuments * @return string $strReturn * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function getBlockDocuments($intRegionId, $blnFileFilterDocs) { $strReturn = ''; $objMyMultiRegion = $this->objPage->getRegion($intRegionId); //47 is the default block document region if ($objMyMultiRegion instanceof GenericElementRegion) { foreach ($objMyMultiRegion->RegionInstanceIds() as $intRegionInstanceId) { $strBlockTitle = htmlentities($objMyMultiRegion->getField('docs_title')->getInstanceValue($intRegionInstanceId), ENT_COMPAT, $this->core->sysConfig->encoding->default); if ($strBlockTitle != '') { $intFilterLanguageId = $this->objPage->FallbackPage() instanceof Page ? $this->objPage->FallbackPage()->getLanguageId() : $this->objPage->getLanguageId(); $objFiles = $blnFileFilterDocs == true ? $this->objPage->getFileFilterFieldValue($objMyMultiRegion->getField('docs')->getInstanceValue($intRegionInstanceId), $intFilterLanguageId) : $this->objPage->getFileFieldValueById($objMyMultiRegion->getField('docs')->getInstanceValue($intRegionInstanceId)); if ($objFiles != '' && count($objFiles) > 0) { $strFiles = ''; $arrDestinationSpecifics = array(); foreach ($objFiles as $objFile) { $strIcon = strpos($objFile->mimeType, 'image') !== false ? 'icon_img.gif' : 'icon_' . $objFile->extension . '.gif'; $strItem = ' <div class="item"> <div class="icon"><img src="' . $this->core->config->domains->static->components . '/website/themes/default/images/icons/' . $strIcon . '" alt="' . $objFile->title . '" title="' . $objFile->title . '"/></div> <div class="text"> <a href="/zoolu-website/media/document/' . $objFile->id . '/' . urlencode(str_replace('.', '-', $objFile->title)) . '" onmousedown="clickTracker(\'/zoolu-website/media/document/' . $objFile->id . '/' . urlencode(str_replace('.', '-', $objFile->title)) . '\');" target="_blank">' . htmlentities($objFile->title == '' && (isset($objFile->alternativTitle) || isset($objFile->fallbackTitle)) ? isset($objFile->alternativTitle) && $objFile->alternativTitle != '' ? $objFile->alternativTitle : $objFile->fallbackTitle : $objFile->title, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</a> </div> <div class="clear"></div> </div>'; if ($objFile->idDestination == 0) { $strFiles .= $strItem; } else { $objTmpEntry = new stdClass(); $objTmpEntry->destinationId = $objFile->idDestination; $objTmpEntry->output = $strItem; $arrDestinationSpecifics[] = $objTmpEntry; } } $strDisplayTitle = $strFiles == '' ? ' style="display:none;"' : ''; $strReturn .= ' <div id="blockDocuments_' . $intRegionInstanceId . '"> <h2 id="blockDocuments_' . $intRegionInstanceId . '_title"' . $strDisplayTitle . '>' . $strBlockTitle . '</h2> <div class="documents" id="blockDocuments_' . $intRegionInstanceId . '_container">' . $strFiles; if (count($arrDestinationSpecifics) > 0) { $strTmpCacheId = str_replace('.', '', uniqid(uniqid(), true)); $this->core->TmpCache()->save($arrDestinationSpecifics, $strTmpCacheId); $strReturn .= ' <div class="loader" id="blockDocuments_' . $intRegionInstanceId . '_addon"> <script type="text/javascript"> new Ajax.Updater(\'blockDocuments_' . $intRegionInstanceId . '_addon\', \'/zoolu-website/content/destination-filter\', { method: \'get\', parameters: { tmpId: \'' . $strTmpCacheId . '\' }, evalScripts: true, onComplete: function() { $(\'blockDocuments_' . $intRegionInstanceId . '_addon\').removeClassName(\'loader\'); if($(\'blockDocuments_' . $intRegionInstanceId . '_addon\').innerHTML.blank() && ' . ($strFiles == '' ? 'true' : 'false') . '){ $(\'blockDocuments_' . $intRegionInstanceId . '\').remove(); }else{ $(\'blockDocuments_' . $intRegionInstanceId . '_title\').show(); } } }); </script> </div>'; } $strReturn .= ' </div> </div>'; } } } } return $strReturn; }