PHP

Drupal Webform-Modul: keine erweiterte Validierung mehr nach Update

Mit dem Modul Webform kann man in Drupal sehr einfach Formulare für seine Webseite erstellen. Das Modul ist sehr flexibel und mächtig, so dass auch sehr indiividuelle und umfangreiche Onlineformulare erstellt werden können. Zur Auswertung des Formulars war es sogar möglich eigenen PHP-Code an das Formular zu übergeben. Aus Sicherheitsgründen haben die Entwickler dieses Feature vor einiger Zeit stillschweigend entfernt.

Das führt bei einem Update älterer Webform-Installationen zu Problemen, wenn dort eigener PHP-Code unter "additional validation" eingetragen war, denn dieser wird von neueren Webform-Versionen nich mehr ausgeführt, was die Funktion des betroffenen Formulars beeinträchtigt oder dieses unbenutzbar macht. Um das Problem zu lösen, gibt es mehrer Möglichkeiten. Die einfachste - aber auch unsicherste - ist der Einsatz von  webform_php. Dieses Modul fügt das Feld "additional validation" wieder ein und der dort noch gespeicherte Wert bleibt erhalten, so dass das Formular sofort wieder benutzbar ist. Aus Sicherheitsgründen sollte die Benutzung dieser Funktion auf den Webmaster oder Admin der Seite beschränkt bleiben. Alternativ kann man Webform Validation benutzen. Dieses bietet diverse vorgefertigte Validierungsfunktionen. Zusätzlich können eigene Funktionen unter Verwendung des Hook hook_webform_validation_validators() programmiert werden. Da es Usern nicht möglich ist, direkt eigenen PHP-Code in ein Webformular einzutragen, bietet dieses Modul maximale Sicherheit.

PHPlist mit FCKeditor richtig installieren

Wer mit PHPlist nicht nur reine Text-Mails, sondern auch solche im HTML-Format versenden möchte, wird gerne auf den mitgelieferten FCKEditor zurückgreifen wollen. Leider funktionert dies auch in der aktuellen Version von PHPlist v2.10.12 mit dem darin enthaltenen FCKEditor Version 2.6.3 Build 19836 erst, nachdem man einige Anpassungen vorgenommen hat. Welche Arbeitsschritte notwendig sind, damit man problemlos HTML-Mails versenden kann, beschreiben wir Schritt für Schritt in diesem Beitrag.

1. Zunächst entpackt man das aktuelle PHPlist-Paket in einen lokalen Ordner - üblicherweise enthält der übergeordnete Ordner den Namen der jeweils aktuellen Version, momentan phplist-2.10.12. Anschließend erstellt man online eine MySQL-Datenbank und trägt Datenbankhost, Datenbankname, -user und -passwort, die daraus resultieren, in die Zeilen 22, 25, 28 und 31 der lokalen Konfigurationsdatei, die je nach Speicherort unter dem Pfad /phplist-2.10.12/public_html/lists/config/config.php zu finden ist, ein. Nun kann man PHPlist per FTP in seinen Webspace laden. Achtung: es genügt den Unterordner /public_html/lists nebst seinen Unterverzeichnissen hochzuladen! Alle anderen Dateien und Ordner sind für den Betrieb nicht erforderlich. Jetzt ruft man die PHP-Installation auf: http://meine-domain.de/lists/admin. Dort muss man zunächst die Datenbank initialisieren. Anschließend sollte man als erstes das Standard-Passwort für den Admin "phplist" in ein sicheres Passwort ändern. Die weiteren Einstellungen, die vorzunehmen sind, werden in der Dokumentation beschrieben, deshalb wollen wir uns hier auf die ergänzenden Schritte beschränken.

Ein Punkt zuviel: PHPlist versendet keine HTML-Mails

Eigentlich ist PHPlist ja ein schönes Tool um E-Mails, z.B. Newsletter, auch an eine große Zahl von Empfängern zu senden. Allerdings ist die Konfiguration ein bisschen hakelig. So werden beispielsweise die Pfade nicht automatisch so gesetzt, dass in Mails eingebettete Bilder auch wirklich von der Website des Absenders geladen werden. Stattdessen stehen in der Mail nur relative Pfade der PHPlist-Installation. Hat man sich da aber erstmal durchgearbeitet ist die Benutzung recht einfach. Noch eine letzte Test-Mail, um zu sehen, ob die Mails sowohl als Nur-Text- als auch als HTML-Mails ankommen und schon steht dem Newsletter-Versand nichts mehr im Wege.

Bis dann der Hilferuf des Kunden kommt: "... ziemlich verzweifelt, weil das phplist keinerlei html emails verschickt ...". Ein Blick in den vom Kunden erstellten Newsletter zeigte nichts Ungewöhnliches. Alle Einstellungen waren korrekt, das Format stand auf HTML und bei den Testempfängern war HTML als bevorzugtes Format eingestellt. Aber tatsächlich fehlte bei den ausgehenden Mails der komplette HTML-Teil. Das Event-Log zeigt keine Auffälligkeiten - alles schien korrekt verlaufen zu sein. Ein rasch erstellter Test-HTML-Entwurf ging dagegen problemlos und im richtigen Format raus.

Datenbanken einfach und zuverlässig sichern mit mysqldumper

Ein Datenbank-Backup ist eine ebenso lästige wie wichtige Pflicht. Insbesondere vor dem Einspielen einer neuen CMS- oder Webshop-Version ist es ein absolutes Muss. Häufig kommt hierfür phpMyAdmin zum Einsatz. Mit diesem Programm lassen sich so ziemlich alle Arbeiten an und mit mySQL-Datenbanken erledigen - auch ein Backup. Das Problem: phpMyAdmin besteht aus PHP-Skripten. Diese werden nach einer bestimmten Laufzeit vom Webserver abgebrochen um dessen Ressourcen zu schonen. Dies geschieht häufig schon nach 30 Sekunden. Braucht das Skript länger als diese Zeit, so wird es vom Server beendet und das Backup wird nicht vollständig durchgeführt. Das gleiche gilt auch für das Wiedereinspielen eines Backups.

Inhalt abgleichen

re:publica 12

Aktuelles

Viele Anbieter von Webspace drosseln die Zahl der E-Mails, die innerhalb einer bestimmten Zeitspanne versendet werden dürfen. K...

Das Problem: Für eine Firmenwebsite soll eine Möglichkeit geschaffen werden, dass eingeloggte Kunden Beiträge...

PHPlist ist ein sehr schönes Open-Source-Tool, um Newsletter auch an einen großen Empfängerkreis zu verschicken. Leider...

Nicht nur zur Weihnachtszeit sollten sie uns am Herzen liegen: all jene auf der Welt, denen es schlechter geht als nötig. Deswegen...

Die meisten Blogs gestatten es ihren Besuchern, dass man Kommentare schreiben kann ohne sich dafür anzumelden. Das geht auch bei...

Gezwitschert ...

  • Neu im Blog: PHPlist: Mailversand drosseln bei Beschränkungen durch den Provider http://t.co/0fTlsaTZ vor 1 Woche 2 Tage
  • Neu im Blog: CKeditor verhindert private File-Downloads in Drupal7 http://t.co/r5rveT30 vor 2 Wochen 4 Tage