Customizing SMF > SMF Coding Discussion

No posts in Forum -> Error viewing the recent posts (last 10)

(1/1)

Daniel D.:
This is a message from a german user. I think you can understand what he means, cause I'm too tired at the moment to translate (later).


--- Quote from: FreakaZ ---Der erste ...

#1
Art: fehlende Prüfung
Ort: Sources/Recent.php (Zeile 128 - 147)
Priorität: niedrig
Situation:

Wenn das Forum keinerlei Beiträge (Posts) besitzt, und man sich die letzten 10 Beiträge anschauen möchte erhält man folgenden Datenbankfehler:


--- Code: ---You have an error in your SQL syntax near ')
ORDER BY m.ID_MSG DESC
LIMIT 0, 10' at line 14
File: /worx/www/root/boards/smf/Sources/Recent.php
Line: 149

--- End code ---

Problembereich mit Zeilennummern:

--- Code: ---128 $messages = array();
129 while ($row = mysql_fetch_assoc($request))
130 $messages[] = $row['ID_MSG'];
131 mysql_free_result($request);

147 AND m.ID_MSG IN (" . implode(', ', $messages) . ")

--- End code ---

Beschreibung:
Das Array $messages wird nicht geprüft ob leer oder gefüllt. Bei Abfrage der Datenbank mit einem leeren Array erfolgt Fehlermeldung.

Loesung:
Prüfung einbauen, wie ...

zwischen Zeile 131 und 133

--- Code: --- $messages = implode(', ', $messages);

if ($messages == "") {
$messages = "0";
}

--- End code ---

Zeile 147 aendert sich dann in:


--- Code: ---147 AND m.ID_MSG IN (" . $messages . ")

--- End code ---

Anmerkung:
Die Warscheinlichkeit das ein Forum 0 Posts hat ist zwar ziemlich unwarscheinlich, aber kann ja vorkommen.  :o

MfG
FreakaZ

P.S.: Ich bin kein PHP Profi und bastel mehr aus Spaß an der Sache, ich denk mal die Devs finden da eine elegantere Lösung. ;D

--- End quote ---

[Unknown]:
That's not the best fix, but I've done it what I would call "properly" in the distribution ;).

-[Unknown]

Daniel D.:
I'll report it.

Navigation

[0] Message Index

Go to full version