From 088c3cad07be0c96028d7f5e7f6f8cac6fa5d2e4 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Sat, 21 Mar 2020 18:45:00 +0100 Subject: [PATCH] FIX #13604 TIME 0:05 Improve control if no file in /rest/res/list --- .../resource/controllers/ResController.php | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 2c2e271de1a..57cb3f72f2e 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -1164,24 +1164,25 @@ class ResController extends ResourceControlController if (!empty($resources) && $data['withFile'] === true) { foreach ($resources as $key => $res) { $document = ResModel::getById(['resId' => $res['res_id'], 'select' => ['path', 'filename', 'docserver_id']]); - $docserver = DocserverModel::getByDocserverId(['docserverId' => $document['docserver_id'], 'select' => ['path_template', 'docserver_type_id']]); - if (empty($docserver['path_template']) || !file_exists($docserver['path_template'])) { - continue; - } - $pathToDocument = $docserver['path_template'] . str_replace('#', DIRECTORY_SEPARATOR, $document['path']) . $document['filename']; - if (!file_exists($pathToDocument)) { - continue; + if (!empty($document['docserver_id'])) { + $docserver = DocserverModel::getByDocserverId(['docserverId' => $document['docserver_id'], 'select' => ['path_template', 'docserver_type_id']]); + if (empty($docserver['path_template']) || !file_exists($docserver['path_template'])) { + $resources[$key]['fileBase64Content'] = null; + } + $pathToDocument = $docserver['path_template'] . str_replace('#', DIRECTORY_SEPARATOR, $document['path']) . $document['filename']; + if (!file_exists($pathToDocument)) { + $resources[$key]['fileBase64Content'] = null; + } + $file = file_get_contents($pathToDocument); + $base64Content = base64_encode($file); + $resources[$key]['fileBase64Content'] = $base64Content; + } else { + $resources[$key]['fileBase64Content'] = null; } - $file = file_get_contents($pathToDocument); - $base64Content = base64_encode($file); - $resources[$key]['fileBase64Content'] = $base64Content; } } if (!empty($resources) && $sve_start_date) { - $aResId = []; - foreach ($resources as $res) { - $aResId[] = $res['res_id']; - } + $aResId = array_column($resources, 'res_id'); $aSveStartDate = AcknowledgementReceiptModel::getByResIds([ 'select' => ['res_id', 'min(send_date) as send_date'], 'resIds' => $aResId, -- GitLab