File: D:/HostingSpaces/SBogers84/zuiderbos.nl/app/Komma/Jobs/JobController.php
<?php
/**
* Short description for the file.
*
* @author Komma <support@komma.pro>
* @copyright (c) 2012-2015, Komma Mediadesign
*/
namespace Komma\Jobs;
use Komma\Blocks\BlockService;
use Komma\Interns\InternService;
use Komma\Jobs\Models\Job;
use Komma\Kms\Schools\School;
use Komma\LanguageService;
use Komma\Pages\PageService;
class JobController extends \BaseController
{
public $data;
protected $pageService;
protected $jobService;
protected $internService;
public $languageService;
protected $blockService;
public function __construct(PageService $pageService, LanguageService $languageService, JobService $jobService, InternService $internService, BlockService $blockService)
{
parent::__construct();
$this->blockService = $blockService;
$this->pageService = $pageService;
$this->jobService = $jobService;
$this->internService = $internService;
$this->languageService = $languageService;
}
//Overview page
public function index($page = null)
{
if ($page == null) {
//Check if language matches the url before loading the content
$this->languageService->checkRouteWithSetLanguage();
//get content of page by route because of the multiple news overviews all page links
$page = $this->pageService->getPageByRoute(\Request::path());
// 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();
}
$links = $this->pageService->getAllRoutes();
$jobs = $this->jobService->getAllJobs();
$interns = $this->internService->getAllInterns();
return \View::make('layouts.pages.jobs.index')
->with('jobs', $jobs)
->with('interns', $interns)
->with('page', $page)
->with('links', $links);
}
public function show($jobId)
{
$page = $this->pageService->getPageByCodeName('jobs');
$page->root = $page;
// 'Werken Bij' school has id 8
$page->school = School::where('id', 8)->first();
// Get job or fail
if (! $job = $this->jobService->getJob($jobId)->first()) {
return $this->abortPage();
}
$links = $this->pageService->getAllRoutes();
if (isset($job->page_code_name) && $job->page_code_name !== '') {
$jobBlocksContent = $this->blockService->getContent($job->page_code_name);
if (isset($jobBlocksContent)) {
$jobBlocksContent = $this->blockService->getContent($job->page_code_name)->translation->description;
}
} else {
$jobBlocksContent = null;
}
return \View::make('layouts.pages.jobs.show')
->with('job', $job)
->with('page', $page)
->with('links', $links)
->with('jobBlocksContent', $jobBlocksContent);
}
}