From f4361beb9a098b3a46dfa16c6342bd51f518db6b Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Wed, 30 Jan 2019 14:37:59 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9cup=C3=A9ration=20automatique=20des=20fi?= =?UTF-8?q?chiers=20depuis=20Vitis->getFields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/vitis/vas/rest/ws/vitis/Vitis.class.inc | 39 ++++++++++++++++----- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/src/vitis/vas/rest/ws/vitis/Vitis.class.inc b/src/vitis/vas/rest/ws/vitis/Vitis.class.inc index 4b58b7fc..0a9b240a 100644 --- a/src/vitis/vas/rest/ws/vitis/Vitis.class.inc +++ b/src/vitis/vas/rest/ws/vitis/Vitis.class.inc @@ -82,12 +82,14 @@ class Vitis extends DbClass { /** * Generic function which get fields of the object stored in the database - * @param type $sSchema - * @param type $sTable - * @param type $sIdField - * + * @param $sSchema + * @param $sTable + * @param $sIdField + * @param $sVitisObjectName Name of the vitis object, if provide and the object contains files stored in ws_data/vitis/$sVitisObjectName the values will be url formed + * @param $sVitisModuleName for upload files : module name + * @param $sVitisPathComplement for upload files : complement folder on put files (ws_data/vitis/.../documents/...) */ - function getFields($sSchema, $sTable, $sIdField) { + function getFields($sSchema, $sTable, $sIdField, $sVitisObjectName = "", $sVitisModuleName = "vitis", $sVitisPathComplement = "documents") { $this->aSqlParams = array(); @@ -139,12 +141,32 @@ class Vitis extends DbClass { $aData = array(); while ($aObject = $this->oConnection->oBd->ligneSuivante($oResult)) { foreach ($aObject as $sParamKey => $sParamValue) { - $aData[$sParamKey] = $sParamValue; } } + + // Vérifie si il y a des fichiers à renvoyer + if ($sVitisObjectName != "") { + + // check dans ws_data + $sDataDir = $this->aProperties['ws_data_dir'] . '/'.$sVitisModuleName.'/' . $sVitisObjectName; + if(!empty($sVitisPathComplement)){ + $sDataDir .= '/' . $sVitisPathComplement; + } + $sDataDir .= '/' . $aData[$sIdField]; + + if ($this->oFilesManager->oFileInterface->is_dir($sDataDir)) { + // 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); + } + } + } + } } } + return $aData; } @@ -206,7 +228,6 @@ class Vitis extends DbClass { return $aColumn; } - // fonction get générique à tous les objets /** * Generic function which get data of the objects in tables * @param $sSchema schema of the table @@ -214,6 +235,8 @@ class Vitis extends DbClass { * @param $sIdField name of the id field * @param $bOnlyReturnStatus * @param $sVitisObjectName Name of the vitis object, if provide and the object contains files stored in ws_data/vitis/$sVitisObjectName the values will be url formed + * @param $sVitisModuleName for upload files : module name + * @param $sVitisPathComplement for upload files : complement folder on put files (ws_data/vitis/.../documents/...) * @return the array of objects */ function genericGet($sSchema, $sTable, $sIdField, $bOnlyReturnStatus = false, $sVitisObjectName = "", $sVitisModuleName = "vitis", $sVitisPathComplement = "documents") { @@ -593,7 +616,7 @@ class Vitis extends DbClass { * @param $sTable table to update * @param $sIdField id field name * @param $aUploadFiles : uploaded files array (more info on function genericPutFiles) - * @param $sVitisObjectName for upload files : object name + * @param $sVitisObjectName Name of the vitis object, if provide and the object contains files stored in ws_data/vitis/$sVitisObjectName the values will be url formed * @param $sVitisModuleName for upload files : module name * @param $sVitisPathComplement for upload files : complement folder on put files (ws_data/vitis/.../documents/...) * @return array containing the status and the message -- GitLab