File: D:/HostingSpaces/SBogers10/zuiderbos.komma.pro/Komma/Pages/PageController.php
<?php
namespace Komma\Pages;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Komma\BaseController;
use Komma\Blocks\BlockService;
use Komma\Contact\ContactController;
use Komma\Kms\Schools\School;
use Komma\LanguageService;
use Komma\PhotoAlbums\PhotoAlbumController;
use Komma\Posts\PostController;
use Komma\Sitemap\SitemapController;
class PageController extends \BaseController
{
protected $pageService;
protected $blockService;
protected $contactController;
protected $sitemapController;
public $languageService;
protected $postController;
protected $photoAlbumController;
public function __construct(PageService $pageService, BlockService $blockService, ContactController $contactController, SitemapController $sitemapController, LanguageService $languageService, PostController $postController, PhotoAlbumController $photoAlbumController)
{
parent::__construct();
$this->pageService = $pageService;
$this->blockService = $blockService;
$this->contactController = $contactController;
$this->sitemapController = $sitemapController;
//$this->languageService = $languageService;
$this->postController = $postController;
$this->photoAlbumController = $photoAlbumController;
}
public function show($id = 2)
{
//Check if language matches the url before loading the content
//$this->languageService->checkRouteWithSetLanguage();
//get content of page
$page = $this->pageService->getPageContent($id);
//Check if needed to send to other location/controller
if($page->code_name == 'sitemap') return $this->sitemapController->showSitemap($page);
if($page->code_name == 'contact') return $this->contactController->contactForm($page);
// Get root parent and append code_name to page
// So we can find out to which branch/school the page belongs
if($page->getDepth() != 1)
{
$page->root = $this->pageService->getRootParent($page);
}
else
{
// The page itself is the root branch, so to prevent writing if/else statements append it as branch
$page->root = $page;
}
// Load school to page
$page->school = School::where('type', $page->root->code_name)
->first();
if(ends_with($page->code_name, 'actual-news'))
{
return $this->postController->index($page);
}
if(ends_with($page->code_name, 'actual-photoalbums'))
{
return $this->photoAlbumController->index($page);
}
//get all page links
$links = $this->pageService->getAllRoutes();
//View is page unless view is defined
$view = 'page';
if(isset($page->view) && $page->view != '') $view = $page->view;
return \View::make('layouts.pages.' . $view)
->with('page', $page)
->with('links', $links);
}
}