Dynamische Signatur – e-Schrecking für Foren, MySpace, …

Dynamische Signatur von Danasoft Ich mag es sehr, Leute zu ängstigen. Früher, zu den Gothenzeiten, habe ich dafür ein ganzes Arsenal von Dingen gebraucht: Schminke, Linsen, künstliche Fingernägel, … Heute reicht meine Anwesenheit und mein Gesicht 🙂 . Wenn ich mich unter besonders verständnisvollen Menschen befinde, breche ich in spontane, apokalyptische Prophezeiungen oder aber auch abwechselnd in ebenso apokalyptisch anmutende Zuckungen aus.

Als besonders ängstigend hat sich auch folgendes Vorgehen herausgestellt: Man fixiert eine Person, lächelt wissend, nickt ebenso wissend und macht wissende Bemerkungen wie „ja, es ist schon schwer“ oder aber auch „ich denke Du machst bald einen Fehler“.

Online kommt mein Gesicht nicht so zur Geltung und Zuckungen fahren über die Webcam auch nicht so apokalyptisch durch Mark und Bein, also haben acht von neun Stimmen in meinem Kopf gesagt, ich soll den letzten Trick elektronifizieren (eine Stimme summte die Melodie von Tetris).

Danasoft hat schon was sehr Nettes, wie man am Lead-Image erkennen kann. Ich will aber nichts Nettes, sondern was Böses, darum habe ich die Pöhse Horror Pranke (PHP) hervorgeholt und was gecoded.

Grundidee

(Reload für weitere Weisheiten).
Dynamische Signatur

Es soll eine Signatur (oder Batch, Widget, Papperl, …) werden, die man in Foren (MyFace, SpaceBook, prollVZ, …) und Blogs verwenden kann, und das vorgibt mehr zu wissen als es tatsächlich tut.

Weiterlesen

Mit PHP einen Monat mit verlinkbaren Daten anzeigen

CalendarFür eine Applikation, in der man Ressourcen reservieren kann, wollte ich ein Kalender mit verlinkbaren Tagen anzeigen (grad wie im Meeting Room Booking System). Da ich aus dem Alter raus bin, in dem man alles selber machen muss und ausserdem eine PHP-Datumsfunktionsphobie (PHPYpiresiaChronophobia) entwickelt habe, wollte ich eigentlich etwas Fertiges verwenden. Es gibt vorallem Kalender in JavaScript, ein Tutorial das den Kommentaren nach nicht funktioniert (und das mittlerweile vom Web verschwunden ist), Scripts ohne Ausgabebeispiele, Riesenmonster (deren Anwendungsbeispiele mehr Code haben als eine Eigenimplementation) oder Kalender, die zwar gut sind, aber irgendwie nicht gepasst haben (I18n, …). Ich möchte auch nix mit Ajax, Sigolin und Meister Propper, denn es soll eine Enterprise-Applikation geben, und da ist JavaScript halt nicht so opportun (und erspart mir wieder ein paar graue Haare mehr). Aber vor allem (aber das verschweige ich hier) hat das wie eine spannende Aufgabe ausgesehen, und als Kontrollfreak will ich es eben doch selber gemacht haben 😀 .

Ziel

Das Ziel ist es einen Kalender zu erhalten, der die Wochen anzeigt, bei dem ein Tag (Event) markiert werden kann und das heutige Datum speziell ausgezeichnet ist. Er sollte also in etwa so aussehen (die Monatsnamen und Namen der Wochentage sollten sich auch noch der Sprache anpassen):

PHP-Kalender

Man sollte entweder ein Monat und ein Jahr übergeben können oder einfach nichts, wobei dann der aktuelle Monat und das aktuelle Jahr verwendet werden.

Vorgehen und Implementation

Ich habe mich entschlossen, dem Enterprisefassadefrontsidedecontrollerkurtmitgurtgimmeabreak-Pattern zu folgen… Quatsch, meine Gewohnheit und die Stimmen in meinem Kopf haben mich dazu gezwungen, den Kalender in zwei verschiedenen Funktionen zu implementieren. PHP hat ein absolut geniales Array-Handling, und wenn ich an solchen datenmanipulierenden Aufgaben arbeite habe ich mir angewöhnt, zuerst die reinen Daten in einem (mehrdimensionalen, ev. assoziativen) Array abzubilden. Dies hat den grossen Vorteil, dass ich die aufbereiteten Daten nicht nur für die HTML-Ausgabe, sondern auch von anderen Funktionen aus benutzen kann. Das Ziel wäre ein Array, dass auf der einen Dimension die Wochen und auf der Anderen die Wochentage hat. Man nehme den ASCIIstift hervor und zeichne ein Beispiel für Juni 2008:

[22] => {   '',   '',   '',   '',   '',   '',  '1'}
[23] => {  '2',  '3',  '4',  '5',  '6',  '7',  '8'}
[24] => {  '8',  '9', '10', '11', '12', '13', '14'}
...
[27] => { '31',   '',   '',   '',   '',   '',   ''}

Die Benamsung ist wie folgt:
PHP-Kalender benamst
Weiterlesen