able to send back json when ".json" is attached

master
Tezza 2015-02-27 01:43:19 +01:00
parent eb2608a7e3
commit 8f4bdc5d59
1 changed files with 68 additions and 6 deletions

View File

@ -4,7 +4,6 @@
use Silex\Application;
use Silex\ControllerProviderInterface;
use Symfony\Component\HttpFoundation\Request;
class WebControllerProvider implements ControllerProviderInterface {
@ -31,16 +30,18 @@
$ctr->get('/events/', function() use ( $app ) {
$eventsToReturn = Level2::getEventsByMonth(
Level2::getEvents( $app ),
date( 'Y' ),
date( 'm' )
);
return $app['twig']->render(
'events.twig',
array(
'page' => 'events',
'level2' => Level2::getStatus( $app ),
'events' => Level2::getEventsByMonth(
Level2::getEvents( $app ),
date( 'Y' ),
date( 'm' )
)
'events' => $eventsToReturn
)
);
@ -48,6 +49,28 @@
$ctr->get('/events/{year}/{month}', function( $year, $month ) use ( $app ) {
if ( strpos( $month, '.' ) !== false ) {
$arguments = explode( '.', $month );
$month = $arguments[ 0 ];
$format = $arguments[ 1 ];
if ( $format == 'json' ) {
print_r( $eventsToReturn );
return $app->json(
Level2::getEventsByMonth(
Level2::getEvents( $app ),
$year,
$month
)
);
}
}
return $app['twig']->render(
'events.twig',
array(
@ -63,6 +86,45 @@
});
$ctr->get('/events/{count}', function( $count ) use ( $app ) {
if ( strpos( $count, '.' ) !== false ) {
$arguments = explode( '.', $count );
$count = $arguments[ 0 ];
$format = $arguments[ 1 ];
if ( $format == 'json' ) {
print_r( $eventsToReturn );
return $app->json(
array_slice(
Level2::getEvents( $app ),
0,
$count
)
);
}
}
return $app['twig']->render(
'events.twig',
array(
'page' => 'events',
'level2' => Level2::getStatus( $app ),
'events' => array_slice(
Level2::getEvents( $app ),
0,
$count
)
)
);
});
$ctr->get('/scrape', function() use ( $app ) {
Helpers::saveFile ( json_encode( Level2::getJSONCalendar( $app ) ), 'cache/calendar.json' );