Example #1
0
 /**
  * getPageSimilarPageLinks
  * @return string $strReturn
  * @author Cornelius Hansjakob <*****@*****.**>
  * @version 1.0
  */
 public function getPageSimilarPageLinks($intNumber = 5, $strContainerClass = 'links', $strItemClass = 'item')
 {
     $strReturn = '';
     $strQuery = '';
     $objPageTags = $this->objPage->getTagsValues('page_tags');
     if (count($objPageTags) > 0) {
         foreach ($objPageTags as $objTag) {
             $strQuery .= 'page_tags:"' . $objTag->title . '" OR ';
         }
     }
     $objPageCategories = $this->objPage->getCategoriesValues('category');
     if (count($objPageCategories) > 0) {
         foreach ($objPageCategories as $objCategory) {
             $strQuery .= 'category:"' . $objCategory->title . '" OR ';
         }
     }
     $strQuery = rtrim($strQuery, ' OR ');
     if ($strQuery != '' && count(scandir(GLOBAL_ROOT_PATH . $this->core->sysConfig->path->search_index->page)) > 2) {
         Zend_Search_Lucene::setResultSetLimit($intNumber);
         $objIndex = Zend_Search_Lucene::open(GLOBAL_ROOT_PATH . $this->core->sysConfig->path->search_index->page);
         $objHits = $objIndex->find($strQuery);
         if (count($objHits) > 0) {
             $strReturn .= '
               <div class="' . $strContainerClass . '">
                 <h3>' . $this->objTranslate->_('Similar_pages') . '</h3>';
             $counter = 1;
             foreach ($objHits as $objHit) {
                 if ($objHit->key != $this->objPage->getPageId()) {
                     $objDoc = $objHit->getDocument();
                     $arrDocFields = $objDoc->getFieldNames();
                     if (array_search('url', $arrDocFields) && array_search('title', $arrDocFields) && array_search('date', $arrDocFields)) {
                         $strReturn .= '
                   <div class="item">
                     <a href="' . $objHit->url . '">' . htmlentities($objHit->title, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '</a><br/>
                     <span>' . $this->objTranslate->_('Created_at') . '</span> <span class="black">' . $objHit->date . '</span>
                   </div>';
                     }
                 }
             }
             $strReturn .= '
                 <div class="clear"></div>
               </div>';
         }
     }
     return $strReturn;
 }