public function renderFile()
 {
     //Prerequisites
     Session::getSession()->setLanguage($this->sLanguageId);
     //Clear index
     SearchIndexQuery::create()->filterByLanguageId($this->sLanguageId)->delete();
     //Spider index
     $oRootPage = PagePeer::getRootPage();
     $this->oRootNavigationItem = PageNavigationItem::navigationItemForPage($oRootPage);
     $this->spider($this->oRootNavigationItem);
     //GC
     gc_enable();
     //Update index
     PreviewManager::setTemporaryManager('FrontendManager');
     foreach ($this->aIndexPaths as $aPath) {
         $bIsIndexed = $this->index($aPath);
         set_time_limit(30);
         $this->gc();
         $sMessage = $bIsIndexed ? 'Indexed' : 'Skipped';
         print "{$sMessage} <code>/" . htmlentities(implode('/', $aPath)) . "</code><br>\n";
     }
     PreviewManager::revertTemporaryManager();
 }
Пример #2
0
 public function adminPreview($iObjectId)
 {
     if ($this->sLanguageId === null) {
         $this->sLanguageId = AdminManager::getContentLanguage();
     }
     $oCurrentContentObject = $this->contentObjectById($iObjectId);
     $oCurrentLanguageObject = $oCurrentContentObject->getLanguageObject($this->sLanguageId);
     //Some frontend modules use this
     FrontendManager::$CURRENT_PAGE = $oCurrentContentObject->getPage();
     //Some frontend modules generate links into the current manager – those need to be correct
     PreviewManager::setTemporaryManager();
     $oModuleInstance = $this->backendModuleInstanceByLanguageObject($oCurrentLanguageObject);
     $aResult = array('preview_contents' => $this->getModuleContents($oModuleInstance, false));
     PreviewManager::revertTemporaryManager();
     return $aResult;
 }