diff --git a/src/vitis/vas/rest/ws/vitis/Vitis.class.inc b/src/vitis/vas/rest/ws/vitis/Vitis.class.inc index 4b58b7fc1ef463d36c79674be01d31a3e009d7a6..0a9b240a7269e3cf87c0d512b61541824b495e34 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