/** * Display the specified resource. * @TODO pull out menu into its own model with a many to many relationship to * Projects, Pages and Portfolios * @param int $id * @return Response */ public function show($id = null) { $banner = FALSE; $type = "pages.show"; $settings = $this->settings->first(); if ($id == null) { $page = $this->pageModel->first(); $pageCtrl = new \PagesController(); return $pageCtrl->show($page); } //Try Page $page = $this->pageModel->where("slug", 'LIKE', '/' . $id)->first(); if ($this->checkIfPublishedAndUserState($page)) { $page->slug === '/home' ? $banner = TRUE : ($banner = FALSE); $pageCtrl = new \PagesController(); return $pageCtrl->show($page); } //Try Project $project = $this->project->where("slug", 'LIKE', '/' . $id)->first(); if ($this->checkIfPublishedAndUserState($project)) { $projCtrl = new \ProjectsController(); return $projCtrl->show($project); } //Try Portfolio $portfolio = $this->portfolio->where("slug", 'LIKE', '/' . $id)->first(); if ($this->checkIfPublishedAndUserState($portfolio)) { $portfolioCtrl = new \PortfoliosController(); return $portfolioCtrl->show($portfolio); } //Else 404 return \View::make('404', compact('settings')); }