Dokumentation Kalender
Autor: Jürgen Galupki, Homepage,
EMail
Der Sourcecode der entsprechenden Routinen ist über die Homepage zu beziehen (php-Seite).
Programmierung php4 und HTML.
Zum Einsatz auf einem (eigenen) System ist also ein Webserver mit
php4 notwendig.
Lizenz
© 2003 Jürgen Galupki
Der Einsatz dieser Software erfolgt auf eigene Gefahr.
Ich übernehme ausdrücklich keine Gewährleistung für durch den Gebrauch
dieser Software entstandene Schäden.
Alle Programme und Module sind von mir in meiner Freizeit selbstentwickelt
und dürfen für nichtkommerzielle Zwecke modifziert und (immer mit -
ggf. modifiziertem - Code) weitergegeben werden.
In allen Dateien ist ein Hinweis auf dieses Dokument (readme.html) einzufügen
und diese Datei selbst (readme.html) ist im Falle einer Weitergabe/Veröffentlichung immer mitzuverteilen.
Technische Einzelheiten
- Ansicht der Feiertagsdefinitionen der mitgelieferten Datei
Excel-Datei-Doku als PDF
Excel-Datei
CSV-Datei (aus Excel-Datei generiert)
Die Excel-Datei enthält ein Arbeitsblatt ("Dokumentation"), in dem die möglichen
Feiertags-/Terminarten einigermassen genau erläutert sind. Bei Fragen/Problemen/Unklarheiten ggf. melden.
Achtung: Von den php-Routinen verwendet wird nur die CSV-Datei.
Falls Sie nicht über Excel verfügen, hilft vielleicht dieses PDF-Dokument
weiter.
- Die Unterverzeichnisse:
- CSS
enthält ein CSS-Dokument (Cascading Stylesheet) das in allen Dateien verwendet wird. Angepasst
hauptsächlich auf den InternetExplorer - ggfs. nach Geschmack/Browser anpassen. Je nach Browser
reicht es u.U. auch aus, die Schriftgrößen im Browser anzupassen oder in der CSS-Datei lediglich
die Angabe "FONT-SIZE: x-small;" entsprechend zu ändern...
- DATA
enthält die Definitionsdateien für Termine/Feiertage. Es können beliebig viele Dateien angelegt
und benutzt werden. Der jeweilige Dateiname ist beim Aufruf dann mitzugeben. Es ist möglich, mehrere
Dateien nacheinander zu "laden" (um z.B. gesetzliche Feiertage und Bundeslandspezifische Feiertage
zu trennen oder um zusätzlich pers. lfd. Terminen vorzugeben). Das
Feldtrennzeichen ist ein ";" (Semikolon). Dieses Zeichen darf in den Daten selbst natürlichnicht
benutzt werden.
- DOC
ist in der "öffentlichen Distribution" leer oder gar nicht vorhanden.
- IMAGE
enthält kleinere Grafiken
- LIB
enthält die eigentlichen grundlegenden Routinen in Form von php4-Klassen:
- kalender.class.php (grundlegende Kalender- und Datumsberechnungsroutinen)
- feiertage.class.php (einlesen und berechnen der unter "DATA" beschriebenen
Definitionsdateien; Anwendung der Kalender-/Datumsroutinen)
- sonnemond.class.php (Routinen zur Berechnung der Mondphase und Dämmerungszeiten)
- minikal.php (keine Klasse, sondern Funktion zur Ausgabe eines einfachen Monatskalenders ohne
Feiertagsberechnung)
Zusätzlich sind evtl. weitere (Test-)programme enthalten.
- Das "Wurzelverzeichnis" mit den Dateien:
- Die einzelnen Routinen sind in den jeweiligen Dateien rudimentär im Source dokumentiert.
Bei Unklarheiten schreib mir eine Email.
- Wie im Source unschwer zu erkennen ist, habe ich normalerweise keine in php4 eingebauten Datumsroutinen
benutzt (Ausnahme: minikal.php). Grund hierfür ist i.d.R. die Beschränkung auf Datümer ab 1970 (Windows) bzw. 1901 (UNIX)
bis ca. 2038 (Windows+UNIX) bei den Standardfunktionen. Als "Benefit" hat man dadurch die
Möglichkeit, die Routinen komplett auch in Systeme/Sprachen zu migrieren, die nicht über "eingebaute"
Datumsroutinen verfügen, sowie die Möglichkeit Kalender für beliebige Jahre des gregorianischen
Kalenders auszugeben (im Prinzip für beliebige Monate/Jahre für julianische Tageszahlen nach Scalinger,
also so etwa vom Jahr -4*** bis +4***)
WARNUNG
Alle Beispielapplikationen und Klassen verzichten i.d.R. auf (eigentlich notwendige) Prüfungen - insbesondere
der verwendeten Formular- oder Eingangsparameter von Funktionen der Klassen. Insofern sind die Beispielapplikationen
nur als Hinweis auf die praktische Einbindung der Klassen zu verstehen. Aber auch die Klassen selbst sind nicht
sonderlich fehlertolerant ausgearbeitet. Werden die Funktionen aber mit sinnvollen Eingabeparametern versorgt, dann
sollte auch etwas sinnvolles "hinten" herauskommen, ansonsten bitte ich um eine kurze (reproduzierbare)
Fehlerbeschreibung. "register-globals" sollte auf On stehen usw.!
:-)
History
- 2003-10
Layoutänderungen,
Neue CSS-Dateien "print_*.css". Bei Aufruf z.B. mittels:
http://server/kalender/monatsblatt.php?css=print_black.css
wird neben der Verwendung des Stylesheets eine fixe Ausgabebreite von knapp 1100 Pixeln gesetzt. Ich
benutze das, um die Bildschirmausgabe in eine Grafik umzuwandeln (für einen Fotokalender, der dann
in der Größe 1200x1800 als DIN A4 hoch ausbelichtet wird)...
- 2003-10
Layoutänderungen,
"Pflegeanschluss" für Feiertags- und Termindateien via Webbrowser für die CSV-Daten (wird nicht mitgeliefert),
minikal.php ergänzt (Vormonat und Folgemonat in monatsblatt.php),
Javascript-Funktion für Terminwarnung (Popup) 15 min. vor Termin (immer wenn "hh:mm" zu Beginn Termintext)
Ausschluss von einzelnen Datümern bei Terminserien möglich (Feld nottermin)
- 2003-01
erste öffentliche Version
Viel Spaß, Jürgen