Example #1
0
 /**
  * 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;
 }