From 188b5d484140383ccf3978b205088be4e38c369e Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Tue, 29 Jan 2019 14:26:44 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9solution=20cr=C3=A9ation=20de=20fichiers?= =?UTF-8?q?=20blob.=20sur=20le=20serveur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/vmap/tools/select/select.js | 4 +++- .../class/vmlib/files/Files_manager.class.inc | 24 +++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/select.js b/src/module_vmap/module/javascript/app/vmap/tools/select/select.js index bf55eda5..ccee914f 100755 --- a/src/module_vmap/module/javascript/app/vmap/tools/select/select.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/select/select.js @@ -1674,7 +1674,9 @@ nsVmap.nsToolsManager.Select.prototype.selectController.prototype.getFormDataFro } } } else { - oFormData_.append(key, oValues[key]); + if (oValues[key]._modified !== false) { + oFormData_.append(key, oValues[key]); + } } } diff --git a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc index 53d2e359..a67d55c4 100644 --- a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc +++ b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc @@ -505,6 +505,22 @@ class Files_manager{ return "Container can't contain path : " . $sContainer; } + // Fichiers à supprimer et exceptions + $bIsFilesToDelete = false; + if ($aFilesToDelete !== false) { + $bIsFilesToDelete = true; + } else { + $bIsFilesToDelete = false; + $aFilesToDelete = []; + } + $bIsExceptions = false; + if ($aExceptions !== false) { + $bIsExceptions = true; + } else { + $bIsExceptions = false; + $aExceptions = []; + } + // Génère la destination $sDestDir = $this->oProperties['ws_data_dir'] . "/" . $sModule . "/" . $sObject; @@ -520,7 +536,7 @@ class Files_manager{ // Ajoute les miniatures aux exceptions $aMinExceptions = []; - if ($aExceptions !== false) { + if ($bIsExceptions !== false) { for ($i=0; $i < count($aExceptions); $i++) { $aMinException = explode('.', $aExceptions[$i]); array_pop($aMinException); @@ -535,7 +551,7 @@ class Files_manager{ // Ajoute les miniatures aux fichiers à supprimer $aMinFilesToDelete = []; - if ($aFilesToDelete !== false) { + if ($bIsFilesToDelete !== false) { for ($i=0; $i < count($aFilesToDelete); $i++) { $aMinFileToDelete = explode('.', $aFilesToDelete[$i]); array_pop($aMinFileToDelete); @@ -553,8 +569,8 @@ class Files_manager{ $files = glob($sDestDir . '/*'); // get all file names foreach($files as $file){ // iterate files if(is_file($file)){ - if (in_array(basename($file), $aFilesToDelete) || $aFilesToDelete == false) { - if (!in_array(basename($file), $aExceptions) || $aExceptions == false) { + if (in_array(basename($file), $aFilesToDelete) || $bIsFilesToDelete == false) { + if (!in_array(basename($file), $aExceptions) || $bIsExceptions == false) { unlink($file); } } -- GitLab