/** * 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; }