Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bvanhoekelen/icalendar-php

📆 Create easily a full iCalendar subscription service. Compatible with the best Calendar Apps, Laravel and Composer.
https://github.com/bvanhoekelen/icalendar-php

generator icalendar ics laravel parser php simple subscription

Last synced: 28 days ago
JSON representation

📆 Create easily a full iCalendar subscription service. Compatible with the best Calendar Apps, Laravel and Composer.

Awesome Lists containing this project

README

        

# 📆 PHP iCalendar simple parser tool 🛠

[![Hex.pm](https://img.shields.io/hexpm/l/plug.svg?maxAge=2592000&style=flat-square)](https://github.com/bvanhoekelen/icalendar-php/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/bvanhoekelen/icalendar-php.svg?style=flat-square)](https://github.com/bvanhoekelen/icalendar-php/releases)
[![Packagist](https://img.shields.io/packagist/dt/bvanhoekelen/icalendar-php.svg?style=flat-square)](https://packagist.org/packages/bvanhoekelen/icalendar-php)
[![Github issues](https://img.shields.io/github/issues/bvanhoekelen/icalendar-php.svg?style=flat-square)](https://github.com/bvanhoekelen/icalendar-php/issues)
```
composer require bvanhoekelen/icalendar-php
```

## Highlight
- Generate simpel ical sub

## Example
```php
setColor('#00A677')
->setName('Custom name')
->setDescription('Custom description')
->setRefreshInterval('P1H')
;

// Add Event
$calender->newEvent()
->setDtStart(new DateTime('now'))
->setDtEnd(new DateTime('+1 day'))
->setDtStamp(new DateTime('now'))
->setSummary('short summary of the event')
->setDescription('full description of the event')
->setUrl('https://www.google.nl')
// Add Location
->setLocationWizard(((new Location())
->setTitle('Koninklijk Paleis Amsterdam')
->setStreetAddress('Nieuwezijds Voorburgwal 147')
->setZipCode('1012 RJ')
->setCity('Amsterdam')
->setCountry('Nederland')
->setGeo(new Geo(52.373149,4.891342))
))
// Add organizer
->setOrganizerWizard('Bart', '[email protected]')
// Add attended
->setAttendee((new Attendee())
->wizard(Attendee::PARTSTAT_ACCEPTED, 'Bart', '[email protected]')
)
->setAttendee((new Attendee())
->wizard(Attendee::PARTSTAT_ACCEPTED, 'Henk', '[email protected]')
)
// Add repeat
->setRepeatRule((new RepeatRule(RepeatRule::FREQ_YEARLY))
->setByDay(RepeatRule::BYDAY_TH)
->setBySetPos(RepeatRule::BYSETPOS_FIRST)
->setByMonth(RepeatRule::BYMONTH_NOV)
->setCount(7)
)
;

// Render to string with headers
echo $calender->serve();

```

[See more examples](https://github.com/bvanhoekelen/icalendar-php/tree/master/examples).

# Help, docs and links
- [Packagist](https://packagist.org/packages/bvanhoekelen/icalendar-php)