public function GetRootPages() { $controllers = new ArrayList(); $pageModels = Page::get()->filter(array("ParentId" => 0, "ID:not" => AllInOneHelper::excludedPageIds())); foreach ($pageModels as $model) { $controllers->push(ModelAsController::controller_for($model)); } return $controllers; }
public function handleRequest(SS_HTTPRequest $request, DataModel $model = null) { $action = $request->param('Action'); $res = parent::handleRequest($request, $model); if (!$action && AllInOneHelper::shouldProcess($request, $res->getStatusCode())) { $request->setUrl(self::get_homepage_link() . '/'); $request->match('$URLSegment//$Action', true); $tmpContoller = Injector::inst()->create("AllInOneModelAsController"); if ($this->session) { $tmpContoller->setSession($this->session); } $res = $tmpContoller->handleRequest($request, $model); } return $res; }
public function handleRequest(SS_HTTPRequest $request, DataModel $model) { $action = $request->param('Action'); $result = parent::handleRequest($request, $model); if (!$action && AllInOneHelper::shouldProcess($request, $result->getStatusCode())) { $realController = $this->getNestedController(); $parentId = intval($realController->ParentID); $currentPageId = intval($realController->ID); if ($parentId === 0 && !AllInOneHelper::isPageIdExluded($currentPageId)) { $jsMin = Director::isDev() ? "" : ".min"; Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery' . $jsMin . '.js'); Requirements::javascript(THIRDPARTY_DIR . '/jquery-ui/jquery-ui' . $jsMin . '.js'); Requirements::javascript(THIRDPARTY_DIR . '/jquery-entwine/dist/jquery.entwine-dist.js'); Requirements::javascript('silverstripe-all-in-one-page/javascript/dist/AllInOnePage' . $jsMin . '.js'); $tmpContoller = Injector::inst()->create("AllInOnePage_Controller", $realController->data()); if ($this->session) { $tmpContoller->setSession($this->session); } $result = $tmpContoller->handleRequest($this->request, $model); } } return $result; }
public function SetDefaultExlcuded() { foreach (SiteTree::get()->filter(array('ClassName' => self::$DEFAULT_EXCLUDE_CALSSES, "ID:not" => AllInOneHelper::excludedPageIds())) as $ExcludedPage) { $this->owner->AllInOneExludedPages()->Add($ExcludedPage); } }