janborg/contao-ical-bundle

Bietet ical Funktionen für den Contao Kalender

Installs: 222

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 1

Open Issues: 1

Type:contao-bundle

0.2.2 2024-04-24 04:34 UTC

This package is auto-updated.

Last update: 2024-04-24 04:37:39 UTC


README

GitHub license Packagist Version Packagist

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 Tage in der Zukunft an, die im Ical-Kalender berücksichtigt werden, wenn kein Ende angegeben wird
  • defaultEventDuration: Zeit in Minuten an, 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_contaoical:
  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 die im jeweiligen Kalender aktiviert werden 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;
    }
}