hier online testen - für Datumsrechnung dann Symbol


anklicken
Datumsrechnung ist ein Bestandteil des
php Kalenderklassen - Paketes.
Ein Onlinetool für Datumsrechnung, Ermittlung der Anzahl Arbeitstage oder Arbeitsstunden im Jahr oder für einen bestimmten Zeitraum, Anzahl der Feiertage im Jahr, Verteilung der Kalendertage, Arbeitstage und freie Tage (Feiertage) eines Jahres (oder Zeitraums) auf Wochentage (z.B. nützlich, um die benötigte Anzahl von Urlaubstagen für einen Zeitraum herausfinden, oder die Anzahl der Arbeitstage im Jahr für die Einkommensteuererklärung, oder die Anzahl der verstrichenen Tage seit Geburt, oder...)
Optionen I (Zeitraum, Geografische Position)
- Man gibt ein Startdatum (t.m.jahr) ein
- wählt durch anklicken der gewünschten Option die Art der auszuführenden Datumsrechnung:
- plus (Eingegebenes Datum plus X Tage = Zieldatum), oder minus (Eingegebenes Datum minus X Tage = Zieldatum), oder bis einschliesslich (Eingegebener Zeitraum = X Tage)
- tippt - je nach ausgewählter Berechnungsart - die Anzahl Tage oder das Endedatum
- ändert optional die geografische Position (für den ersten und letzten Tag werden Sonnenauf- und -untergangszeiten bzw. Beginn und Ende der ausgewählten Dämmerungszeiten und die aktuelle Mondphase ausgegeben)
- und klickt dann auf Neu berechnen:

