/**
  * Export the current users lesson in the .ical format.
  *
  * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
  */
 public function export()
 {
     $user = Auth::user();
     $lessons = Auth::user()->lessons;
     // Creating the .ical output
     $calendar = new \makinuk\ICalendar\ICalendar();
     foreach ($lessons as $lesson) {
         $event = new \makinuk\ICalendar\ICalEvent();
         $event->setUId(uniqid($lesson->id))->setStartDate($lesson->time_start->getTimestamp())->setEndDate($lesson->time_end->getTimestamp())->setSummary($lesson->name)->setDescription($lesson->details)->setOrganizer(new \makinuk\ICalendar\ICalPerson($user->email, $user->email));
         $calendar->addEvent($event);
     }
     $output = $calendar->getCalendarText();
     // Automatically download the .ical file
     $headers = ["Content-Type" => 'text/calendar', "Content-Disposition" => 'attachment; filename="lessons.ical"'];
     return Response($output, 200, $headers);
 }
示例#2
0
<?php

require_once "../vendor/autoload.php";
$ical = new makinuk\ICalendar\ICalendar();
$event = new makinuk\ICalendar\ICalEvent();
$event->setUId("11223344")->setStartDate(strtotime("+24 hours"))->setEndDate(strtotime("+25 hours"))->setSummary("Summary is here")->setDescription("Description area is here")->setLocation("Istanbul")->setOrganizer(new makinuk\ICalendar\ICalPerson("Mustafa AKIN", "*****@*****.**"))->setAlarm(new makinuk\ICalendar\ICalAlarm(0, 1, 10, 0));
$ical->addEvent($event);
//$ical->getCalendarText();
//$ical->show();
$ical->saveToFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . "simpleEventAdd.ics");