/** * 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); }
<?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");