Optionen II (Arbeitstag- und Feiertags-Definition)
Bei Bedarf ändert man vorher ggf.
- die Definitionen für die normalen regelmäßigen Arbeitstage (Montag bis Sonntag)
- die Definitionen der arbeitsfreien Tage (Gesetzliche und sonstige Feiertage, voreingestellt ist NRW mit rheinischem Einschlag (Rosenmontag...)
Dabei hat man die Wahl, die Zeiten jeweils
- in Arbeitstagen (z.B. 0=frei, 1=Arbeitstag, 0.5=halber Arbeitstag...) oder
- in Industriestunden (z.B. 0=frei, 8=8 Stunden, 3.5=Dreieinhalb Stunden...) anzugeben (arbeitet man regelmäßig z.B. nur an bestimmten Wochentagen, kann man das hier auch entsprechend vorgeben - alternierender Schichtdienst ist nicht vorgesehen, nur ein regelmäßiges Wochenarbeitszeitmodell)

Die gesetzlichen Feiertage werden automatisch berücksichtigt, regionale bzw. besondere arbeitsfreie Tage lt. Kalenderdefinition (z.B. Rosenmontag, Fronleichnam, Silvester usw.) werden optional zum ändern angeboten...
Ergebnisse
Es wird aufgrund der o.a. Daten und Optionen je nach Anforderung das
- Zieldatum bzw. die Anzahl der Tage berechnet
- für Start- und Zieldatum wird zusätzlich der lfd. Tag im Jahr, der Wochentag, die Kalenderwoche, die Julianische Tageszahl, je nach Auswahl oben Sonnenauf-/Untergangszeit bzw. Dämmerungszeiten und das Mondalter an diesen Tagen ausgegeben:

Julianische Tageszahl: Fortlaufende Zahl für ein Datum, z.B. 01.01.2008 = 2454467 + 365 Tage dazu = 2454832 = 31.12.2008!
Beachtet hierbei die Besonderheit von einem Tag zusätzlich in der Summe (Startdatum zählt ja schon als 1 Tag, weitere 365 Tage "mehr" sind in der Summe also 366 Tage (2008 ist ein Schaltjahr)!
Ergänzend werden zwei Tabellen für den ausgewählten (berechneten) Zeitraum ausgegeben:
- Liste aller Feiertage (rot) und besonderen Tage (schwarz)
- Verteilung der Kalendertage, Arbeitstage (bzw. Arbeitsstunden) und Feiertage des Zeitraums auf die einzelnen Wochentage (Montag-Sonntag, z.B. wie viele Arbeitstage waren Donnerstage, wie viele Feiertage entfallen auf Samstag/Sonntag usw.):

Diese beiden zusätzlichen Tabellen werden allerdings nur angezeigt, wenn der Zeitraum zwischen den Datümern max. drei Jahre beträgt (ansonsten nur der erste Ergebnisblock mit Start- und Endedatum).
29.04.2008 16:30:54h

download 1.0b
Dokumentation
04.03.2010 exploit Warnung RFI fwiki datumscalc.php monatsblatt.php Variable $kal_class_path
Eintrag zu RFI bei securityreason.com zu fwiki
- Ein Hinweis zu einem möglichen RFI (remote file include/injection, d.h. über die Variable soll eine "fremde" Datei eingebunden werden, die eine entsprechende "schädliche" Wirkung hat)
- es geht um die Variable $kal_class_path
Was in der Exploit-Meldung aber nicht steht:
- unmittelbar vor dem einbinden der Files (mit include_once) wird auch jeweils die (lokale) Datei setup.php in die Scripte inkludiert
- setup.php wiederum setzt die betroffene Variable auf einen fixen (lokalen) Wert (im Standard-Auslieferungsumfang jedenfalls) und überschreibt somit die evtl. von aussen gesetzte Zeichenkette bevor etwas passieren kann!
Eine Möglichkeit zum RFI (über diese Variable jedenfalls
) ist somit m.E. nicht gegeben. securityreason.com meldet(e) sich nicht nach einer Bitte zur Korrektur von mir. Mittlerweile wird das auch von anderen Sites so (anscheinend ungeprüft) übernommen. Seis drum...
Trotzdem die Warnung: Die hier zum Download angebotene Version von fWiki ist nicht sonderlich gegen Angriffe gehärtet. Wer auf Nummer Sicher gehen will, sollte ggf. alle Parameter zu Beginn der jeweiligen Scripte/Includes checken/härten - oder den Wiki nicht öffentlich erreichbar betreiben!
fWiki (fatWiki) ist ein filesystem-basierter Wiki, d.h. zum Betrieb ist nicht unbedingt ein (MySQL-) Anschluss notwendig.
fWiki ist eine Weiterentwicklung (fork of) von
Tipiwiki2 von Andreas Zwinkau, steht unter der
GPL und ist nur auf Linux getestet. Einsatz auf eigene Gefahr - für Hinweise auf mögliche Exploits oder MySql-Injection bin ich jederzeit dankbar...
Features (schon in TipiWiki2 enthalten):
- Wiki ohne Userkonzept / Historie /...
- Verweise auf andere Seiten des Wikis über WikiWords (zusammengesetzte Hauptworte). Noch nicht existierende Seiten werden automatisch angelegt/im Editor geöffnet
- Normale URL's (
http:.../mailto:.../...) werden im Fliesstext erkannt und verlinkt. Stattdessen kann man aber auch die Notation [url|Bezeichnung] schreiben.
- Aufzählungen, Überschriften, Ausgabe in einer Box, PRE- und sonstige gängige Textformatierungen, Linien werden unterstützt
erweiterte Features von fWiki:
- Durch Trennung von Funktionen und Setup-Einstellungen kann z.B. eine Wiki-Datenbasis von mehreren "Portalseiten" aus genutzt werden (z.B. für die Allgemeinheit nur lesend, für eine durch .htaccess-bestimmte Gruppe schreibend...)
- Einstellung des maximal nutzbaren Datenbereichs in Bytes (ist diese Grenze erreicht, ist kein ändern/neuanlegen mehr möglich)
- Druckansicht von Seiten
- einbetten von Mediafiles in eine Seite (embed-Tag, browserspezifisch), wahlweise sichtbar, hidden, autostart, loop
- (wirklich ganz) rudimentäre Tabellen
- Textersetzungstabelle (aus "mfg" wird z.B. automatisch "Mit freundlichen Grüßen", oder aus ":)" wird ein Image für einen Smiley usw.)
- Die Seiten-Übersichtsseite (AllPages) ist mit einem Index versehen und platzsparender
- Jede Wikiseite kann von den Benutzern gegen versehentliches überschreiben gelockt werden, so dass man zum ändern erst einen "Schalter" betätigen muss. Dasselbe kann der Admin über eine Tabelle steuern, dieser Schalter kann von den normalen Benutzern aber nicht zurückgesetzt werden (um einzelne Seiten oder besondere Funktionalitäten wie Upload/Chat/... dauerhaft zu schützen). Ausserdem verfügt fWiki über einen Hauptschalter, der sämtliche ändernden Aktivitäten verhindern soll und aus dem Wiki somit einen read-only Datenbestand macht (UploadManager und ImportExport müssen noch separat über die globale Sperrdatei geschützt werden)
- leere(!) Seiten können über eine Locklist-Seite gelöscht werden
- rudimentäres Edit-Locking
- rudimentäre ChatRoom's möglich
(kein echter Chat, aber zur Not kann man sich so via Webbrowser ganz gut verständigen, Nachrichten hinterlassen oder einen Forumsthread simulieren)
- Ein Uploadmanager ermöglicht den upload/download von Dokumenten (einschränkbar über Dateiendungen, Platz einstellbar)
- Import und Export von Wikiseiten möglich, und zwar einzeln oder als "Archivfile". Diese Funktion ermöglicht (über den Uploadmanager) ein Backup von Seiten (des ganzen Wikis) bzw. ermöglicht rudimentären Datenaustausch zwischen verschiedenen fWiki-Installationen.
- Ein Edit-Tool-Fenster ermöglicht (über die Zwischenablage) oft benötigte Editorfeatures zu nutzen, die ein "normales" Webformular normalerweise nicht bietet wie: suchen und ersetzen mit regulären Ausdrücken, grep-Funktion für Zeilen, sortieren, rot13, implode+explode Trennzeichenorientiert, wordwrap, strip html/php-Tags, lower/upper caps usw.
- Die Edit-Tools bestehen aus einem separaten php-Script...
Die beiden folgenden Funktionen machen aus dem fWiki zwar eine eierlegende Wollmilchsau, aber ich finde sie sehr nützlich und habe damit viele meiner bisherigen Minidatenbanken/Textdateien/Notizapplikationen abgelöst:
- Hat man eine MySQL-Datenbank zur Verfügung, dann läßt sich auf jeder WikiSeite zusätzlich eine Minidatenbank-Funktionalität einrichten, d.h. auf dieser Seite wird ein Formular eingeblendet, welches Datenpflege oder den gezielten Abruf der Daten ermöglicht. Innerhalb dieser Datenbankeinträge wiederum gelten die ganz normalen Wiki-Formatierungs-(...)Regeln, d.h. alle Textformatierungen, Imagedarstellung usw. funktionieren. Die Einträge lassen sich natürlich auch untereinander verknüpfen. je Eintrag:
- Begriff (max. 128 Zeichen) (indiziert)
- Bereich (max. 128 Zeichen) (indiziert)
- Wikiformatierter Text (max. 64Kb) (nicht indiziert, aber durchsuchbar)
- (nicht änderbar) Änderungsdatum (indiziert)
Pflege: Eingabe, ändern, kopieren, löschen, Massenlöschen von Datensätzen
Auswertungsmöglichkeiten: Auflisten, freies suchen (für jedes Feld mit Musterangabe), Index alphabetisch, Glossar (Index nach "Bereich" gruppiert), nach letztem Änderungsdatum
Spezialfunktionen: Extrakt+Import von Daten über Uploadverzeichnis in Form von CSV-Dateien (Backup bzw. füllen/ergänzen von Daten).
- CSV Dateien lassen sich ebenfalls recht einfach mit einem speziellen Editor (je Wikiseite eine CSV-Datei, die über den UploadManager zugreifbar ist) bearbeiten. Für CSV-Dateien mit Termindaten (s.o. mein Projekt "Kalender") wird eine spezielle Pflegemaske angeboten (ist durch Templates im Prinzip beliebig erweiterbar, z.B. für Adressdateien usw.).
Ein paar Impressionen zu MySql- und CSV-Dateien (sind im Dokumentations-Wiki deaktiviert):
CSV-Kalenderdatei - Übersicht
CSV-Kalenderdatei - Pflege eines Termins
Mysql Minidatenbank - Glossar
Mysql Minidatenbank - ein Beispieleintrag
Mysql Minidatenbank - Pflege Beispieleintrag
04.03.2010 13:03:10h

download
Ein php-Formmailer für ein Kontaktformular. Versand der Daten erfolgt via php -mail(). Ein Vorteil des Formmailers ist, dass die Daten nur dann gesendet werden, wenn eine PIN eingegeben wird, die man sich online generieren lassen kann (Die PIN wird on-the-fly in Form einer Grafik angezeigt). Schützt im Einzelfall (evtl.) vor allzuviel Schabernack mit dem Formular ;-)
12.09.2007 22:36:41h

