diff --git a/app/Http/Controllers/EventViewController.php b/app/Http/Controllers/EventViewController.php index f63ba777..48be7fff 100644 --- a/app/Http/Controllers/EventViewController.php +++ b/app/Http/Controllers/EventViewController.php @@ -124,4 +124,16 @@ class EventViewController extends Controller 'message' => 'Message Successfully Sent', ]); } + + public function showCalendarIcs(Request $request, $event_id) + { + $event = Event::findOrFail($event_id); + + $icsContent = $event->getIcsForEvent(); + + return response()->make($icsContent, 200, [ + 'Content-Type' => 'application/octet-stream', + 'Content-Disposition' => 'attachment; filename="event.ics' + ]); + } } diff --git a/app/Http/routes.php b/app/Http/routes.php index 5bfb548a..a364c48f 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -116,6 +116,11 @@ Route::group(['prefix' => 'e'], function () { 'uses' => 'EventViewEmbeddedController@showEmbeddedEvent', ]); + Route::get('/{event_id}/calendar.ics', [ + 'as' => 'downloadCalendarIcs', + 'uses' => 'EventViewController@showCalendarIcs', + ]); + Route::get('/{event_id}/{event_slug?}', [ 'as' => 'showEventPage', 'uses' => 'EventViewController@showEventHome',