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/helder.komma.pro/app/Http/Controllers/Controller.php
<?php

namespace App\Http\Controllers;


use App\Komma\Languages\LanguageService;
use App\Komma\Pages\PageService;
use App\Komma\Routes\Models\Route;
use App\Komma\Sites\Models\Site;
use App\Komma\Sites\SiteServiceInterface;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

abstract class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    protected $languageService;
    protected $pageService;
    protected $links;

    protected $baseViewPath = 'site.';

    /** @var SiteServiceInterface */
    private $siteService;

    /** @var Site  */
    protected $site;

    public function __construct()
    {
        if(\App::runningInConsole()) return;

        $this->preventRestRouteFromWorking();
        $this->languageService = new LanguageService();
        $this->pageService = new PageService();
        $this->links = $this->pageService->getAllTranslatedPageRoutes();

        $this->siteService = \App::make(SiteServiceInterface::class);
        $this->site = $this->siteService->getCurrentSite();
    }

    /**
     * This method will prevent that REST routes are working with the application
     * They should be resolved by the middleware
     *
     */
    private function preventRestRouteFromWorking(){
        if (\App::runningInConsole()) return;

        $request = request();

        // Normally it should be resolved or it's a hard defined route
        // Example. contact/process
        if(isset($request->resolved) && $request->resolved) return;
        else{
            // Get segments and path
            $path = \Request::path();
            $segments = \Request::segments();

            // Check if current path is a restfull path, or the first segment of it is
//            $restRoutes = Route::whereIn('route', [$path, $segments[0]])
//                ->get();
//
//            // Rest routes should be empty, or it already should be resolved
//            if($restRoutes->count() == 0) return;
//            else{
//                // If production throw 404
//                if(\App::environment() == 'production') throw abort(404);
//
//                // Else Argument Exception with explanation
//                else throw new \InvalidArgumentException("Route path or the first segment is listed as an REST route");
//            }
        }
    }
}