From 891ab263686fb9453612adad6f83b01a7b407662 Mon Sep 17 00:00:00 2001
From: Armand Bahi <armand.bahi@veremes.com>
Date: Wed, 30 Jan 2019 15:26:06 +0100
Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9chargement=20g=C3=A9n=C3=A9rique?=
 =?UTF-8?q?=20de=20fichiers=20multiples?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/vitis/vas/rest/ws/vitis/Vitis.class.inc | 36 +++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/vitis/vas/rest/ws/vitis/Vitis.class.inc b/src/vitis/vas/rest/ws/vitis/Vitis.class.inc
index 0a9b240a..d0de0d77 100644
--- a/src/vitis/vas/rest/ws/vitis/Vitis.class.inc
+++ b/src/vitis/vas/rest/ws/vitis/Vitis.class.inc
@@ -159,7 +159,23 @@ class Vitis extends DbClass {
                         // Remplace le nom du fichier par son url
                         foreach ($aData as $key => $value) {
                             if ($this->oFilesManager->oFileInterface->is_dir($sDataDir . "/" . $key)) {
-                                $aData[$key] = $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $value);
+                                $aFiles = explode('|', $value);
+                                if (count($aFiles) > 1) {
+                                    $aData[$key] = [];
+                                    for ($i=0; $i < count($aFiles); $i++) {
+                                        if (!empty($aFiles[$i])) {
+                                            if (file_exists($sDataDir . "/" . $key . "/" . $aFiles[$i])) {
+                                                array_push($aData[$key], $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $aFiles[$i]));
+                                            }
+                                        }
+                                    }
+                                } else {
+                                    if (!empty($value)) {
+                                        if (file_exists($sDataDir . "/" . $key . "/" . $value)) {
+                                            $aData[$key] = $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $value);
+                                        }
+                                    }
+                                }
                             }
                         }
                     }
@@ -291,7 +307,23 @@ class Vitis extends DbClass {
                             // Remplace le nom du fichier par son url
                             foreach ($oObject->aFields as $key => $value) {
                                 if ($this->oFilesManager->oFileInterface->is_dir($sDataDir . "/" . $key)) {
-                                    $oObject->aFields[$key] = $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $value);
+                                    $aFiles = explode('|', $value);
+                                    if (count($aFiles) > 1) {
+                                        $oObject->aFields[$key] = [];
+                                        for ($i=0; $i < count($aFiles); $i++) {
+                                            if (!empty($aFiles[$i])) {
+                                                if (file_exists($sDataDir . "/" . $key . "/" . $aFiles[$i])) {
+                                                    array_push($oObject->aFields[$key], $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $aFiles[$i]));
+                                                }
+                                            }
+                                        }
+                                    } else {
+                                        if (!empty($value)) {
+                                            if (file_exists($sDataDir . "/" . $key . "/" . $value)) {
+                                                $oObject->aFields[$key] = $this->oFilesManager->oFileInterface->getProxyPassUrl($sDataDir . "/" . $key . "/" . $value);
+                                            }
+                                        }
+                                    }
                                 }
                             }
                         }
-- 
GitLab