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/PDeckers/opelkapitan.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;

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

        //Project Routes
        \Route::get('projects', 'Komma\Projects\ProjectController@index');
        \Route::get('projects/{projectId}', 'Komma\Projects\ProjectController@show');
        \Route::get('parts/{rest_route_id}', 'Komma\Projects\ProjectController@type');

        \Route::get('fotoalbum', 'Komma\Photos\PhotoController@show');

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

        //News Routes
        \Route::get('news', 'Komma\Posts\PostController@index');
        \Route::get('news/{newsId}', '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'
        ]);
        // Forms
        \Route::post('popUp/process',[
            'as'    =>  'pop-up.process',
            'uses'  =>  'Komma\Contact\ContactController@popUpFormProcess'
        ]);
        \Route::get('contact',['as'    =>  'contact.form',
                               'uses'  =>  'Komma\Contact\ContactController@contactForm'
        ]);

        \Route::post('setLanguage', 'BaseController@setCurrentLanguage');

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


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



        //301 from old website
        \Route::get('onderdelen-1953-1955-2', function (){
            return \Redirect::to('/onderdelen/opel-kapitan-53-55', 301);
        });
        \Route::get('onderdelen-1956-1957', function (){
            return \Redirect::to('/onderdelen/opel-kapitan-56-57', 301);
        });
        \Route::get('onderdelen-1958-1959', function (){
            return \Redirect::to('/onderdelen/opel-kapitan-58-59', 301);
        });
        \Route::get('onderdelen-1960-1964/', function (){
            return \Redirect::to('/onderdelen/opel-kapitan-60-64', 301);
        });
        \Route::get('lampen', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('aandrijving', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('carrosserie', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('versnellingsbak', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('uncategorized/plaatwerk/', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('uncategorized/carrosserie/', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('category/uncategorized', function (){
            return \Redirect::to('/onderdelen', 301);
        });
        \Route::get('home1/overige-onderdelen', function (){
            return \Redirect::to('/overige-onderdelen', 301);
        });
        \Route::get('2016/02', function (){
            return \Redirect::to('/', 301);
        });
        \Route::get('2016/04', function (){
            return \Redirect::to('/', 301);
        });
    }

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

    private function dispatchPostRoute(){
        // URI
        $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'])) 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');
    }
}