Falls jemand beim Upload von Dateien unerklärliche Probleme hat, könnte es vielleicht an folgendem Fehler liegen:

Beim Upload holt sich Mantis erst den Pfad aus $g_absolute_path_default_upload_folder und dann, wenn vorhanden, den Pfad aus den Projekteinstellungen (Datenbank). Die Projekteinstellungen haben Vorgang vor der globalen Einstellung.
In der Regel sollten die Projektuploadpfade leer sein, so dass $g_absolute_path_default_upload_folder genommen wird, wenn dort ein Wert drinsteht.

Leider liefert die Mantis-Datenbankabfrage bei mir ein Leerzeichen anstatt eines Leerstrings zurück, obwohl in der Datenbank kein Leerzeichen in diesem Feld steht, so dass die Zeile 540 in der Datei "project_api.php" Funktion "file_add" greift und durch das Leerzeichen immer der Projektuploadpfad genommen wird.
Da in diesem ja nun das mysteriöse Leerzeichen drinsteht, kann ein Upload natürlich nicht funktionieren, da nun das Leerzeichen als Uploadpfad genommen wird.

Was bei Mantis falschläuft, dass aus einem leeren Datenbankfeld ein Leerezeichen wird, konnte ich leider nicht herausfinden, aber hier ist ein kleiner Bugfix.

Der betroffene Code innherhalb von file_add:
  1.  
  2. if( $t_project_id == ALL_PROJECTS ) {
  3.   $t_file_path = config_get( 'absolute_path_default_upload_folder' );
  4. }
  5. else {
  6.   $t_file_path = project_get_field( $t_project_id, 'file_path' );
  7.   if( $t_file_path == '' ) {
  8.     $t_file_path = config_get( 'absolute_path_default_upload_folder' );
  9.   }
  10. }
  11.  
durch ändern der Zeile
  1.  
  2.   if( $t_file_path == '' ) {
  3.  

in
  1.  
  2.   if( $t_file_path == '' || $t_file_path == ' ') {
  3.  

konnte ich das Problem umgehen und der Upload funktioniert nun wieder ohne Probleme.

System:
Windows 2003 Server
Apache 2
PHP5
Microsoft Sql Server 2005
Mantis 1.0.6

Voraussetzungen in der Konfiguration von Mantis, ist ein Speichern der Uploads auf die Festplatte und die Angabe eines globalen Uploadpfades.

Trackbacks


Trackback-URL für diesen Eintrag
    Keine Trackbacks

Kommentare


    Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA