labomatik / calendar-links
为Google、iCal和其他日历系统生成添加到日历的链接
1.7.3
2023-06-06 10:20 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- spatie/phpunit-snapshot-assertions: ^4.0
- vimeo/psalm: ^4.7
README
从Spatie分叉而来
使用此包,您可以生成向日历系统添加事件的链接。以下是一个快速示例
(new Link( 'Birthday', DateTime::createFromFormat('Y-m-d H:i', '2018-02-01 09:00'), DateTime::createFromFormat('Y-m-d H:i', '2018-02-01 18:00') ))->google();
这将输出: https://calendar.google.com/calendar/render?action=TEMPLATE&text=Birthday&dates=20180201T090000/20180201T180000&sprop=&sprop=name:
如果您点击该链接(并且已通过Google进行身份验证),您将看到一个将事件添加到您的日历的屏幕。
该包还可以生成可以打开的ics文件,包括Microsoft Outlook、Google Calendar和Apple Calendar在内的多个电子邮件和日历程序。
安装
您可以通过composer安装此包
composer require labomatik/calendar-links
用法
<?php use Labomatik\CalendarLinks\Link; $from = DateTime::createFromFormat('Y-m-d H:i', '2018-02-01 09:00'); $to = DateTime::createFromFormat('Y-m-d H:i', '2018-02-01 18:00'); $link = Link::create('Sebastian\'s birthday', $from, $to) ->description('Cookies & cocktails!') ->address('rue de fer 125, 5380 Namur') ->attendee(['john@doe.com','silver@bullet.com']) ->organizer(['name'=>'Christophe', 'email'=>'christophe@labo.com']) ->eventUrl('http://my.domain.com/eventID') ->method('REQUEST'); // Generate a link to create an event on Google calendar echo $link->google(); // Generate a link to create an event on Yahoo calendar echo $link->yahoo(); // Generate a link to create an event on outlook.com calendar echo $link->webOutlook(); // Generate a data uri for an ics file (for iCal & Outlook) echo $link->ics(); // Generate a data uri for an ics file with custom ID echo $link->ics('custom_id');
变更日志
请参阅CHANGELOG了解最近更改的详细信息。
测试
composer test
贡献
请参阅CONTRIBUTING了解详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件cris@labomatik.com而不是使用问题跟踪器。
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。