Laravel package to create iCalendar/ICS files. Send new event invitations via Email and can cancel or update already sent invitation.
Install using composer:
`composer require sssurii/laravel-ics`
To publish the config, run the vendor publish command:
`php artisan vendor:publish --provider="INSAN\ICS\ICSServiceProvider" --tag=config`
-
For Laravel 5.6 or above, simply load class:
use INSAN\ICS\ICS;
-
For laravel 5.5 or below, open your
config/app.php
and add below line under 'providers':
/*
* Package Service Providers...
*/
INSAN\ICS\ICSServiceProvider::class,
Then simply load class as in step 1.
- Use package class as below:
Set various event details, pass properties as array while initializing class:
$event_properties = [
'uid' => uniqid(),
'sequence' => 0,
'description' => 'Event Invitation via email.',
'dtstart' => date('Y-m-d 09:00'),
'dtend' => date('Y-m-d 10:00'),
'summary' => 'This is an event invitation sent through email.',
'location' => 'VR Punjab, S.A.S Nagar, Chandigarh',
'url' => 'www.example.com',
];
$ics_file = new ICS($event_properties);
return $ics_file->toString();
Some optional properties can be set as below, like set organizer details
//Optional
$ics_file->setOrganizer('Surinder', '[email protected]');
If you want cancel already sent invitation, use additional code to above:
//Optional
$ics_file->markEventCancel();
Note: If want to cancel an already sent invitation, you must use same uid
which was used in invitation you need to cancel.
For bug reports, please open an issue on GitHub.