TUCAL-Modul für Öffnungszeiten
Informationen zu Öffnungszeiten von Einrichtungen der TU Chemnitz werden an vielen Stellen benötigt: auf unterschiedlichen Webseiten (deutsch und englisch), für Displays, in der „TU Chemnitz“-App, am Telefon usw. Wenn es Änderungen gibt, z. B. in der Urlaubszeit, ist es wünschenswert, diese nur an einer Stelle einzutragen, und alle Systeme zeigen die geänderten Zeiten an. Genau dafür gibt es das Modul „TUCopeningHours“.
Anlegen und Ändern von Öffnungszeiten
Jede Einrichtung ist für die Aktualisierung der eigenen Öffnungszeiten selbst verantwortlich. Zum Anlegen und zur Pflege bietet das URZ ein Webportal unter https://www-apps.hrz.tu-chemnitz.de/tucopen/. Als registrierter Administrator sehen Sie hier Ihre Öffnungszeiten und können diese zentral bearbeiten. Webseiten und Dienste, die das Modul „TUCopeningHours“ verwenden, zeigen direkt die aktuellen Öffnungszeiten an, ohne dass weitere Anpassungen vorgenommen werden müssen.
Wie kann man sich registrieren?
Schreiben Sie eine E-Mail an support@hrz.tu-chemnitz.de. Geben Sie hierbei bitte folgende Informationen an:
- Titel/Name für die Öffnungszeiten (z. B. „URZ Nutzerservice Straße der Nationen“)
- Gruppenname – Legen Sie hierzu im IdM-Portal eine Gruppe mit allen schreibberechtigten Nutzern an. Als Zielsystem wählen Sie bitte „LDAP (öffentlich)“.
- Raumnummer (optional)
Öffnungszeiten anlegen und ändern
Nach der Registrierung finden Sie im Webportal unter https://www-apps.hrz.tu-chemnitz.de/tucopen/ eine Liste aller Öffnungszeiten. Diese sind zunächst leer. Zum Bearbeiten klicken Sie den Titel der jeweiligen Daten an. Sie können die Zeiten bequem im Kalender durch Ziehen eintragen.
Dabei können gleichzeitig mehrere Zeiträume definiert werden, um z. B. zwischen Vorlesungszeit und vorlesungsfreier Zeit zu unterscheiden. Mögliche Zeiträume:
- Immer geltende Öffnungszeiten
- in den Monaten … (Zeitraum einzelner Monate von – bis)
- in den Wochen … (Zeitraum einzelner Wochen von – bis)
- vom … bis (taggenauer Zeitraum)
Schließen Sie die Bearbeitung durch den Button Absenden am Ende der Seite ab.
Nutzung für Webseiten
Zur Einbindung von Öffnungszeiten auf Webseiten gibt es PHP-Funktionen für TUCAL. Diese sind in folgenden Beispielen erläutert.
1. Holen der Informationen zu einer Öffnungszeit
Dies muss immer vor der eigentlichen Anzeige aufgerufen werden:
require_once('php/openinghours.inc');
$open = new tucal_openinghours('87229ad8-c468-483a-9e0d-bb028bd822fe');
# tucal_openinghours('uuid'[, 'sprache']);
# uuid erfahren Admins in der Administratorschnittstelle
# sprache: 'de' oder 'en', kann weggelassen werden, dann ist es die Sprache der Seite
2. Ausgabe von Informationen
echo $open->is_open(); # Ausgabe, ob aktuell geöffnet oder geschlossen
echo $open->status(); # … , ob aktuell geöffnet (bis wann) oder geschlossen (ab wann geöffnet)
echo $open->opening_hours([array $format]); # Ausgabe der aktuellen Öffnungszeiten (momentane Woche)
# $format – weggelassen: jeder Tag, an dem geöffnet ist
# array('all'): jeder Tag, auch wenn geschlossen
# array('week'): jeder Tag auch wenn geschlossen, außer Samstag+Sonntag, wenn diese ebenfalls geschlossen
# array('short'): Wochentage werden mit zwei Buchstaben abgekürzt
Beispiel
echo '<p>1. Momentan ist … ' . $open->is_open() . '.</p>';
echo '<p>2. Momentan ist … ' . $open->status() . '.</p>';
echo '<p>3. Unsere Öffnungszeiten (diese Woche):</p><p>' . $open->opening_hours() .'</p>';
echo '<p>4. Unsere Öffnungszeiten (diese Woche) komplett:</p><p>' . $open->opening_hours(array('all')) .'</p>';
echo '<p>5. Unsere Öffnungszeiten außer am Wochenende:</p><p>' . $open->opening_hours(array('week')) .'</p>';
1. Momentan ist … geschlossen.
2. Momentan ist … geschlossen, öffnet am 02.01.2025 um 08:45 Uhr.
3. Unsere Öffnungszeiten (diese Woche):
4. Unsere Öffnungszeiten (diese Woche) komplett:
5. Unsere Öffnungszeiten außer am Wochenende:
Alle verfügbaren Daten zu den Öffnungszeiten stehen im PHP-Objekt $open->opening
zur Verfügung
und können für eigene Ausgaben verwendet werden.
# Zum Test alles ausgeben:
echo '<pre>' . print_r($open->opening, 1) . '</pre>';
stdClass Object ( [title] => URZ Nutzerservice Str. d. Nationen [uuid] => 87229ad8-c468-483a-9e0d-bb028bd822fe [url] => https://www-apps.hrz.tu-chemnitz.de/tucopen/api/v1/openinghours/87229ad8-c468-483a-9e0d-bb028bd822fe/ [description] => allgemeine Öffnungszeit URZ-Nutzerservice [room] => stdClass Object ( [code2017] => A13.072 [building] => stdClass Object ( [code] => A13 [name] => Böttcher-Bau [coordinates] => 50.838983, 12.929071 [postaladdress] => Straße der Nationen 62 [postalcode] => 09111 [localityname] => Chemnitz [uuid] => ec7aa419-86eb-4233-9610-497bc618ea5e [url] => https://tucrooms.hrz.tu-chemnitz.de/tucrooms/api/v1/building/ec7aa419-86eb-4233-9610-497bc618ea5e/?format=json ) [uuid] => a40203d4-0e41-4fa9-a05a-ac4d4b8e8ad3 [url] => https://tucrooms.hrz.tu-chemnitz.de/tucrooms/api/v1/room/a40203d4-0e41-4fa9-a05a-ac4d4b8e8ad3/?format=json [display_name] => A13.072 (alt: 1/072) [campus_finder_url] => https://mytuc.org/r/A13.072 ) [hours] => Tu,Th 08:45-11:45,12:30-15:30; PH off; Dec 05 off [hours_parsed] => stdClass Object ( [hours_list] => Array ( [0] => Array ( [0] => 2025-01-02T08:45:00 [1] => 2025-01-02T11:45:00 ) [1] => Array ( [0] => 2025-01-02T12:30:00 [1] => 2025-01-02T15:30:00 ) ) [hours_by_date] => stdClass Object ( [2024-12-30] => [2024-12-31] => [2025-01-01] => [2025-01-02] => Array ( [0] => Array ( [0] => 08:45:00 [1] => 11:45:00 ) [1] => Array ( [0] => 12:30:00 [1] => 15:30:00 ) ) [2025-01-03] => [2025-01-04] => [2025-01-05] => ) [hours_by_weekday] => stdClass Object ( [Mo] => [Tu] => [We] => [Th] => Array ( [0] => Array ( [0] => 08:45:00 [1] => 11:45:00 ) [1] => Array ( [0] => 12:30:00 [1] => 15:30:00 ) ) [Fr] => [Sa] => [Su] => ) [week_description_en] => stdClass Object ( [Monday] => closed [Tuesday] => 8:45 AM – 11:45 AM and 12:30 PM – 3:30 PM [Wednesday] => closed [Thursday] => 8:45 AM – 11:45 AM and 12:30 PM – 3:30 PM [Friday] => closed [Saturday] => closed [Sunday] => closed ) [description_en] => Array ( [0] => On Tuesday and on Thursday: 8:45 AM – 11:45 AM and 12:30 PM – 3:30 PM. [1] => On public holidays: closed. [2] => December 5: closed. ) [is_open] => [next_change] => 2025-01-02T08:45:00 [week_description_de] => stdClass Object ( [Montag] => geschlossen [Dienstag] => 08:45 – 11:45 und 12:30 – 15:30 [Mittwoch] => geschlossen [Donnerstag] => 08:45 – 11:45 und 12:30 – 15:30 [Freitag] => geschlossen [Samstag] => geschlossen [Sonntag] => geschlossen ) [description_de] => Array ( [0] => Am Dienstag und am Donnerstag: 08:45 – 11:45 und 12:30 – 15:30. [1] => An Feiertagen: geschlossen. [2] => December 5: geschlossen. ) ) )
Sie können auf diese Daten direkt zugreifen, zum Beispiel auf den Titel:
# Gib Titel und Öffnungszeiten strukturiert mit Formatierung aus:
# class spacebold ist so definiert:
# div.openinghours div.spcb {padding:1em 0} div.openinghours div.spcb div:first-child {font-weight:bold}
echo '<div class="row"><div class="col-xm-3"><strong>' .
htmlspecialchars($open->opening->title) . '</strong></div>' .
'<div class="col-xm-9">' .
$open->opening_hours(array('short', 'class-row' => 'linie grey spcb')) . '</div></div></p>';