download
Terminartenliste
hier online testen
Drei Klassen für php4:
- Kalender-/Terminberechnungen
- Feiertags-/Terminkalenderunterstützung (Datenquelle CSV-Datei(en))
- Mondphasenberechnung, Sonnenauf- und Untergang bzw. Dämmerungszeiten
Zwei Applikationen:
- Monatsblatt/-planer
- Datumsrechnungen (incl. Feiertagsübersicht, Sollarbeitszeitanzeige u.a.)
Achtung: Das sind reine prototypische Beispielapplikationen, für den produktiven Einsatz sollten diese Scripts unbedingt gehärtet werden (Überprüfung aller Eingabeparameter)!
Siehe unbedingt
auch folgende verwandte Applikationen:
sun and moon Online-Script zur Anzeige von Sonnenaufgang, Sonnenuntergang und Dämmerungszeiten mit kleiner deutscher Ortsdatenbank, Anzeige als Google Map, als Jahrestabellen zum Download für Excel, MediaWiki und TiddlyWiki
Datumsrechnung dieser Kalenderklassen näher erklärt
Outlook Kalender Termine auf Webserver veroeffentlichen - Scripting mit VBA und Windows Batch, um Termine aus Outlook in Dateiform zu extrahieren und auf einen Webspace zu schieben, um sie dann mit diesen Kalenderklassen hier anzuzeigen
Excel Kalenderübersichten, Gruppenkalender und Jahresübersichten - im Prinzip die gesamte Funktionalität dieser Kalenderklassen in einem Excelsheet
fuer PDA und PocketPC optimiertes Excelsheet zum immerdabeihaben...
- ...es finden sich sicherlich noch diverse weitere Kalender-Derivate auf dieser Website, z.B. in der GrabbelKiste (als Programme für DOS und Windows) oder auf der
PSION Seite in OPL programmiert...
Beispiel Kalenderblatt

