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/signmania.komma.pro/app/Komma/Routes/RouteResolver.php
<?php

namespace Komma\Routes;


use Illuminate\Support\Facades\Redirect;

class RouteResolver
{
    /**
     * Resolve route
     *
     * @return bool
     */
    public function resolve()
    {

        // Return false when we are in the control panel
        //$this->redirectToRightDomain();
        if($this->isControlPanel()) return false;


        \Route::get('/_debugbar/assets/stylesheets', [
            'as'   => 'debugbar-css',
            'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@css'
        ]);

        \Route::get('/_debugbar/assets/javascript', [
            'as'   => 'debugbar-js',
            'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@js'
        ]);

        // Maybe we are receiving an alias
        // Check for a REST-route that belongs to this alias and dispatch a new Request
        \Route::get(\Request::path(), function ()
        {
            // Return a 404 when the alias is not found in the database
            if( ! $dispatch = $this->dispatchRoute()) \App::abort(404);

            return $dispatch;
        });

        \Route::post(\Request::path(), function ()
        {
            // Return a 404 when the alias is not found in the database
            if( ! $dispatch = $this->dispatchPostRoute()) \App::abort(404);

            return $dispatch;
        });




        \Route::get('blog', 'Komma\Posts\PostController@index');
        \Route::get('blog/{postId}', 'Komma\Posts\PostController@show');

        // Page Routes
        \Route::resource('pages', 'Komma\Pages\PageController');


        // Forms
        \Route::post('contact/process', [
            'as'   => 'contact.process',
            'uses' => 'Komma\Contact\ContactController@contactFormProcess'
        ]);

        \Route::get('contact', ['as'   => 'contact.form',
                                'uses' => 'Komma\Contact\ContactController@contactForm'
        ]);

        \Route::get('contact/succes', ['as'   => 'contact.success',
                                       'uses' => 'Komma\Contact\ContactController@contactSuccess'
        ]);

        // SEO routes
        \Route::get('robots.txt', 'Komma\Sitemap\SitemapController@robots');
        \Route::get('sitemap.xml', 'Komma\Sitemap\SitemapController@sitemap');
        \Route::get('sitemap', 'Komma\Sitemap\SitemapController@showSitemap');

        //404 route for maps in wwwroot
        \Route::get('404', 'BaseController@abortPage');

    }

    /**
     * Dispatch new custom event with REST-route
     *
     * @return mixed
     */
    private function dispatchRoute()
    {
        $requestUri = \Request::path();
        // Get route by URI
        if( ! $route = \DB::table('routes')
            ->where('route', '=', $requestUri)
            ->first()
        ){
            return $this->redirectOldPages($requestUri);
        }
        // Create get request
        $request = \Request::create('/' . $route->rest_route, 'GET');

        // Dispatch request

        return \Route::dispatch($request);
    }

    private function dispatchPostRoute()
    {
        $requestUri = \Request::path();

        // Get route by URI
        if( ! $route = \DB::table('routes')
            ->where('route', '=', $requestUri)
            ->first()
        ) return false;


        if( ! (in_array($route->rest_route, ['contact', 'trial']) || starts_with($route->rest_route, 'photo_albums'))) return false;

        // Create get request
        $request = \Request::create('/' . $route->rest_route, 'POST');

        // Dispatch request
        return \Route::dispatch($request);
    }

    /**
     * Check if the routes starts with "KMS"
     *
     * @return mixed
     */
    private function isControlPanel()
    {
        return \Str::startsWith(\Request::path(), 'kms');
    }

    /**
     * Dispatch Old routes
     *
     * @return mixed
     */
    private function redirectOldPages($requestUri = null)
    {

        if(starts_with($requestUri, ['bedrijven/portfolio', 'particulieren/portfolio'])) return \Redirect::to('ons-werk', 301);

        switch ($requestUri){

            case 'bedrijven':
            case 'particulieren':
                return \Redirect::to('/', 301);
                break;

            case 'bedrijven/contact':
            case 'particulieren/contact':
                return \Redirect::to('contact', 301);
                break;

            case 'bedrijven/team':
            case 'particulieren/team':
                return \Redirect::to('onze-studio/onze-professionals', 301);
                break;

            case 'bedrijven/werkwijze':
            case 'particulieren/werkwijze':
                return \Redirect::to('onze-studio/onze-creativiteit', 301);
                break;

            case 'bedrijven/aanbod':
            case 'particulieren/aanbod':
                return \Redirect::to('ons-werk', 301);
                break;

            case 'particulieren/aanbod/carwrapping':
            case 'particulieren/project-type/carwrapping':
                return \Redirect::to('ons-werk/car-wrapping', 301);
                break;

            case 'particulieren/aanbod/interieur-decoratie':
            case 'bedrijven/aanbod/interieurdecoratie':
            case 'particulieren/home/interieur-decoratie':
            case 'bedrijven/project-type/interieurdecoratie':
                return \Redirect::to('ons-werk/interior-design', 301);
                break;

            case 'particulieren/aanbod/boatwrapping':
            case 'particulieren/project-type/boatwrapping':
                return \Redirect::to('ons-werk/boat-wrapping', 301);
                break;

            case 'bedrijven/aanbod/ontwerp-branding':
            case 'bedrijven/project-type/concept-design':
                return \Redirect::to('ons-werk/graphic-design', 301);
                break;

            case 'bedrijven/aanbod/buiten-reclame':
            case 'bedrijven/project-type/buitenreclame':
                return \Redirect::to('ons-werk/signage', 301);
                break;

            case 'bedrijven/aanbod/voertuigreclame':
            case 'bedrijven/project-type/voertuigreclame/':
                return \Redirect::to('ons-werk/fleet-marketing', 301);
                break;

            case 'bedrijven/aanbod/promotie-materialen':
                return \Redirect::to('ons-werk/pos-marketing', 301);
                break;

            default:
                return false;

        }

    }

}