labomatik/calendar-links

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

1.7.3 2023-06-06 10:20 UTC

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)。请参阅许可文件以获取更多信息。