Seite auswählen

So, nun konnte ich noch kurz vor dem Jahreswechsel ein Problem erfolgreich lösen 🙂 . Da ich erstmal stark mit der Einrichtung von Drupal und dem Import der alten WordPress Blogbeiträge beschäftig war, habe ich mich zunächst um eine immer wiederkehrende Fehlermeldung nicht gekümmert.

Ich kann neue Inhalte problemlos erzeugen, aber jedes Mal, wenn ein bereits veröffentlicher Beitrag editiert, kommentiert oder der Kommentar editiert wird, erscheint folgende Fehlermeldung in einem rot hinterlegten Kasten über dem Beitragstext:


* warning: Invalid argument supplied for foreach() in /var/[...]/httpdocs/modules/node/node.module on line 521.
* warning: implode() [function.implode]: Invalid arguments passed in /var/[...]/httpdocs/modules/node/node.module on line 525.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 query: SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE in /var/[...]/httpdocs/includes/database.mysql.inc on line 172.

Glücklicherweise werden alle Änderungen und Kommentareinträge trotzdem angenommen und abgespeichert. So richtig glücklich bin ich darüber allerdings nicht. Das Problem trat von Anfang an (Drupal Version 5.2) bis heute auf (Drupal 5.5). Nach einigen Experimenten und einiger Recherche auf Drupal.org, habe ich die Ursache im comment Notify Modul (Version 5.x-1.3) ausmachen können.

Merkwürdigerweise fand ich dann die Lösung des Problems in einem anderen Thread. Dort wurde ein Patch angeboten, der allerdings angeblich bereits in das Modul integriert wurde. Als ich bei mir nachsah, entdeckte ich, dass trotz der richtigen Versionsnummer die Veränderung nicht in der Moduldatei vorhanden war. Nachdem ich den passenden Code aus dem Patch eingetragen hatte, war das Problem behoben.

In der Datei „comment_notify.module“ stehen ab Zeile 340 folgende Anweisungen:


$languages = locale_supported_languages();
$languages = $languages['name'];
}
$nid = $comment->nid;
$cid = $comment->cid;
$commname= $comment->name;
$commtext= $comment->comment;
$commsubj= $comment->subject;

Nachdem ich diese mit den Anweisungen aus dem Patch ersetzt hatte, lief alles wieder problemlos und ohne Fehlermeldungen:


$languages = locale_supported_languages();
$languages = $languages['name'];
}
$nid = $comment[nid];
$cid = $comment[cid];
$commname= $comment[name];
$commtext= $comment[comment];
$commsubj= $comment[subject];

Hoffentlich wird die Lösung in der kommenden Version berücksichtigt!