File: D:/HostingSpaces/SBogers84/zuiderbos.nl/workbench/komma/kms/src/routes.php
<?php
use Komma\Kms\Pages\PageRepository;
use Komma\Kms\Shops\Shop;
/**
* KMS redirect
*/
Route::get('/KMS', function ()
{
return Redirect::to('/kms', 301);
});
Route::group(['prefix' => 'kms'], function ()
{
/**
* Routes for logging in and out
*/
Route::get('/login', 'Komma\Kms\Users\AuthController@login');
Route::post('/login', 'Komma\Kms\Users\AuthController@processLogin');
Route::get('/logout', 'Komma\Kms\Users\AuthController@logout');
/**
* Secure Kms Routes
*/
Route::group(['before' => 'kmsAuth'], function ()
{
// Get documents
Route::get('/file-list', 'Komma\Kms\Documents\DocumentController@getDocumentsForTinyMCE');
//Upload
Route::post('/upload', 'Komma\Kms\Images\ImageController@upload');
// Dashboard
Route::get('/', ['as' => 'kms.dashboard.index', 'uses' => 'Komma\Kms\Dashboard\DashboardController@index']);
// Users
Route::resource('users', 'Komma\Kms\Users\UserController');
Route::resource('calender', 'Komma\Kms\Calender\CalenderController');
// Route::resource('newsletter', 'Komma\Kms\Newsletters\NewsletterController');
// Route::resource('references', 'Komma\Kms\References\ReferenceController');
// Blocks
Route::get('dynamic-blocks/{type}', 'Komma\Kms\Blocks\Pages\DynamicController@index');
Route::post('dynamic-blocks/{type}', 'Komma\Kms\Blocks\Pages\DynamicController@store');
Route::get('dynamic-blocks/{type}/create', 'Komma\Kms\Blocks\Pages\DynamicController@create');
Route::get('dynamic-blocks/{type}/{id}', 'Komma\Kms\Blocks\Pages\DynamicController@edit');
Route::put('dynamic-blocks/{type}/{id}', 'Komma\Kms\Blocks\Pages\DynamicController@update');
Route::delete('dynamic-blocks/{type}/{id}', 'Komma\Kms\Blocks\Pages\DynamicController@destroy');
//Custom routes for website configuration
Route::get('/website-config',
['as' => 'kms.website-config.create',
'uses' => 'Komma\Kms\WebsiteConfig\WebsiteConfigController@create'
]
);
Route::post('/website-config/update',
['as' => 'kms.website-config.store',
'uses' => 'Komma\Kms\WebsiteConfig\WebsiteConfigController@store'
]);
//Custom routes for search results
// Route::get('export-search-results', [
// 'as' => 'kms.search-results.export',
// 'uses' => 'Komma\Search\SearchController@exportSearchQueries'
// ]);
Route::get('search-results',
['as' => 'kms.search-results.index',
'uses' => 'Komma\Kms\SearchResultsExport\SearchResultsExportController@create'
]
);
Route::post('search-results/update',
['as' => 'kms.search-results.store',
'uses' => 'Komma\Kms\SearchResultsExport\SearchResultsExportController@store'
]
);
// Define extra pages
$extraPages = [
'pages' => [
'namespace' => 'Pages',
'controller' => 'PageController',
],
'references' => [
'namespace' => 'References',
'controller' => 'ReferenceController',
],
'projects' => [
'namespace' => 'Projects',
'controller' => 'ProjectController',
],
'categories' => [
'namespace' => 'Categories',
'controller' => 'CategoryController',
],
'posts' => [
'namespace' => 'Posts',
'controller' => 'PostController',
],
'newsletters' => [
'namespace' => 'Newsletters',
'controller' => 'NewsletterController',
],
'blocks' => [
'namespace' => 'Blocks',
'controller' => 'BlockController',
],
'home-blocks' => [
'namespace' => 'Blocks',
'controller' => 'Pages\HomeController',
],
'translations' => [
'namespace' => 'Translations',
'controller' => 'TranslationController',
],
'contact-blocks' => [
'namespace' => 'Blocks',
'controller' => 'Pages\ContactController',
],
'photo_albums' => [
'namespace' => 'PhotoAlbums',
'controller' => 'PhotoAlbumController',
],
'documents' => [
'namespace' => 'Documents',
'controller' => 'DocumentController',
],
'announcements' => [
'namespace' => 'Announcements',
'controller' => 'AnnouncementController',
],
'faq' => [
'namespace' => 'Faq',
'controller' => 'FaqController',
],
'jobs' => [
'namespace' => 'Jobs',
'controller' => 'JobController',
],
'interns' => [
'namespace' => 'Interns',
'controller' => 'InternController',
],
'brochures' => [
'namespace' => 'Brochures',
'controller' => 'BrochureController',
],
];
// Build routes for extra pages
foreach ($extraPages as $slug => $extraPage)
{
// Page
Route::resource($slug, 'Komma\Kms\\' . $extraPage['namespace'] . '\\' . $extraPage['controller']);
// Page through Ajax
$apiGetRoute = 'Komma\Kms\\' . $extraPage['namespace'] . '\\' . $extraPage['controller'] . '@getStructureAsJson';
$apiSetRoute = 'Komma\Kms\\' . $extraPage['namespace'] . '\\' . $extraPage['controller'] . '@setStructureAsJson';
Route::get('/api/' . $slug, $apiGetRoute);
Route::post('/api/' . $slug, $apiSetRoute);
}
});
Route::post('/set-school', function ()
{
\Session::put('school', \Input::get('school'));
\Session::put('full_name', \Input::get('full_name'));
\Session::put('type', \Input::get('type'));
});
//Dynamic page templates
Route::get('/api/template/two-column-block', 'Komma\Kms\Core\KmsController@twoColumnBlock');
Route::get('/api/template/dynamic-page-content-block', 'Komma\Kms\Core\KmsController@dynamicPageContentBlock');
Route::get('/api/template/dynamic-full-image-block', 'Komma\Kms\Core\KmsController@dynamicFullImageBlock');
Route::get('/api/template/dynamic-multiple-images-block', 'Komma\Kms\Core\KmsController@dynamicMultipleImagesBlock');
Route::get('/api/template/dynamic-full-text-block', 'Komma\Kms\Core\KmsController@dynamicFullTextBlock');
Route::get('/api/template/dynamic-video-block', 'Komma\Kms\Core\KmsController@dynamicVideoBlock');
Route::get('/api/template/dynamic-view', 'Komma\Kms\Core\KmsController@dynamicView');
});
/**
* Commands
*/
Route::group(['prefix' => 'command'], function ()
{
require 'commands.php';
});