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/SBogers87/basephotography.nl/app/Komma/Routes/RouteResolver.php
<?php

namespace Komma\Routes;


class RouteResolver
{
    /**
     * Resolve route
     *
     * @return bool
     */
    public function resolve()
    {
        // Return false when we are in the control panel
        if($this->isControlPanel()) return false;

        // Forms
        \Route::post('form/offer/process',[
            'as'    =>  'form.contact',
            'uses'  =>  'Komma\Mailers\MailController@process'
        ]);

        // 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::get('projecten/mens', 'Komma\Projects\ProjectController@sub');
        \Route::get('projecten/materie', 'Komma\Projects\ProjectController@sub');
        \Route::get('projecten/architectuur', 'Komma\Projects\ProjectController@sub');


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

        //Project Routes
        \Route::resource('project','Komma\Projects\ProjectController' );

        // SEO routes
        \Route::get('robots.txt', 'Komma\Seo\SEOController@robots');
        \Route::get('sitemap.xml','Komma\Seo\SEOController@sitemap');

        //Redirects
        \Route::get('bas.htm', function(){
            return \Redirect::to('/', 301);
        });
        \Route::get('index.html', function(){
            return \Redirect::to('/', 301);
        });
        \Route::get('contact.html', function(){
            return \Redirect::to('/#contact', 301);
        });
        \Route::get('contact.htm', function(){
            return \Redirect::to('/#contact', 301);
        });
        \Route::get('showreel2015.html', function(){
            return \Redirect::to('/#showreel', 301);
        });
        \Route::get('showreel2014.html', function(){
            return \Redirect::to('/#showreel', 301);
        });
        \Route::get('showreel2013.html', function(){
            return \Redirect::to('/#showreel', 301);
        });
        \Route::get('arch.htm', function(){
            return \Redirect::to('/projecten/architectuur', 301); 
        });
        \Route::get('mens.htm', function(){
            return \Redirect::to('/projecten/mens', 301);
        });
        \Route::get('materie.htm', function(){
            return \Redirect::to('/projecten/materie', 301);
        });


        \Route::get('404.html', function(){
            \App::abort(404);
        });
        \Route::get('404', function(){
            \App::abort(404); 
        });

    }

    /**
     * Dispatch new custom event with REST-route
     *
     * @return mixed
     */
    private function dispatchRoute()
    {
        // URI
        $requestUri = \Request::path();

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

        // Create get request
        $request = \Request::create('/'.$route->rest_route, 'GET');
        // Dispatch request
        return \Route::dispatch($request);
    }

    /**
     * Check if the routes starts with "KMS"
     *
     * @return mixed
     */
    private function isControlPanel()
    {

        return \Str::startsWith(\Request::path(),'kms');
    }
}