osmankh / calendar-links
为Google、iCal和其他日历系统生成添加到日历的链接
1.3.1
2020-02-25 12:48 UTC
Requires
- php: ^7.0
Requires (Dev)
README
此仓库是从Spatie/calendar-links仓库分叉并修改以满足我的需求。
使用此包,您可以生成添加事件到日历系统的链接。以下是一个快速示例
(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 osmankh/calendar-links
用法
<?php use OsmanKH\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('Samberstraat 69D, 2060 Antwerpen'); // 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();
⚠️ ICS下载链接在IE和基于EdgeHTML的Edge浏览器中无法工作。
测试
composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件osmankhoder7@gmail.com或使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。