janborg / contao-ical-bundle
Bietet ical Funktionen für den Contao Kalender
Installs: 588
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 2
Type:contao-bundle
Requires
- php: ^8.1
- contao/calendar-bundle: ^4.13 || ^5.0
- contao/core-bundle: ^4.13 || ^5.0
- doctrine/dbal: ^3.6
- kigkonsult/icalcreator: ^2.4
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/http-foundation: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/routing: ^5.4 || ^6.0
- symfony/security-core: ^5.4 || ^6.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.5
- contao/easy-coding-standard: ^6.0
- contao/manager-plugin: ^2.0
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-symfony: ^1.2
- phpunit/phpunit: ^10.0.16
- shipmonk/composer-dependency-analyser: ^1.7
- symfony/phpunit-bridge: ^5.4 || ^6.0
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
README
Contao Ical Bundle
Mit diesem Bundle kann für einen Contao Kalender eine ics-Datei erstellt werden, um diesen in anderen Programmen (z.Bsp. ICSx5, GoogleCalender, etc) zu abonnieren.
Installation
Bitte nutze den Contao Manager oder führe composer require janborg/contao-ical-bundle
in deiner CLI aus, um die Erweiterung zu installieren.
Konfiguration
Das Bundle verwendet eine Standardkonfiguration.Bei Bedarf können diese Einstellungen in der Datei config/config.yml
überschrieben werden.
Parameters:
- defaultEndDateDays: Maximale Anzahl an Tagen in der Zukunft, die im Ical-Kalender berücksichtigt werden, wenn kein Ende angegeben wird
- defaultEventDuration: Zeit in Minuten, die als Dauer für ein Event angegeben wird, wenn der Termin eine Start-, aber keine Endzeit hat
# config/config.yml # Contao Ical (default settings) janborg_contao_ical: defaultEndDateDays: 365 defaultEventDuration: 60
Event oder Kalender als .ics exportieren
Über eigene Route
Das Bundle implementiert zwei neue Routes, über die eine Ical-Datei eines Events oder eines ganzen Kalenders heruntergeladen werden kann. Über entsprechende Apps (bspw.ICSx5 für Android) kann über diese Route auch ein Kalender abonniert werden.
- /ical/event/{alias} Über diese Route kann für jedes Event eine entsprechende *.ics Datei heruntergeladen werden, es sei denn, der überliegende Kalender ist geschützt. In diesem Fall muss man als berechtigter FE-User angemeldet sein.
- /ical/calendar/{ical_alias} Damit ein Kalender über diese Route exportiert und importiert werden kann, muss dies im jeweiligen Kalender aktiviert und der ical_alias hinterlegt werden. Wenn ein Kalender geschützt ist, muss man als berechtigter FE-User angemeldet sein.
Über Datei unter "/share"
Bei bedarf kann zusätzlich zur Route eine Datei /share/ical_alias.ics abgelegt werden. Hier kann keine Prüfung erfolgen, ob der Kalender geschützt ist!
ical Daten über Hook modifizieren
Es besteht die Möglichkeit die Eventdaten, die als ical bereitgestellt werden, zu modifizieren oder mit eigenen Feldern zu erweiteren. Dazu kann ein Hook editVEvent
registriert werden.
Beispiel:
<?php namespace App\EventListener; use Contao\CalendarEventsModel; use Contao\CoreBundle\DependencyInjection\Attribute\AsHook; use Kigkonsult\Icalcreator\Vevent; #[AsHook('editVEvent')] class EditVEventListener { public function __invoke(Vevent $vEvent, CalendarEventsModel $objEvent): Vevent { // Add additional data or modify $vEvent … return $vEvent; } }