diff --git a/src/InputOutput/IHMImpl/Config/IHMConfigClass.php b/src/InputOutput/IHMImpl/Config/IHMConfigClass.php index 966144b..6f022d8 100644 --- a/src/InputOutput/IHMImpl/Config/IHMConfigClass.php +++ b/src/InputOutput/IHMImpl/Config/IHMConfigClass.php @@ -78,6 +78,11 @@ class IHMConfigClass { return self::getUserWSPath().self::$userParamMgrFile; } + + public static function getUserDerivedParamFilePath($paramId) + { + return self::getUserWSPath().$paramId.".xml"; + } public static function getLocalParamDBPath() { diff --git a/src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php b/src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php index 61a1d4e..1b2015d 100644 --- a/src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php +++ b/src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php @@ -37,7 +37,7 @@ class IHMInputOutputParamsDataMiningClass extends IHMInputOutputParamsAbstractCl //create a derived param for the expression $this->paramManager->addProcessParam($paramId, $expressionInfo["expression"], $expressionInfo['params'], $input->sampling, - $input->gap,$this->paramsData); + $input->gap,time(),$this->paramsData); //add derived param to output $paramsNode->addParam($paramId); diff --git a/src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php b/src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php index 31bcf89..313d1ae 100644 --- a/src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php +++ b/src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php @@ -34,9 +34,9 @@ class IHMParamManagerClass /* * @brief Add a process parameter */ - public function addProcessParam($paramId,$expression,$params,$sampling,$gap,$paramsData) + public function addProcessParam($paramId,$expression,$params,$sampling,$gap,$dateModif,$paramsData) { - $paramsData->addProcessParamToCreate($paramId, $expression, $params, $sampling, $gap); + $paramsData->addProcessParamToCreate($paramId, $expression, $params, $sampling, $gap,$dateModif); foreach ($params as $param) $this->addExistingParam($param,$paramsData); @@ -151,7 +151,7 @@ class IHMParamManagerClass //create a process param for the derived parameter $this->addProcessParam($paramId, $expressionInfo["expression"], $expressionInfo['params'], $res["param"]["timestep"], - 0,$paramsData); + 0,$res["param"]["dateModif"],$paramsData); return array("id" => $paramId, "indexes" => array(), "calib_infos" => array()); } diff --git a/src/InputOutput/IHMImpl/Tools/IHMUserParamLoaderClass.php b/src/InputOutput/IHMImpl/Tools/IHMUserParamLoaderClass.php index 22a8702..f12f5c5 100644 --- a/src/InputOutput/IHMImpl/Tools/IHMUserParamLoaderClass.php +++ b/src/InputOutput/IHMImpl/Tools/IHMUserParamLoaderClass.php @@ -83,6 +83,9 @@ class IHMUserParamLoaderClass //id $paramId = $derivedParamNode->getAttribute(self::$mgrDerivedParamIdAtt); + //modification date + $dateModif = filemtime(IHMConfigClass::getUserDerivedParamFilePath($paramId)); + //name $paramName = $derivedParamNode->getAttribute(self::$mgrDerivedParamNameAtt); @@ -97,7 +100,8 @@ class IHMUserParamLoaderClass "name" => $paramName, "expression" => $paramExpression, "timestep" => $paramTimeStep, - "info" => $this->loadDerivedParameterInfo($id) + "info" => $this->loadDerivedParameterInfo($id), + "dateModif" => $dateModif )); } } diff --git a/src/Request/ParamsRequestImpl/ParamsRequestClass.php b/src/Request/ParamsRequestImpl/ParamsRequestClass.php index cbdfd74..f396a31 100644 --- a/src/Request/ParamsRequestImpl/ParamsRequestClass.php +++ b/src/Request/ParamsRequestImpl/ParamsRequestClass.php @@ -82,6 +82,8 @@ class ParamsRequestClass extends ProcessRequestClass $this->requestData->setLastErrorMessage('Cannot copy param definition file for '.$key); return false; } + + touch($destinationFile, filemtime($value)); } //create processed params files @@ -91,7 +93,7 @@ class ParamsRequestClass extends ProcessRequestClass $doc->preserveWhiteSpace = false; $doc->formatOutput = true; - if (!$xmlNode = $value->toXMLNode($doc)) + if (!$xmlNode = $value["param"]->toXMLNode($doc)) { $this->requestData->setLastErrorMessage('Cannot create params XML file for '.$key); return false; @@ -111,6 +113,8 @@ class ParamsRequestClass extends ProcessRequestClass $this->requestData->setLastErrorMessage('Cannot save params XML file for '.$key); return false; } + + touch($destinationFile, $value["dateModif"]); } return true; diff --git a/src/Request/ParamsRequestImpl/ParamsRequestDataClass.php b/src/Request/ParamsRequestImpl/ParamsRequestDataClass.php index 0717cac..437956e 100644 --- a/src/Request/ParamsRequestImpl/ParamsRequestDataClass.php +++ b/src/Request/ParamsRequestImpl/ParamsRequestDataClass.php @@ -59,7 +59,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass return $this->processParamsToCreate; } - public function addProcessParamToCreate($paramId, $expression, $getParams, $sampling, $gap) + public function addProcessParamToCreate($paramId, $expression, $getParams, $sampling, $gap, $dateModif) { $newParam = new ParamNodeClass(); $newParam->setId($paramId); @@ -73,7 +73,7 @@ class ParamsRequestDataClass extends ProcessRequestDataClass } $newParam->setProcess($expression); $newParam->setOutput(); - $this->processParamsToCreate[$paramId] = $newParam; + $this->processParamsToCreate[$paramId] = array('param' => $newParam, 'dateModif' => $dateModif); } } -- libgit2 0.21.2