From caf7d8239e032fc5d50fe9aa6f584e2ac6eaef14 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Fri, 17 Jul 2020 12:32:48 +0200
Subject: [PATCH] FEAT #14242 TIME 0:05 fix tmp filename convert pdf

---
 .../contentManagement/controllers/OnlyOfficeController.php  | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/app/contentManagement/controllers/OnlyOfficeController.php b/src/app/contentManagement/controllers/OnlyOfficeController.php
index af6612d97b7..eaa134d6dc1 100644
--- a/src/app/contentManagement/controllers/OnlyOfficeController.php
+++ b/src/app/contentManagement/controllers/OnlyOfficeController.php
@@ -367,7 +367,7 @@ class OnlyOfficeController
             'filetype'   => $docInfo['extension'],
             'key'        => CoreConfigModel::uniqueId(),
             'outputtype' => 'pdf',
-            'title'      => $docInfo['filename'] . 'pdf',
+            'title'      => $docInfo['filename'],
             'url'        => $docUrl
         ];
 
@@ -446,7 +446,9 @@ class OnlyOfficeController
             return ['errors' => 'Cannot save converted document'];
         }
 
-        $command = "gs -dCompatibilityLevel=1.4 -q -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -o tmp.pdf {$filename} 2>&1; cp tmp.pdf {$filename}; rm tmp.pdf";
+
+        $tmpFilename = "/tmp/tmp_{$GLOBALS['id']}_" . rand() . ".pdf";
+        $command = "gs -dCompatibilityLevel=1.4 -q -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -o {$tmpFilename} {$filename} 2>&1; mv {$tmpFilename} {$filename}";
         exec($command, $output, $return);
         if (!empty($output)) {
             return ['errors' => implode(",", $output)];
-- 
GitLab