From f9f340febea523e2626731d3907e34359bdb2de9 Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Fri, 26 Mar 2021 14:22:38 +0100
Subject: [PATCH] FIX #16699 TIME 0:45 Check tmp and docserver path

---
 .../controllers/CertificateSignatureController.php        | 8 +++-----
 src/app/document/controllers/DocumentController.php       | 3 +++
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/app/document/controllers/CertificateSignatureController.php b/src/app/document/controllers/CertificateSignatureController.php
index ae5de8d780..89b2da0957 100755
--- a/src/app/document/controllers/CertificateSignatureController.php
+++ b/src/app/document/controllers/CertificateSignatureController.php
@@ -264,17 +264,15 @@ class CertificateSignatureController
             DigitalSignatureController::terminate(['config' => $config, 'transactionId' => $document['digital_signature_transaction_id']]);
         }
 
-
-        // if (!empty($storeInfos['errors'])) {
-        //     return ['errors' => $storeInfos['errors']];
-        // }
-
         if ($args['lastStep']) {
             $storeInfos = DocserverController::storeResourceOnDocServer([
                 'encodedFile'   => base64_encode(file_get_contents($signedDocumentPath)),
                 'format'        => 'pdf',
                 'docserverType' => 'ESIGN'
             ]);
+             if (!empty($storeInfos['errors'])) {
+                 return ['errors' => $storeInfos['errors']];
+             }
 
             AdrModel::deleteDocumentAdr([
                 'where' => ['main_document_id = ?', 'type = ?'],
diff --git a/src/app/document/controllers/DocumentController.php b/src/app/document/controllers/DocumentController.php
index 2f49e4dcc6..ce9f40eb1b 100755
--- a/src/app/document/controllers/DocumentController.php
+++ b/src/app/document/controllers/DocumentController.php
@@ -1235,6 +1235,9 @@ class DocumentController
         ValidatorModel::stringType($args, ['path']);
 
         $tmpPath = CoreConfigModel::getTmpPath();
+        if (!is_dir($tmpPath)) {
+            return ['errors' => 'Tmp path is not valid'];
+        }
 
         $tmpFilename = $tmpPath . $GLOBALS['id'] . '_' . rand() . 'adr.pdf';
         copy($args['path'], $tmpFilename);
-- 
GitLab