HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers84/zuiderbos.nl/app/Komma/Pages/PageController.php
<?php

namespace Komma\Pages;

use Komma\Blocks\BlockService;
use Komma\Brochures\BrochureController;
use Komma\Contact\ContactController;
use Komma\Jobs\JobController;
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;

    protected $jobController;

    protected $brochureController;

    public function __construct(PageService $pageService, BlockService $blockService, ContactController $contactController, SitemapController $sitemapController, LanguageService $languageService, PostController $postController, PhotoAlbumController $photoAlbumController, JobController $jobController, BrochureController $brochureController)
    {
        parent::__construct();

        $this->pageService = $pageService;
        $this->blockService = $blockService;
        $this->contactController = $contactController;
        $this->sitemapController = $sitemapController;
        //$this->languageService = $languageService;
        $this->postController = $postController;
        $this->photoAlbumController = $photoAlbumController;
        $this->jobController = $jobController;
        $this->brochureController = $brochureController;
    }

    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);
        }

        if ($page->code_name == 'jobs') {
            return $this->jobController->index($page);
        }

        if ($page->code_name == 'services-ozapp') {
            $page->brochures = $this->brochureController->getAllBrochures();
        }

        //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;
        }

        // Load school guide into page when home
//        if($page->view == 'home'){
//            $page->schoolGuide = $page->school->documents()->whereIn('documents.id', [5,6,7])->get()->first();
//        }

        if (in_array($page->code_name, ['nieuwbouw_basisonderwijs', 'nieuwbouw_college'])) {
            // Fucking ugly way to force the "vso" class on the body element in order to use the correct colors
            if ($page->code_name === 'nieuwbouw_college') $page->code_name = 'vso';
            $page->content = $this->blockService->getContent('nieuwbouw');
        }

        return \View::make('layouts.pages.'.$view)
            ->with('page', $page)
            ->with('links', $links);
    }
}