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/SBogers96/smilefotografie.nl/app/Komma/Pages/PageController.php
<?php


namespace Komma\Pages;


use Illuminate\Routing\Controller;
use Komma\Albums\AlbumService;
use Komma\Core\MetaDataService;
use Komma\Seo\SitemapService;

class PageController extends Controller
{
    /**
     * @var PageRepository
     */
    protected $repository;
    /**
     * @var MetaDataService
     */
    protected $metaDataService;

    /**
     * @param PageRepository $repository
     * @param MetaDataService $metaDataService
     * @param SitemapService $sitemapService
     */
    public function __construct(
        PageRepository $repository,
        MetaDataService $metaDataService)
    {
        $this->repository = $repository;
        $this->metaDataService = $metaDataService;
    }

    /**
     * Show page
     *
     * @param $id
     * @return mixed
     */
    public function show($id)
    {
        // Get page
        $page = $this->repository->page($id);

        // Different view for album pages
        if(is_album($page->code_name)) return \App::make('Komma\Albums\AlbumController')->showPage($page);

        // Different view for album pages
        if(has_form($page->code_name)) return \App::make('Komma\Forms\FormController')->showPage($page);

        // Sitemap ?
        if($page->code_name == 'sitemap') return $this->sitemap($page);

        // Check for negative page-view
        is_negative($page->code_name) ? $negative = 'negative' : $negative = '';

        // Get images
        $images = $this->repository->imagesByPageId($id);

        // Meta data
        $meta = $this->metaDataService->get($page);

        return \View::make('layouts.pages.' . $page->code_name)
            ->with([
                'page' => $page,
                'images' => $images,
                'bodyClass' => $page->code_name,
                'negative' => $negative,
                'meta' => $meta
            ]);
    }

    /**
     * Abort page
     *
     * @return mixed
     */
    public function abort()
    {
        // Get page
        $page = $this->repository->pageByCodeName('abort');

        // Meta data
        $meta = $this->metaDataService->get($page);

        // Render view
        $view = \View::make('layouts.pages.abort')
            ->with([
                'page' => $page,
                'bodyClass' => $page->code_name,
                'meta' => $meta
            ])->render();

        // Return view with 404 not found header
        return \Response::make($view, 404);
    }

    /**
     *
     */
    public function sitemap($page)
    {
        // Meta data
        $meta = $this->metaDataService->get($page);

        // Get sitemap items
        $sitemap = \App::make('Komma\Seo\SitemapService')->getSitemap();

        return \View::make('layouts.pages.sitemap')
            ->with([
                'page' => $page,
                'bodyClass' => $page->code_name,
                'meta' => $meta,
                'items' => $sitemap->model->items
            ]);
    }
}