File: D:/HostingSpaces/EUmans/umansradepo.be/app/Komma/Routes/RouteResolver.php
<?php
namespace Komma\Routes;
class RouteResolver
{
/**
* Resolve route
*
* @return bool
*/
public function resolve()
{
if (preg_match('/dak-spouwmuurisolatie/', \Request::url())) {
header('Location: http://www.umansradepo.be');
exit();
}
// 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');
//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'
]);
\Route::get('contact', [
'as' => 'contact.form',
'uses' => 'Komma\Contact\ContactController@contactForm'
]);
\Route::get('contact/success', [
'as' => 'contact.success',
'uses' => 'Komma\Contact\ContactController@contactSuccess'
]);
\Route::post('offer/process', [
'as' => 'offer.process',
'uses' => 'Komma\Contact\ContactController@offerProcess'
]);
\Route::post('offerForm/process', [
'as' => 'offerForm.process',
'uses' => 'Komma\Contact\ContactController@offerFormProcess'
]);
\Route::get('offerte-aanvragen/bedankt', 'Komma\Contact\ContactController@offerFormSuccess');
\Route::post('setLanguage', 'BaseController@setCurrentLanguage');
// SEO routes
\Route::get('robots.txt', 'Komma\Sitemap\SitemapController@robots');
\Route::get('sitemap.xml', 'Komma\Sitemap\SitemapController@sitemap');
\Route::get('sitemap', [
'as' => 'sitemap',
'uses' => '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'])) {
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)
{
// Old routes from radepo
if (str_contains(\Request::root(), ['umansradepo.be', 'umans.komma.pro'])) {
switch ($requestUri) {
case 'pvc/referenties':
case 'aluminium/referenties':
case 'pvc/referenties/ral-9001-generfd-4':
case 'pvc/referenties/ral-9001-generfd-2':
case 'pvc/referenties/ral-9001-generfd-3':
case 'pvc/referenties/ral-7035-generfd':
case 'pvc/referenties/ral-9001-generfd':
case 'pvc/referenties/ral-7016-glad':
case 'pvc/referenties/wit-massa-2':
case 'pvc/referenties/wit-massa':
case 'pvc/referenties/ral-7030-gelakt':
case 'pvc/referenties/ral-1019-gelakt':
case 'aluminium/referenties/ral-7016-3':
case 'aluminium/referenties/ral-9005-2':
case 'aluminium/referenties/ral-7016-2':
case 'aluminium/referenties/ral-9006':
case 'aluminium/referenties/ral-9005':
case 'aluminium/referenties/ral-7016-en-9006':
case 'aluminium/referenties/ral-9001':
case 'aluminium/referenties/ral-7016':
case 'aluminium/referenties/ral-9010':
case 'aluminium/referenties/ral-7030':
case 'aluminium/referenties/ral-8019':
case 'aluminium/referenties/ral-9007':
case 'aluminium/referenties/ral-9007-2':
case 'aluminium/referenties/ral-9009':
return \Redirect::to('referenties', 301);
break;
case 'pvc':
case 'aluminium':
case 'pvc/profielen':
case 'aluminium/profielen':
return \Redirect::to('ramen-en-deuren', 301);
break;
case 'contact/offerte':
return \Redirect::to('offerte-aanvragen', 301);
break;
case 'veelgestelde-vragen':
return \Redirect::to('/', 301);
break;
default:
break;
}
}// Old routes from spouwmuurisolatie
elseif (str_contains(\Request::root(), ['spouwmurenisoleren.be', 'dak-spouwmuurisolatie.be', 'spouwmuur.komma.pro'])) {
switch ($requestUri) {
case 'spouwmuurisolatie-hamont':
case 'spouwmuurisolatie-antwerpen':
case 'spouwmuurisolatie-bree':
case 'spouwmuurisolatie-balen':
case 'spouwmuurisolatie-hechtel':
case 'spouwmuurisolatie-limburg':
case 'spouwmuurisolatie-lommel':
case 'spouwmuurisolatie-geel':
case 'spouwmuurisolatie-bocholt':
case 'spouwmuurisolatie-mol':
case 'spouwmuurisolatie-neerpelt':
case 'spouwmuurisolatie-peer':
case 'spouwmuurisolatie-overpelt':
return \Redirect::to('spouwmuurisolatie', 301);
break;
case 'product':
return \Redirect::to('spouwmuurisolatie/isolatieparels', 301);
break;
case 'contact/offerte':
return \Redirect::to('offerte-aanvragen', 301);
break;
case 'veelgestelde-vragen':
case 'home':
case 'premies':
return \Redirect::to('/', 301);
break;
default:
break;
}
}
return false;
}
private function redirectSome()
{
}
}