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/SBogers10/honger7.komma.pro/app/KommaApp/Cases/CaseController.php
<?php
/**
 * Created by PhpStorm.
 * User: mike
 * Date: 18/05/17
 * Time: 21:59
 */

namespace App\KommaApp\Cases;


use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\View;
use DaveJamesMiller\Breadcrumbs\Facade as Breadcrumbs;

class CaseController extends Controller
{
    /**
     * @var CaseService
     */
    private $caseService;

    /**
     * CaseController constructor.
     * @param CaseService $caseService
     */
    public function __construct(CaseService $caseService)
    {
        $this->caseService = $caseService;
    }

    /**
     * Show all cases
     */
    public function index()
    {
        // Render breadcrumb if exists
        if( ! $breadcrumb = Breadcrumbs::renderIfExists('cases'))
        {
            $breadcrumb = false;
        }

        return View::make('site.pages.cases',[
            'namespace' => 'cases',
            'breadcrumb' => $breadcrumb
        ]);
    }

    /**
     * Show a case detail page
     *
     * @param $slug
     */
    public function show($slug)
    {
        if( ! $case = $this->caseService->caseBySlug($slug)) \App::abort(404);

        // Render breadcrumb if exists
        if( ! $breadcrumb = Breadcrumbs::renderIfExists('case.' . $case->translation->slug))
        {
            $breadcrumb = false;
        }

        // Define or overwrite code name
        empty($case->code_name) ?
        $codeName = camel_case($case->translation->slug) :
        $codeName = $case->code_name;

        // Newest cases
        $otherCases = $this->caseService->other($case->id, 10);

        // Array with keys of prev and next
        $adjacentCases = $this->caseService->adjacentCases($case);

        // Return view to the user
        return View::make('site.cases.' . $codeName,[
            'case' => $case,
            'caseLangPath' => 'site/cases/' . $codeName,
            'codeName' => $codeName,
            'namespace' => 'case ' . $codeName,
            'otherCases' => $otherCases,
            'breadcrumb' => $breadcrumb,
            'adjacentCases' => $adjacentCases
        ]);
    }
}