Navigation

Springe zum Hauptinhalt
Universitäts­rechen­zentrum
Einbinden von Kalendern

Einbinden von Kalendern

Webautoren können mit TUCAL bereitgestellte PHP-Funktionen nutzen, um einfach interaktive Kalenderansichten in Webseiten einzubinden. Dazu ist auf Clientseite JavaScript notwendig.

Diese Funktionalität ist speziell zur Veröffentlichung von Gruppenkalendern (im IdM-Portal konfigurierbar) mit den möglichen Inhaltsabstufungen Nur Verfügbarkeit, Eingeschränkte Details und Leserechte gedacht.

Zur Verwendung muss im Seitenkopf die Datei php/calendar.inc eingeschlossen werden:

# Kalender-Funktionen einbinden
require_once('php/calendar.inc');

Funktionen

calendar_init(string|array $url [, string $id, array $options])

Initialisiert eine Kalenderansicht. Muss vor Aufruf von seite(…) aufgerufen werden.

Parameter

$url
  • MS-Exchange-Secret-Kalenderadresse (wird vom IdM-System generiert) oder
  • iCal-Kalenderadresse oder
  • Feld mit mehreren Kalenderadressen und zugeordneten Optionen:
    array(array('source' => 'unimsx://CAL1HASH', …), array('source' => 'cal2.ics', …))
    (Die möglichen Optionen sind bei der Erklärung zu $options mit # markiert.)
$id Eindeutiger Bezeichner für die Kalenderinitialisierung. Wird für calendar_show() benötigt. Ist erst notwendig, wenn mehr als ein Kalender auf einer Seite eingebunden werden soll – oder wenn Optionen gesetzt werden.
$options
Feld mit Optionen, die die Darstellung des Kalenders beeinflussen:
header_left Angezeigte Knöpfe und Titel oben links (left), mittig (center) und rechts (right). Mögliche Werte (getrennt durch Komma – ohne Abstand – oder Leerzeichen – mit kleinem Abstand):
 'title' (Kalendertitel – aktueller Monat/Tag),
 'prev' (Knopf zum Zurückschalten auf vorigen Monat/Tag),
 'next' (Knopf zum Vorschalten auf nächsten Monat/Tag),
 'prevYear' (Knopf zum Zurückschalten auf voriges Jahr),
 'nextYear' (Knopf zum Vorschalten auf nächstes Jahr),
 'today' (Knopf zum Umschalten auf Ansicht des aktuellen Monats/Tags) sowie
 die bei defaultView genannten Werte für Knöpfe zum Umschalten der Ansicht
Standard: 'prev,next today' für header_left, 'title' für header_center und 'month,agendaWeek,agendaDay' für header_right
header_center
header_right
defaultDate Anzeigedatum beim Kalenderaufruf (ISO-8601-Datumsangabe)
Standard: 'Moment' (= jetzt)
eventLimit „weitere-#“-Link anzeigen, wenn zu viele Ereignisse
 False (keine Beschränkung) oder
 True (Beschränkung auf Standardhöhe der Kalenderzelle) oder
 [Zahl] (Beschränkung auf [Zahl] Ereignisse)
Standard: True
defaultView Standard-Kalenderansicht. Mögliche Werte:
 'month' (Anzeige eines ganzen Monats in Tabellenform mit einer Woche pro Zeile),
 'basicWeek' (Anzeige einer ganzen Woche in Tabellenform mit den Terminen in Listenform),
 'basicDay' (Anzeige eines einzelnen Tags mit den Terminen in Listenform),
 'agendaWeek' (Anzeige einer ganzen Woche in Tabellenform; mehr-/ganztägige Termine werden separat oben dargestellt),
 'agendaDay' (Anzeige eines einzelnen Tags in Tabellenform; ganztägige Termine werden separat oben dargestellt)
 'listMonth' (Anzeige eine kompakten Liste aller Termine einer Monats)
 'listWeek' (Anzeige eine kompakten Liste aller Termine einer Woche)
 'listDay' (Anzeige eine kompakten Liste aller Termine eines Tages)
Standard: 'month'
slotDuration Länge eines Zeitslots (d. h. einer Tabellenzelle). Syntax: 'hh:mm:ss'
Standard: '00:30:00' (30 min)
aspectRatio Gewünschtes Seitenverhältnis Breite/Höhe der Kalenderansicht (Dezimalzahl mit Punkt statt Komma als Trenner).
Standard: 1.35
minTime Startzeit der Kalender-Tagesansicht. Syntax: 'hh:mm:ss'
Standard: automatisch
color# (Hintergrund-)Farbe, in der der Kalender dargestellt werden soll (CSS-Farbangabe). Bei mehreren Kalendern werden alle Kalender in dieser Farbe dargestellt (außer, wenn für jeden Kalender eine eigene Farbe angegeben wird – siehe bei $url).
Standard: automatisch
borderColor# Rahmenfarbe der Kalendereinträge (CSS-Farbangabe)
Standard: automatisch
textColor# Textfarbe der Einträge (CSS-Farbangabe)
Standard: automatisch
className# Angabe eines CSS-Klassennamens, der für Einträge dieses Kalenders gesetzt wird. Damit sind zusätzliche Stildefinitionen möglich.
Standard: nicht gesetzt

Rückgabewert

Keiner.

calendar_show([string $id])

Wird an der Stelle gerufen, an der der Kalender dargestellt werden soll.

Parameter

$id Bezeichner, der bei der Kalenderinitialisierung vergeben wurde.

Rückgabewert

Keiner.

Beispiele

calendar_init('unimsx://7MNR3Z4RMXY0YB4QMBL1');    // Testkalender; eingeschränkte Details
calendar_show();
Entschuldigung. Ein serverseitiges Skript ist kurzzeitig nicht verfügbar.
Lädt…
calendar_init(
    array(
        array(
            // https://chemnitzer.linux-tage.de/2015/de/programm/plan
            'source' => 'https://chemnitzer.linux-tage.de/2015/de/api/ical/programm/vortrag',
            'color' => '#000080',
            'className' => 'small_text'
        ),
        array(
            // iCal-Datei im gleichen Verzeichnis
            'source' => 'calendar_demo.ics',
            'color' => '#FF4040',
            'textColor' => '#000080',
            'borderColor' => '#00FF00'
        )
    ),
    'demo2',    // $id
    array(
        'header_left' => 'title',
        'header_center' => 'agendaDay,agendaWeek,month basicDay,basicWeek',
        'header_right' => 'today prev,next prevYear,nextYear',
        'defaultDate' => '2015-03-21',
        'eventLimit' => False,
        'defaultView' => 'agendaDay'
    )
);
calendar_show('demo2');
Entschuldigung. Ein serverseitiges Skript ist kurzzeitig nicht verfügbar.
Lädt…

Presseartikel