Ich habe vor kurzem beim modifizieren der „Simple:Press Forum“ Forensoftware einen Bug in dem Avatarverwaltungssystem ausgemacht. Dieser Bug verhindert das korrekte arbeiten einer neuen Funktion zum Löschen und ersetzen von Avatarbildern.
Der Bug ist in der sf-avatars.php zu finden. Hier wurde in der IF-clause vergessen die „SFAVATARS“ Konstante anzugeben. Diese Konstante enthält den Pfad zu dem Speicherort der Avatare. Die IF-clause beinhaltet die PHP funktion file_exists() welche überprüft ob eine bestimmte Datei vorhanden ist. Da aber der Pfad zu dem Speicherort der Avatare fehlt werden die „alten“ Dateien nicht gelöscht sondern nur die neue Datei hochgeladen, was letztendlich und vor allem bei größerer Useranzahl zu einem Durcheinander und Speicherplatzverschwendung wird.
Hier ist das entsprechende Codefragment
// delete old avatar if it exists
$oldfilename = sf_get_member_item($userid, 'avatar');
if (file_exists($oldfilename)) {
unlink(SFAVATARS.$oldfilename);
}
Diese kleine „Fehlfunktion" ist sehr einfach durch das hinzufügen der Konstante „SFAVATARS“ zu beheben.
// delete old avatar if it exists
$oldfilename = sf_get_member_item($userid, 'avatar');
if (file_exists(SFAVATARS.$oldfilename)) {
unlink(SFAVATARS.$oldfilename);
}
Einen Bugreport habe ich bereits geschrieben und der Entwickler wollte sich um das Problem kümmern, sodass bei der nächsten Version nicht mehr auftritt.




By Julian on Aug 12, 2008 | Reply