Mittels zusätzlicher (alternativer) CSS lässt sich "monatsblatt.php" auch ganz gut dazu benutzen, ein Kalendarium für einen selbstgemachten Fotokalender herzustellen. Dazu "grabbe" ich einfach vom Bildschirm das Kalendarium für einen Fotokalender mit
und setze es in eine geeignete Grafikdatei, die dann in DIN A4 (...) ausbelichtet wird, also z.B. so wie im o.a. Beispiel.
Vorteil gegenüber entsprechenden Funktionalitäten von speziellen Grafikprogrammen bzw. Angeboten von Ausbelichtern: Ferientermine, Geburtstage, Jubiläen u.ä. (alles auf Wunsch jeweils mit Angabe der vollendeten/abgelaufenen Jahre) usw. sind ja sowieso schon im Kalender erfasst, genauso wie regelmäßige wiederkehrende Termine, die dann alle schon automatisch "vorgedruckt/eingetragen" sind!
Und wenn einem die vorgegebenen Styles nicht passen, können mittels Kopie/Anpassung eines CSS eigene Styles erzeugt werden...
Die Applikation "monatsblatt.php" verfügt ausserdem über eine primitive Javascript-"Weckfunktion" für Termine. Ein Blick in den Quelltext zeigt ausserdem, welche Parameter noch zur Verfügung stehen (Höhe/Breite in Pixeln, Monat, Jahr u.v.a. ...).
Beispielsweise ist auch ein Beispiel für ein
alternatives Layout in Listenform verfügbar.
Wenn man "settings.php" entsprechend anpasst, lassen sich problemlos auch mehrere CSV-Dateien mit
Tagesdefinitionen laden. So kann man bei Bedarf getrennte Terminartendateien z.B. für Feiertage, Geburtstage/Jubiläen, private und geschäftliche Termine (je Person) führen. Das Datenänderungsmodul für die CSV-Dateien via Web gehört derzeit nicht zum "Lieferumfang" (siehe aber hierfür
fatwiki).
Achtung: Zur Pflege der CSV-dateien kann man die functionscsvedit.php aus dem fwiki benutzen! Der Kalender lässt sich auch ganz gut in den Wiki integrieren:
Beispiel hier
Ansonsten lassen sich mit den Klassen z.B. noch Applikationen wie
dieses Tool realisieren...
02.05.2010 14:28:41h

download
Das kleine php-include erzeugt passend vor/an Feiertagen (Weihnachten, Neujahr, Ostern...) entsprechende Grüße auf der Website. Einfach an passender Stelle einbinden, fertig...

...
...wünscht Euch eine schöne Weihnachtszeit
Fröhliche Weihnachten
Merry Christmas
Wesolych Swiat Bozego Narodzenia
Linksmu sventu Kaledu
Priecigus Ziemas Svetkus
Roomsaid Joulu Phui
Hyvaa Joulua
Boldog Karacsonyl
Pozdrevlyayu sprazdnikom Rozhdestva Khristova
Veselykh Svyat
Tchestito Rojdestvo Hristovo
Prejeme Vam Vesele Vanoce
Vesele Vianoce
Sretam Bozic
Vesele Bozicne
Nolag mhaith Dhuit
Nollaig Chridheil
Nadolic Llawen
Feliz Navidad
Buon Natalie
Tezze Iliniz
Sarbatori Fericite
Joyeux Noel
Feliz Natal
Zalig Kerstfeest
Glad jul
Gledlig jul
Gledlig jol
Zorionstsu Eguberri
Kala Khristougena
Yeni Yilnizi Kutar
Subha nath thalak Vewa
Mo'adim
Shenoraavor Nor Dari
Mata-Ki-Te-Rangi
Sung Tan
Gun Tso Sun Tan
Kung Ho Hsin Hsi
Shinnen omedeto
Selamah Tahun Baru
Maligayamg Pasko
La Maunia Le Kilisimasi
Mele Kalikimake
12.09.2007 22:37:02h
