Google Calendar 2 DataBase
In Google Calendar kann ein .ics-Stream eingerichtet werden. Die strukturierten Daten in diesem Stream werden von einem Script regelmäßig aufgerufen und der Inhalt in eine Datenbank geschrieben und synchronisiert.
Dann wird die Datenbank aufgerufen und die Termine übersichtlich in einem Zweier-Raster dargestellt. Der Zeitraum kann definiert werden. Die Beschreibung aus Googles Calendar wird repariert und formatiert. Die Orte werden mit unterschiedl. Badges dargestellt. Ganztägige Ereignisse werden aufgrund Fehlen der Zeiten erkannt. Und mehrtägige Termine richtig mit Datum und Uhrzeit dargestellt.
Import-Script Anzeige-Script Download-Script manueller Import
Das sind die Einzelschritte in diesem Import-Script
- Fehlerberichterstattung für Entwicklung aktivieren
- Einbinden Parser-Dateien
- Datenbank-Konfiguration
- Zeitzone setzen
- Datenbank-Verbindung herstellen
- sync_token Spalte hinzugefügt
- ICS-Parser initialisieren
- Alle Ereignisse abrufen
- Aktuellen Sync-Token generieren (für diese Synchronisation)
- Zähler für importierte Ereignisse
- Hilfs-Map für Wochentag-Übersetzung
- Prüfen, ob es sich um ein wiederkehrendes Ereignis handelt
- RRULE in Komponenten aufteilen
- Startdatum des Ereignisses
- Enddatum des Ereignisses
- Dauer des Ereignisses
- Frequenz bestimmen (DAILY, WEEKLY, MONTHLY, YEARLY)
- Intervall (jede X Tage/Wochen/Monate/Jahre)
- Maximale Anzahl der Wiederholungen
- UNTIL-Datum (wenn vorhanden)
- BYXXX-Regeln (by day, by week, by month...)
- Ende der Wiederholungen bestimmen
- Iterieren und Wiederholungen erzeugen
- Zum ersten Datum nach oder gleich dem rangeStart springen
- Schleife durch alle Wiederholungsdaten
- BYDAY-Regeln prüfen
- BYMONTHDAY-Regeln prüfen
- BYMONTH-Regeln prüfen
- Endzeit berechnen
- Für die Datenbank formatieren
- Eindeutige ID für diese spezifische Instanz erstellen
- Weitere Ereignisdaten
- In Datenbank speichern / aktualisieren
- Zum nächsten Datum voranschreiten
- Wiederkehrendes Ereignis verarbeitet
- Nicht-wiederkehrendes Ereignis verarbeiten
Das sind die Einzelschritte in diesem Anzeige-Script
- Fehlerberichterstattung nur für kritische Fehler (in Produktion)
- Datenbank-Konfiguration
- Zeitzone setzen
- Datenbank-Verbindung herstellen
- UTF-8 Zeichensatz für die Verbindung setzen
- Verbindung prüfen
- Zeitraum für die Anzeige festlegen
- Debug-Modus aktivieren (GET-Parameter debug=1)
- SQL-Abfrage mit PREPARED STATEMENT für mehr Sicherheit
- Funktion zur Übersetzung englischer Monatsnamen ins Deutsche
- Debug-Informationen anzeigen, wenn aktiviert
- Beschreibung verarbeiten - entweder HTML erlauben oder escapen
- Ort mit Bootstrap 5 Badges formatieren
- Ganztägige Ereignisse erkennen
- Ganztägige, mehrtägige Ereignisse erkennen
- Wochentag ermitteln
- Übersetze Wochentage ins Deutsche
- Datum formatieren (Tag ohne führende Null, Monat ausgeschrieben)
Das sind die Einzelschritte in diesem Download-Script
- Logging-Funktion
- Prüfen, ob eine ID übergeben wurde
- Konfiguration Firma, Homepage, E-Mail
- Zeitzone setzen
- Datenbank-Verbindung herstellen
- Termindetails abrufen
- iCalendar-Datei erstellen
- Prüfen, ob es ein ganztägiges Ereignis ist
- Für ganztägige Ereignisse das Format anpassen
- Ein eindeutiger Bezeichner für die Veranstaltung
- Aktuelles Datum für DTSTAMP
- Beschreibung bereinigen (HTML-Tags entfernen, etc.)
- Location bereinigen
- iCalendar-Header setzen
- Veranstaltungsinformationen
- Organisator hinzufügen (optional)
- URL zur Website (optional)
- Status des Ereignisses
- Abschluss der Veranstaltung und des Kalenders
- Header für den Download setzen
- Datei ausgeben