File: D:/HostingSpaces/jacques-hein/jacques-hein.nl/app/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\Sitemap\SitemapController;
class PageController extends \BaseController
{
protected $pageService;
protected $blockService;
protected $contactController;
protected $sitemapController;
public function __construct(PageService $pageService, BlockService $blockService, ContactController $contactController, SitemapController $sitemapController)
{
parent::__construct();
$this->pageService = $pageService;
$this->blockService = $blockService;
$this->contactController = $contactController;
$this->sitemapController = $sitemapController;
}
public function show($id = 2)
{
//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 all page links
$links = $this->pageService->getAllRoutes();
if($page->code_name == 'about') $page->slider = $this->blockService->getBlocksWhere('type', 'about-steps', false);
if($page->code_name == 'methods'){
$page->slider = $this->blockService->getBlocksWhere('type', 'methods', false);
$page->slider = $page->slider->filter(function ($item){
if($item->code_name != 'methods_introduction') return $item;
});
$page->slider = $page->slider->values();
// dde($page->slider);
}
if($page->code_name == 'methods_take') $page->content = $this->blockService->getBlocksWhere('type', 'method-steps', true);
if($page->code_name == 'references') $page->slider = $this->blockService->getBlocksWhere('type', 'reference-steps', false);
//View is code name unless there's a custom view
$view = isset($page->view_name) && $page->view_name != '' ? $page->view_name : $page->code_name ;
return \View::make('layouts.pages.' .$view)
->with('page', $page)
->with('links', $links);
}
}