From 39225fbf405788f4255b595bffad3c9b393e9f21 Mon Sep 17 00:00:00 2001
From: Hamza HRAMCHI <hamza.hramchi@xelians.fr>
Date: Tue, 8 Feb 2022 12:20:41 +0100
Subject: [PATCH] FIX #19466 TIME 0:15 fix download signed version

---
 src/app/resource/controllers/ResController.php | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php
index 44a43f55415..202074897ad 100755
--- a/src/app/resource/controllers/ResController.php
+++ b/src/app/resource/controllers/ResController.php
@@ -673,6 +673,17 @@ class ResController extends ResourceControlController
         }
         $subject = $document['subject'];
 
+        $data = $request->getQueryParams();
+        if (!empty($data['signedVersion'])) {
+            $convertedDocument = AdrModel::getDocuments([
+                'select' => ['docserver_id', 'path', 'filename', 'fingerprint'],
+                'where'  => ['res_id = ?', 'type = ?', 'version = ?'],
+                'data'   => [$args['resId'], 'SIGN', $document['version']],
+                'limit'  => 1
+            ]);
+            $document = $convertedDocument[0] ?? $document;
+        }
+
         $docserver = DocserverModel::getByDocserverId(['docserverId' => $document['docserver_id'], 'select' => ['path_template', 'docserver_type_id']]);
         if (empty($docserver['path_template']) || !file_exists($docserver['path_template'])) {
             return $response->withStatus(400)->withJson(['errors' => 'Docserver does not exist']);
@@ -714,7 +725,6 @@ class ResController extends ResourceControlController
         }
         $mimeType = $mimeAndSize['mime'];
         $pathInfo = pathinfo($pathToDocument);
-        $data     = $request->getQueryParams();
         $filename = TextFormatModel::formatFilename(['filename' => $subject, 'maxLength' => 250]);
 
         if ($data['mode'] == 'base64') {
-- 
GitLab