Revision 1954092b
Von Sven Schöling vor etwa 13 Jahren hinzugefügt
SL/Request.pm | ||
---|---|---|
substr $line, $-[0], $+[0] - $-[0], "";
|
||
}
|
||
|
||
$previous = _store_value($filename ? $target : $temp_target, $name, '') if ($name);
|
||
$temp_target->{FILENAME} = $filename if ($filename);
|
||
$previous = _store_value(defined $filename ? $target : $temp_target, $name, '') if ($name);
|
||
$temp_target->{FILENAME} = $filename if (defined $filename);
|
||
|
||
# for multiple uploads: save the attachments in a SL/Mailer like structure
|
||
if ($name && $filename) {
|
||
if ($name && defined $filename) {
|
||
_store_value($target, "ATTACHMENTS.$name.data", $previous);
|
||
_store_value($temp_target, "ATTACHMENTS.$name.filename", $filename);
|
||
}
|
Auch abrufbar als: Unified diff
filename checks müssen auf defined sein, weil der dateiname auch leer sein kann.
Hintergrund: Wenn bei einem fileupload in einem [+] array die letzte Zeile leer
ist, wird der Dateiname leer gelassen. Dadurch wurde die Dateizeile
fälschlicherweise ins target einsortiert und hat dort die letzte Zeile der
echten Uploads überschrieben.