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

}