diff options
Diffstat (limited to 'app/Http/Controllers/iCalController.php')
| -rw-r--r-- | app/Http/Controllers/iCalController.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/app/Http/Controllers/iCalController.php b/app/Http/Controllers/iCalController.php new file mode 100644 index 0000000..928976e --- /dev/null +++ b/app/Http/Controllers/iCalController.php @@ -0,0 +1,46 @@ +<?php + +namespace App\Http\Controllers; +use Illuminate\Http\Request; + +use Eluceo\iCal\Component\Calendar; +use Eluceo\iCal\Component\Event; + + +use App\Libraries\Zeitumstellung; + +class iCalController extends Controller { + /** + * Shows the index page. + * + * @return Response + */ + public function showPage(Request $request) { + + $tc = new Zeitumstellung(); + $data = $tc->getData(); + + $vCalendar = new Calendar('zeitumstellung.iamfabulous.de'); + $vCalendar->setName('Zeitumstellung'); + $vCalendar->setTimezone('Europe/Berlin'); + + $vEvent = new Event(); + $vEvent + ->setDtStart(new \DateTime($tc->dateText)) + ->setDtEnd(new \DateTime($tc->dateText)) + ->setNoTime(true) + ->setSummary('Zeitumstellung') + ->setDescription($tc->description) + ->setDescriptionHTML($tc->descriptionHTML); + + $vCalendar->addComponent($vEvent); + + header('Content-Type: text/calendar; charset=utf-8'); + + if ( '0' != $request->input('download') ) { + header('Content-Disposition: attachment; filename="zeitumstellung.ics"'); + } + + echo $vCalendar->render(); + } +} |
