Ich lagere alle HTML Tabellen in sogenannten Templates aus. Für jede Sektion gibt es eine Datei, die deren Templates enthält. So kann man sehr viel schneller designspezifische Änderungen durchführen, ohne den ganzen Code durchwühlen zu müssen. Ich kann so auch besser Updates für meine Seiten durchführen, da bei Codeändrungen das Design nicht angerührt wird.
Eine Klasse, durch die nahezu jeder sichtbare Text auf meinen Homepages fließt. Sie schüzt vor gefährlichem Code indem sie Benutzereingaben einschränkt. So sind Tags wie <plaintext> oder <script ...> nicht möglich. Stattdessen werden zur Formatierung des Textes alternative Tags angeboten für [b]fett, [i]kursiv, [u]unterstrichen oder auch [b][u]kombiniert. Es stehen noch weitere Tags z.B. zum einfügen von Bildern oder Links zur Verfügung. Unformatierte Links oder Email Adressen werden erkannt und umgewandelt. Zu große Bilder werden verkleinert angezeigt und erst durch einen Klick voll sichtbar.
Ein gut durchdachtes, übersichtliches Forum. Die Besonderheit: Es werden neue Einträge auf die Ziffer genau angezeigt, egal wo man eingeloggt ist. Die Performance ist mir sehr wichtig. Jeder Seitenaufruf kommt mit durchschnittlich 4 Datenbankabfragen aus.
Mein Forum ist als Testinstallation auf vonweiss.de/forum.html zu sehen.
Ich war es leid, riesengroße Formulare zu verwalten und zu erstellen. Insbesondere bei meinem Admin Skript geschehen fast alle Eingaben über Formulare. Also baute ich mir einen Formular-Generator, der mir aus einem kleinen Skript ein Formular bastelt.
Ein kleines Beispiel, dieses Skript erzeugt das Formular, um News zu bearbeiten:
2 Simpletext((News))
3 Überschrift: Input((title;40[]))
textButtons((text;ext))
Text: Textarea((text;50;12;makeitbigger[]))
Smilies((text))
2 simpletext((Bilder))
3 Bilder: PicUpload((bilder;text;;;150;jpg,gif; upload/))
In Kombination mit dem Admin Skript kommen dann auch die wahren Stärken meines Formular-Generators zum Vorschein. Ich habe sehr viele ausgefeilte Formulartypen auch mit Hilfe von JavaSkript geschrieben, die die Eingabe von Daten sehr vereinfachen.
Ein solches Benutzereingabefeld kann man unter Projekte / sodInput kostenlos downloaden.
Listen werden überall gebraucht, vor allem bei der Verwaltung von Einträgen in der Datenbank. Auch hier habe ich mir ein komplexe Lösung gebastelt. Ähnlich wie beim Formular-Generator gibt ein Skript die Regeln für die Liste vor. Ein besonderes Feature ist die Gruppierung aller Einträge nach bestimmten Regeln (Monate, erster Buchstabe, Wort, u.a.).
So könnte ein Skript beispielsweise aussehen:
30 - id ## autoformat
>> 45 - thedate {Zeit} ## strftime %d.%m.%y
0 - incliga {Liga} ## url incligahomepage ## group word
ladder {Ladder} ## group word ## sqeeze 38
incclan {Gegner} ## url incenemyhomepage ## group char
text {EMPTY!} ## tooltip 400¦stats¦´O ## newline
incteam {Team} ## group word
Ich war letztens selbst erstaunt, wieviel Arbeit ich mir erspare, dadurch dass ich mir dieses Skript gebaut habe. Eine komplette Admin Funktion für meinen Poll habe ich in 20 min. geschrieben. Dabei kann man Polls hinzufügen, bearbeiten und löschen. Das Skript, dass dahinter steckt, verbraucht ganze 30 Zeilen.