File: D:/HostingSpaces/SBogers10/straffer.komma.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.offer.process',
'uses' => 'Komma\Forms\FormController@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;
});
// Page Routes
\Route::resource('pages','Komma\Pages\PageController' );
// Page Routes
\Route::resource('project','Komma\Projects\ProjectController' );
//404 route for maps in wwwroot
\Route::get('404', 'BaseController@abortPage');
// SEO routes
\Route::get('robots.txt', 'Komma\Seo\SEOController@robots');
\Route::get('sitemap.xml','Komma\Seo\SEOController@sitemap');
\Route::get('sitemap','Komma\Seo\SEOController@showSitemap');
}
/**
* 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');
}
}