File: D:/HostingSpaces/SBogers60/vandeurzenheftrucks.nl/app/Komma/Projects/ProjectController.php
<?php
/**
* Short description for the file.
*
* @author Komma <support@komma.pro>
* @copyright (c) 2012-2015, Komma Mediadesign
*/
namespace Komma\Projects;
use Komma\Blocks\BlockService;
use Komma\Images\ImageService;
use Komma\LanguageService;
use Komma\Pages\PageService;
use Komma\Categories\CategoryService;
class ProjectController extends \BaseController
{
protected $pageService;
protected $blockService;
protected $categoryService;
protected $projectService;
protected $imageService;
public $languageService;
public function __construct(CategoryService $categoryService, PageService $pageService, BlockService $blockService, ProjectService $projectService, LanguageService $languageService, ImageService $imageService)
{
parent::__construct();
$this->pageService = $pageService;
$this->blockService = $blockService;
$this->projectService = $projectService;
$this->languageService = $languageService;
$this->categoryService = $categoryService;
$this->imageService = $imageService;
}
//Project index page
public function index($page = null){
//Check if language matches the url before loading content
$this->languageService->checkRouteWithSetLanguage();
//get content of page and get all page links
if( ! $page) $page = $this->pageService->getPageByCodeName('projects');
$links = $this->pageService->getAllRoutes();
//get all categories
$categories = $this->categoryService->getAllCategories();
//Get all projects
$projects = $this->projectService->getAllProjects();
$bodyId = $page->code_name;
return \View::make('layouts.pages.projectsOverview')
->with('bodyId', $bodyId)
->with('page', $page)
->with('links', $links)
->with('projects', $projects)
->with('categories', $categories);
}
public function group($page = null, $pageId){
//Check if language matches the url before loading content
$this->languageService->checkRouteWithSetLanguage();
//get content of page and get all page links
if( ! $page) $page = $this->pageService->getPageByCodeName('projects');
$links = $this->pageService->getAllRoutes();
//get all categories
$categories = $this->categoryService->getAllCategories();
//Get current categoryId (where category name = page code_name)
$pageContent = $this->pageService->getPageContent($pageId);
$pageCodeName = $pageContent->code_name;
$categoryId = $this->categoryService->getCategoryId($pageCodeName);
//Page codename in string
$pageCodeNameString = ucfirst(str_replace('-', ' ', $pageCodeName));
//Get all projectIds from current category
$projectIds = $this->projectService->getAllProjectsInCategory(null, null, $categoryId);
//get all projects with linked projectId
$projects = $this->projectService->getAllProjectsById(null, null, $projectIds);
$bodyId = $page->code_name;
if($this->pageService->isUsedMachine($page->code_name)) $bodyId = 'projects';
return \View::make('layouts.pages.projectCategory')
->with('bodyId', $bodyId)
->with('page', $page)
->with('links', $links)
->with('projects', $projects)
->with('pageCodeName', $pageCodeName)
->with('pageCodeNameString', $pageCodeNameString)
->with('categories', $categories);
}
public function show($projectId){
//Check if language matches the url before loading content
$this->languageService->checkRouteWithSetLanguage();
//get all categories
$categories = $this->categoryService->getAllCategories();
if (!$page = $this->projectService->getProject($projectId)) \App::abort(404);
$links = $this->pageService->getAllRoutes();
$project = $this->projectService->getProject($projectId);
$categoryCodeName = \Request::segment(2);
$categoryString = $this->categoryService->makeCategoryString($categoryCodeName);
//Get all projects from current category (except the current project)
$categoryId = $this->categoryService->getCategoryId($categoryCodeName);
$projectIds = $this->projectService->getAllProjectsInCategory(null, null, $categoryId);
$projects = $this->projectService->getAllProjectsByIdExceptCurrent(true, 3, $projectIds, $projectId);
$relevantProjects = $projects;
//Get the category slug trough url
$url = \Request::url();
$urlSep = explode('/', $url);
$categorySlug = $urlSep[3];
return \View::make('layouts.pages.projectDetail')
->with('bodyId', 'projects')
->with('page', $page)
->with('links', $links)
->with('project', $project)
->with('relevantProjects', $relevantProjects)
->with('categoryCodeName', $categoryCodeName)
->with('categoryString', $categoryString)
->with('categories', $categories)
->with('categorySlug', $categorySlug);
}
}