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