Zur Information, mi-schi.com erscheint bald in neuem Design. Bis dahin muss ich nochmal die Seitenstruktur überdenken.
Also nicht wundern wenn die Seite plötzlich seltsam aussieht und einfach kurz warten, bis alle Funktionen und Elemente wieder funktionieren.
Heute habe ich einige gravierende Fehler in der Version 1.1 von meinem Wordpress-Plugin Simple Download-Portal gefunden. Die Links im Backend und Frontend wurden nicht korrekt erzeugt. Dies ist jetzt mit der Version 1.2 behoben.
In den letzten Tagen habe ich mein Wordpress Plugin für Schul-Vertretungspläne überarbeitet.
Mit dem Plugin kann man einfach und schnell neue XML-Vertretungspläne hochladen. Diese werden dann automatisch im Frontend angezeigt und nach Ende der Gültigkeit automatisch gelöscht.
Seit der neuen Version 1.2 wurden einige Fehler behoben und das Plugin international zugänglich gemacht. Man kann also einfach und schnell mittels einer Sprachdatei (.mo) das Plugin in andere Sprachen übersetzen. Die Grundsprache ist allerdings weiterhin deutsch.
Das neue Plugin gibt es hier zum downloaden.
Ich habe gestern die neue Version 6.4 von dem Plugin Events Calendar ins Deutsche übersetzt. Diesmal einfach mit einer Sprachdatei, denn ab der Version 6.4 werden Sprachdateien von dem Plugin unterstützt.
Leider sind immernoch einige Fehler im Plugin enthalten:
- Über 30 XHTML-Fehler im Frontend nach der Aktivierung
- Inhaltsfilter für [[EventsCalendar]] ist falsch, “[" und "]” müssen escapet werden
- date(’…F…’) wurde nicht mit strftime(’…%B…’) ersetzt. Somit werden die Datumsangaben nicht in Deutsch ausgegeben.
- einige englische Textausgaben wurden nicht für die deutsche Sprachdatei verändert
Ich habe diese Fehler dem Entwickler gemeldet, vielleicht wird er sie bei nächsten Update beheben.
Bis dahin kann man die Sprachdatei und die leicht veränderten PHP-Dateien unter Wordpress Events Calendar deutsch herunterladen.
Da ich leider immer wieder unsichere, schlechte Vorlagen für Kontaktformulare im Internet finde, veröffentliche ich hier das Kontaktformular meines Content Management Systems.
Funktionsumfang
- Script ist mit der UTF-8 Kodierung kodiert
- Script funktioniert bei allen Server-Konfigurationen (magic_quotes_gpc)
- einfache Überprüfung der E-Mailadresse
- E-Mail Spamschleuder Schutz
- benutzerfreundlicher, barrierefreier Spamschutz
- verhindert doppeltes Abschicken der E-Mail hintereinander.
- Felder werden untersucht, ob Text eingetragen wurde
- Sicherung der eingegebenen Werte bei falscher Eingabe eines Feldes
Umsetzung im Script
- Da mein komplettes Content Management System in UTF-8 Kodiert ist, habe ich natürlich auch das Kontakt-Script in UTF-8 kodiert. Da die meisten E-Mailaccounts UTF-8 aber noch nicht richtig unterstützen, musste ich mit
utf8_decode() die Eingaben in ISO-8859-1 dekodieren und so abschicken.
- Manche Server sind so eingestellt, dass sie automatisch bei Anführungszeichen und Backslashs ein Backslash davor schreiben. Diese Server-Einstellung wird mit der Funktion
quotes() untersucht und ggf. die überflüssigen Backslashs wieder entfernt.
- Die angegebene E-Mailadresse wird auf das Vorhandensein des @-Zeichens und des Punktes (.) untersucht. Es gibt noch weitaus intensivere Untersuchungen bei der E-Mailadresse. Diese verwende ich allerdings nicht, weil meistens ganze E-Mailblöcke (z.B. bestimmte Endung) nicht zugelassen werden.
strstr($_POST['email'], “@”) && strstr($_POST['email'], “.”)
- Dieser Schutz wird fast immer vergessen, ist aber extrem wichtig. Denn wenn dieser Schutz nicht vorhanden ist, kann das Formular als Spamschleuder (Massen-E-Mails) genutzt werden und der Verantwortliche ist der Script-Benutzer, also der Webmaster des Accounts! Der Code für den Spamschleuder-Schutz:
$emailsicherheit = preg_split("/[\s,]/”, quotes($_POST['email']));. Wie man die E-Mailadresse manipulieren kann erkläre ich nicht, aus Rücksicht auf Webmaster, die diesen Schutz nicht haben.
- Bei dem Kontaktformular gibt es kein nerviges Captcha-Bild. Es wird die Zeitspanne zwischen dem Aufrufen der Seite und dem Abschicken untersucht. Das reicht schon aus, um die meisten Spambots fern zu halten.
- Über die Methode die Zeit zu messen wird auch das versehentliche doppelte Abschicken des Formulars verhindert. Weiterhin werden die Eingabefelder nach dem Verschicken der E-Mail gelöscht.
- Standard bei fast allen Kontaktformularen ist die Überprüfung, ob überhaupt Text in den Eingabefeldern steht.
- Wenn man etwas vergessen hat einzugeben und abschickt, sind bei schlecht geschriebenen Kontaktformularen die Eingaben weg. Bei diesem Kontaktformular nicht:
<?php if (isset($_POST['name']) && empty($gesendet)) { echo quotes(htmlentities($_POST['name'], ENT_QUOTES, “UTF-8″)); } ?>