function run() { //get a page history ? $oPage = null; $oPageGroup = null; $oPageGroup = $this->getPageGroupForHistory(); if (!$oPageGroup) { // did we requested a page history? $oPage = $this->getPageForHistory(); } //page title if ($oPage) { $sTitle = $this->t_("history_t", array("pagename" => $oPage->getName())); } else { if ($oPageGroup) { $sTitle = $this->t_("history_pagegroup_t", array("pagegroupid" => $oPageGroup->getId())); } else { $sTitle = $this->t_("title"); } } $this->setTitle($sTitle); //filter change types $amAllChangeTypes = AnwChange::getChangeTypes(); $amDisplayChangeTypes = array(); foreach ($amAllChangeTypes as $mChangeType) { if (AnwEnv::_GET("ct_" . $mChangeType)) { $amDisplayChangeTypes[] = $mChangeType; } } if (count($amDisplayChangeTypes) == 0) { $amDisplayChangeTypes = $amAllChangeTypes; if (!$oPage) { $amDisplayChangeTypes = AnwUtils::array_remove($amDisplayChangeTypes, AnwChange::TYPE_PAGE_EDITION_DEPLOY); $amDisplayChangeTypes = AnwUtils::array_remove($amDisplayChangeTypes, AnwChange::TYPE_PAGE_UPDATELINKS); } } //initialize filters list($asAllLangs, $asDisplayLangs) = $this->filterLangs(array("view"), true); list($asAllClasses, $asDisplayClasses) = $this->filterContentClasses(); $nDefaultDisplayModeGrouped = 1; //disable filters if a page is selected if ($oPage || $oPageGroup) { $asDisplayLangs = $asAllLangs; $asDisplayClasses = $asAllClasses; $nDefaultDisplayModeGrouped = 0; //show in detailled mode by default } //display mode $bGrouped = AnwEnv::_GET("fg", $nDefaultDisplayModeGrouped); //limit $nLimit = $this->cfg(self::CFG_LIMIT); if ($bGrouped) { $nLimit *= 2; } //TODO $nStart = (int) AnwEnv::_GET("s", 0); $nStartPrev = $nStart - $nLimit; $nStartNext = $nStart + $nLimit; //get last changes $aoChanges = AnwStorage::getLastChanges($nLimit, $nStart, $asDisplayLangs, $asDisplayClasses, $amDisplayChangeTypes, $oPage, $oPageGroup); if ($bGrouped) { $aoChanges = AnwSimilarChanges::groupSimilarChanges($aoChanges); } //check permissions foreach ($aoChanges as $i => $oChange) { if ($oChange->getPage() && !$oChange->getPage()->isActionAllowed("view") || !AnwCurrentSession::isActionAllowed($oChange->getPageName(), "view", $oChange->getPageLang())) { unset($aoChanges[$i]); } } if (AnwEnv::_GET("feed")) { $this->showFeed($aoChanges); } else { $this->showHtml($aoChanges, $amAllChangeTypes, $amDisplayChangeTypes, $asAllLangs, $asDisplayLangs, $asAllClasses, $asDisplayClasses, $nStartPrev, $nStartNext, $sTitle, $bGrouped, $oPage, $oPageGroup); } }