File: /var/www/vhosts/creativefellows.nl/test.creativefellows.nl/figi/bu/src/routes.php
<?php
use Slim\Http\Request;
use Slim\Http\Response;
/*
* EN version
*/
$app->group('/{lang:[a-z]{2}}', function(){
// search string
$this->get('/search','CassetteController:getSearchString')->setName("search.string");
// CMS view
$this->get('/{uid:[0-9]+}-{hash}', 'CassetteController:previewPage')->setName("cassette.previewPage");
// homepage
$this->get('/[{name}]', 'CassetteController:viewPage')->setName("cassette.viewPage");
$this->get('/{name}/[{pagination:[0-9]+}]', 'CassetteController:viewPage')->setName("cassette.viewSection");
// view page
$this->get('/{name}/{entry}', 'CassetteController:viewPage')->setName("cassette.viewPage");
// view category
$this->get('/{name}/{category}/[{pagination:[0-9]+}]', 'CassetteController:viewCategory')->setName("cassette.viewCategory");
$this->get('/{name}/{category}/{entry}', 'CassetteController:viewCategory');
})->add(
// Localize website defaults
new LanguageMiddleware($container->get('settings')['available_languages'], $container->get('settings')['default_language'], $container->get('settings')['localize_settings'],$container)
);
/*
* NL version
*/
$app->group('/', function(){
$this->get('download-file/{hash}/{filename}','CassetteController:getDownload');
/*
* Old site redirects
*/
$this->get('get-a-show-event/','FigiController:redirectShow');
$this->get('get-a-show-event/{show}/','FigiController:redirectShow');
// Iens widget
$this->get('get-iens','FigiController:getIensWidget');
// accept cookies
$this->post('accept-cookies', 'CassetteController:accceptCookies')->setName("cassette.acceptCookies");
// search string
$this->get('search','CassetteController:getSearchString')->setName("search.string");
// search tag
$this->get('tags[/{name}[/{pagination:[0-9]+}]]','CassetteController:getSearchTag')->setName("search.tags");
// CMS view
$this->get('{uid:[0-9]+}-{hash}', 'CassetteController:previewPage')->setName("cassette.previewPage");
/*
* Cinema
*/
$this->get('bioscoop-filmtheater', 'FigiController:getCinemaTickets');
$this->get('bioscoop-filmtheater/{category}', 'FigiController:getCinemaTicketsCategory');
$this->get('bioscoop-filmtheater/{code}/{name}', 'FigiController:getShow')->setName("GAT.getCinemaShow");
// search tickets
$this->post('bioscoop-filmtheater', 'FigiController:getCinemaTickets')->setName("GAT.viewtickets");
// ajax post tickets
$this->post('get-tickets', 'FigiController:searchTickets')->setName("GAT.searchtickets");
/*
* Theatre
*/
$this->get('theater', 'FigiController:getTheatreTickets')->setName("GAT.theatreTickets");
$this->get('theater/{date:[0-9]+}/{genre:[0-9]+}', 'FigiController:getTheatreTickets')->setName("GAT.theatreTickets");
$this->get('theater/{code}/{name}', 'FigiController:getTheatre')->setName("GAT.getShow");
/*
* Agenda
*/
$this->get('agenda', 'FigiController:getAgenda')->setName("GAT.agenda");
$this->post('get-calendar', 'FigiController:getAgendaMonth')->setName("GAT.viewAgenda");
/*
* Reviews
*/
$this->get('get-reviews', 'FigiController:getReviews')->setName("figi.getReviews");
$this->get('get-agenda', 'FigiController:getLatestAgenda')->setName("figi.getLatestAgenda");
// homepage
$this->get('[{name}]', 'CassetteController:viewPage')->setName("cassette.viewPage");
$this->get('{name}/[{pagination:[0-9]+}]', 'CassetteController:viewPage')->setName("cassette.viewSection");
// view page
$this->get('{name}/{entry}', 'CassetteController:viewPage')->setName("cassette.viewPage");
// view category
$this->get('{name}/{category}/[{pagination:[0-9]+}]', 'CassetteController:viewCategory')->setName("cassette.viewCategory");
$this->get('{name}/{category}/{entry}', 'CassetteController:viewCategory');
/*
* handle form
*/
$this->post('handle-form', 'CassetteController:handleForm')->setName("cassette.handleForm");
});
?>