osmankh/calendar-links

为Google、iCal和其他日历系统生成添加到日历的链接

1.3.1 2020-02-25 12:48 UTC

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)。有关更多信息,请参阅许可证文件