Fix incorrect file names for filename containing dots

This commit is contained in:
Thibaud Fabre
2016-06-13 18:55:37 +02:00
parent 1d9ca59c52
commit fab4a6e6d5
2 changed files with 7 additions and 11 deletions

View File

@@ -42,6 +42,7 @@ class DoDownloadController extends Controller
if (false === $list = @unserialize($token->getData())) { if (false === $list = @unserialize($token->getData())) {
$this->app->abort(500, 'Invalid datas'); $this->app->abort(500, 'Invalid datas');
} }
if (!is_array($list)) { if (!is_array($list)) {
$this->app->abort(500, 'Invalid datas'); $this->app->abort(500, 'Invalid datas');
} }

View File

@@ -399,16 +399,11 @@ SQL;
throw new Exception('No subdefs given'); throw new Exception('No subdefs given');
} }
$includeBusinessFields = !!$includeBusinessFields; $includeBusinessFields = (bool) $includeBusinessFields;
$files = []; $files = [];
$n_files = 0; $n_files = 0;
$file_names = []; $file_names = [];
$size = 0; $size = 0;
$unicode = new \unicode(); $unicode = new \unicode();
/** @var record_exportElement $download_element */ /** @var record_exportElement $download_element */
@@ -433,7 +428,7 @@ SQL;
$files[$id]['original_name'] = $files[$id]['original_name'] =
$files[$id]['export_name'] = $files[$id]['export_name'] =
$download_element->get_original_name(true); $download_element->get_original_name(false);
$files[$id]['original_name'] = $files[$id]['original_name'] =
trim($files[$id]['original_name']) != '' ? trim($files[$id]['original_name']) != '' ?
@@ -441,12 +436,12 @@ SQL;
$infos = pathinfo($files[$id]['original_name']); $infos = pathinfo($files[$id]['original_name']);
$extension = isset($infos['extension']) ? $infos['extension'] : ''; $extension = isset($infos['extension']) ? $infos['extension'] :
substr($files[$id]['original_name'], 0 - strrpos($files[$id]['original_name'], '.'));
if ($rename_title) { if ($rename_title) {
$title = strip_tags($download_element->get_title(null, null, true)); $title = strip_tags($download_element->get_title(null, null, true));
$files[$id]['export_name'] = $unicode->remove_nonazAZ09($title, true, true, true) . '.' . $extension;
$files[$id]['export_name'] = $unicode->remove_nonazAZ09($title, true, true, true);
} else { } else {
$files[$id]["export_name"] = $infos['filename']; $files[$id]["export_name"] = $infos['filename'];
} }
@@ -713,7 +708,7 @@ SQL;
$name = $obj["folder"] $name = $obj["folder"]
. $record["export_name"] . $record["export_name"]
. $obj["ajout"] . $obj["ajout"]
. '.' . $obj["exportExt"]; . (isset($obj["exportExt"]) && trim($obj["exportExt"]) != '' ? '.' . $obj["exportExt"] : '');
$archiveFiles[$app['unicode']->remove_diacritics($name)] = $path; $archiveFiles[$app['unicode']->remove_diacritics($name)] = $path;
if ($o == 'caption') { if ($o == 'caption') {