"Event-Kalender" ist urheberrechtlich geschützt bei Werner Zenk – alle Rechte vorbehalten.
Diese Seite dient zum Testen meiner eigenen Modifizierungen am Event-Kalender, entsprechend erscheinen Zeitweise auch Fehlermeldungen! Die Modifizierungen werden ggf. von Werner Zenk hier veröffentlicht.
TOOLS
AUTO-INSTALLER
Mit dem Script AUTO-INSTALLER kann die automatische Installation eines neunen Updates des Event-Kalenders ausgeführt werden.
Der Script legt zur Sicherheit alle seit dem letzten Update geänderten Dateien im Ordner Zeitstempel_VersionInst_update ab.
Der Script wird gestartet aus der verbindung.php mit der Modifikation "Versionsüberprüfung wenn der User Admin ist". Siehe am Ende der verbindung.php.
Der Script setzt einen Cookie von 24 Stunden Gültigkeit, somit erfolgt der Abruf auf eine neue Version alle 24 Stunden wenn der Admin den Event-Kalender aufruft.
Um der DS-GVO gerecht zu werden, wird darauf hingewiesen, dass
- die Benutzung von AUTO-INSTALLER einen Cookie von jeweils 24 Stunden Gültigkeit im aufrufenden Browser setzt
- die Benutzung von AUTO-INSTALLER in den Log-Dateien des Servers auf dem die PHP-Scripte von AUTO-INSTALLER arbeiten (hier checkip.net) die IP-Adresse des aufrufenden Browsers und alle Informationen, die dieser preisgibt hinterlässt. Solltest Du damit nicht einverstanden sein, verwende den AUTO-INSTALLER nicht.
- die Benutzung von AUTO-INSTALLER in den Log-Dateien des Servers werner-zenk.de die IP-Adresse des aufrufenden Servers auf dem die PHP-Scripte von AUTO-INSTALLER arbeiten (hier checkip.net) und alle Informationen, die dieser preisgibt hinterlässt. Solltest Du damit nicht einverstanden sein, verwende den AUTO-INSTALLER nicht.
- bei Verwendung von AUTO-INSTALLER solltest Du auf der Webseite entsprechende Hinweise im Sinne der DS-GVO veröffentlichen.
CSV-Import von Outlook in den Event-Kalender: https://event-kalender.checkip.net/tools/csv_outlook_import.php?AlleIN&Print
Die CSV-Importdatei muss in der ersten Zeile die Feldnamen enthalten. Die Reihenfolge und die Benamung muss einem Standardexport von Outlook entsprechen (keine Verschiebung, keine Umbenamung)!
Der Ex- / Import kann auch zur Sicherung genutzt werden. Desweiteren ist dieser hilfreich bei einem Update des Event-Kalenders mit zusätzlich neuen Feldern. Exportiern Sie erst aus dem Event-Kalender, dann installieren Sie das neue Update und führen die installation.php aus, löschen Sie dann die Daten im Event-Kalender und führen Sie danach den Import aus.
Oder nutzen Sie den Ex- / Import zum Modifizieren der Daten, zum Beispiel zum Anlegen von wiederkehrenden Events. Legen Sie dazu ein Event im Event-Kalender mit der Kategorie EXPORT an, exportieren Sie dann die Daten mit folgendem Aufruf https://event-kalender.checkip.net/tools/csv_event-kalender_export.php?Suche=kategorie:EXPORT&Print. Öffnen Sie die Datei event-kalender.csv mit einem Editor, kopieren Sie die Zeile mit dem Event und fügen Sie danach die kopierte Zeile x-mal ein. Ändern Sie dann die Werte in "20XX-XX-XX 00:00:00","20XX-XX-XX 00:00:00" und die Kategorie in den eingefügten Zeilen und speichern Sie die Datei (UTF-8!), danach starten Sie den Import.
Exportieren Sie zum Beispiel die Daten mit folgendem Aufruf https://event-kalender.checkip.net/tools/csv_event-kalender_export.php?Suche=kategorie:GEBURTSTAG&Print. Öffnen Sie die Datei event-kalender.csv in einem Editor, ändern Sie dann den Wert bei Wiederholung in "1" in allen Zeilen, speichern Sie die Datei (UTF-8) und danach starten Sie den Import. Voila!, alle Geburtstage sind jetzt auf Wiederholung gesetzt.
OAuth-Client-ID Credentials File vom Type Desktop in den Ordner OAuth kopieren
in der Datei quickstart.php $credentials_file setzen auf Speicherort des OAuth-Client-ID Credentials File
in der Kommandozeile Script mit "php quickstart.php" aus dem Ordner google_calendar_get_events starten und Anweisung folgen
wenn ohne Fehlermeldung Shell-Script '/.../quickstart.sh' in der Crontab mit gewünschter Ausführungszeit eintragen
Mögliche Aufrufe des Scripts:
php quikstart.php wählt alle Events des aktuellen Jahres
php quikstart.php YYYY wählt alle Events des angebenen Jahres
php quikstart.php YYYY-MM wählt alle Events des angebenen Monats des Jahres
Modifizierungen
Import von schulkalender.org, calovo.de, ferienwiki.de und vielen anderen. Ich habe 61 verschiedene ICS-Dateien aus unterschiedlichen Portalen importiert ohne Fehler.
Enthält der Inhalt der Importdatei irgendwo das Wort "Schulferien" wird die Kategorie auf "SCHULFERIEN" gesetzt.
Import DESCRIPTION wenn Kategorie nicht SCHULFERIEN oder ICS-Datei nicht von calovo.de
Ist der SUMMARY länger als 65 Zeichen wird die SUMMARY in Originallänge in die DESCRIPTION/Beschreibung geschrieben. Parlamentstermine_2020_ics-data.ics importieren und dann siehe Event 3.September 2020
Import setzt Volltag 0 oder 1
Tritt beim Import der ICS-Datei ein Fehler auf, werden Fehlermeldung, SQLError, SUMMARY, DTSTART ZEIT - DTEND ZET, LOCATION, DESCRIPTION sowie der Inhat der Datei aufgelistet zur Fehleranalayse
Obige Punkte wurden inzwischen von Werner Zenk in den Event-Kalender übernommen!
Mit der Modifikation SENDE-EVENT-MAIL wird das Event bei Eintrag und Änderung an die der Kategorie zugewiesenen E-Mail-Adresse bei aktiviter Benachrichtigung gesendet.
Modifiziert werden die Scripte verbindung.php und kalenderform.php. Der Script kalendersende-event-mail.php wird im Ordner inlcude abgelegt. kalendersende-event-mail.php kann entsprechend an die eigene Gestaltung der E-Mail angepasst werden.
Kleines Gimmick: Schick Dir selbst ne E-Mail! < setze DEINE E-Mail-Adresse in Adresse und ein Häkchen bei Benachrichtigung > (Bitte keinen Unfug. Danke!)
Erweiterungen
ACCESSLINK erlaubt die Anmeldung am Event-Kalender ohne Eingabe von Benutzername und Passwort.
Der ACCESSLINK sollte vom Benutzer wie ein Passwort behandelt werden. Wer den Link besitzt kann sich anmelden! Die Nutzung von ACCESSLINK kann für eine schnelle Eingabe von Events in den Kalender genutzt werden. Möglich ist auch beides: ACCESSLINK und LOGIN. So kann zum Beispiel mit ACCESSLINK schnell und kurzfristig einem temporären Nutzer Zugriff gewährt werden. Die Verwendung und die Entscheidung ob nutzbar und sinnvoll liegt beim Kalender-Admin.
Hier kann man zum Testen einen und dann den Event-Kalender mit dem erzeugten Link aufrufen. (Der hier erzeugte ACCESSLINK ist nur bis zum Ablauf des Erzeugungstages gültig!)
Der ACCESSLINK kann auch die in einem Formular erfassten Werte enthalten: $accesspass=myencrypt($benutzername."|".$vorname."|".$nachname."|".$strasse."|".$plz."|".$ort."|".$dateiname);. Die dann wiederum mit explode() getrennt werden können.
DBEXPORT / DBIMPORT exportiert die Datenbank in eine sql-Datei, bzw importiert die Daten aus dieser.
Mit DBEXPORT werden die Daten aus der Datenbank mit Feldangabe in eine sql-Datei mit dem Dateinamen JJJJMMTTSS_event-kalender.sql gespeichert. DBEXPORT kann auch als Backup für den Event-Kalender genutzt werden, dafür trägt man einfach die Ausführung des Scripts in die Crontab des Servers ein.
Mit DBIMPORT werden die Daten zurück in die Datenbank importiert, dabei werden die PHP-Variablen aus der Datei lastexport.inc.php included und der sich aus $LAST_DATUM ergebende Dateiname als entsprechende Datei zum Import genutzt.
Die Scripte laufen unabhängig von der Version des Event-Kalenders!
Wird bei einer neuen Version des Event-Kalenders die Struktur der Datenbank mit Feldern erweitert, geht man wie folgt vor:
Script dbexport.php ausführen
neue PHP-Dateien auf den Host übertragen
installation.php ausführen und danach die Datei löschen
Script dbimport.php ausführen
kalender2srvics exportiert die Datenbank in eine ics-Datei.
Event-Kalender wird in die Server Datei domain.tld/ics/myICS.ics gespeichert
Mit einem Smartphone kann diese als Kalenderabo abonniert werden: domain.tld/ics/myICS.ics
Alarm: 1 Tag und 1 Stunde vor dem Event
getestet mit iPhone, iPad, Mac OS X, Samsung Note
Aufruf des PHP-Scripts unter Plesk - Geplante Aufgaben (stündlich oder anders): /var/www/vhosts/domain.tld/kalender/kalender2srvics.php
oder per shell-Script: php /var/www/vhosts/domain.tld/kalender/kalender2srvics.php