Commit 7911f4bc35b129b99c615a7987e60c8dffa1a1fe
1 parent
cd3326be
Exists in
master
and in
66 other branches
Another bug with linked parameters
Showing
2 changed files
with
25 additions
and
9 deletions
Show diff stats
src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php
@@ -132,7 +132,6 @@ class IHMParamManagerClass | @@ -132,7 +132,6 @@ class IHMParamManagerClass | ||
132 | $real_param_id = $paramId; | 132 | $real_param_id = $paramId; |
133 | if ($this->templateParamsManager->isTemplatedParam($paramId)) { | 133 | if ($this->templateParamsManager->isTemplatedParam($paramId)) { |
134 | $paramPath = $this->templateParamsManager->getTemplatePath($paramId); | 134 | $paramPath = $this->templateParamsManager->getTemplatePath($paramId); |
135 | - $real_param_id = $this->templateParamsManager->getTemplatedParamId($paramId, $templateArgs); | ||
136 | if (empty($paramPath) || !$doc->load($paramPath)) | 135 | if (empty($paramPath) || !$doc->load($paramPath)) |
137 | throw new Exception('Cannot find parameter template file '.$paramPath); | 136 | throw new Exception('Cannot find parameter template file '.$paramPath); |
138 | } | 137 | } |
@@ -158,17 +157,21 @@ class IHMParamManagerClass | @@ -158,17 +157,21 @@ class IHMParamManagerClass | ||
158 | $linkedParamId = $amdaParamNode->getAttribute('name'); | 157 | $linkedParamId = $amdaParamNode->getAttribute('name'); |
159 | if (empty($linkedParamId)) | 158 | if (empty($linkedParamId)) |
160 | continue; | 159 | continue; |
161 | - $parsed_param = $this->templateParamsManager->parseTemplatedParam($linkedParamId); | ||
162 | - if ($parsed_param === FALSE) { | ||
163 | - $real_linked_param_id = $linkedParamId; | ||
164 | - $linkedParamPath = IHMConfigClass::getLocalParamDBPath().$real_linked_param_id.".xml"; | 160 | + $template_id = $this->templateParamsManager->getTemplateId($linkedParamId); |
161 | + if ($template_id !== FALSE) { | ||
162 | + $linkedParamId = $template_id; | ||
163 | + } | ||
164 | + | ||
165 | + if ($this->templateParamsManager->isTemplatedParam($linkedParamId)) { | ||
166 | + $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($linkedParamId, $templateArgs); | ||
167 | + $real_linked_param_id = $this->templateParamsManager->getTemplatedParamId($linkedParamId, $templateArgs); | ||
165 | } | 168 | } |
166 | else { | 169 | else { |
167 | - $real_linked_param_id = $parsed_param['paramid']; | ||
168 | - $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($real_linked_param_id, $templateArgs); | 170 | + $real_linked_param_id = $linkedParamId; |
171 | + $linkedParamPath = IHMConfigClass::getLocalParamDBPath().$real_linked_param_id.".xml"; | ||
169 | } | 172 | } |
170 | - $paramsData->addParamToCopy($linkedParamId,$linkedParamPath); | ||
171 | - $this->addLinkedLocalParams($real_linked_param_id, $paramsData); | 173 | + $paramsData->addParamToCopy($real_linked_param_id,$linkedParamPath); |
174 | + $this->addLinkedLocalParams($linkedParamId, $paramsData); | ||
172 | } | 175 | } |
173 | } | 176 | } |
174 | 177 |
src/InputOutput/IHMImpl/Tools/IHMParamTemplateClass.php
@@ -192,6 +192,19 @@ class IHMParamTemplateClass | @@ -192,6 +192,19 @@ class IHMParamTemplateClass | ||
192 | return ""; | 192 | return ""; |
193 | return IHMConfigClass::getParamTemplateFilePath($this->paramTemplateList[$param_id]['fileName']); | 193 | return IHMConfigClass::getParamTemplateFilePath($this->paramTemplateList[$param_id]['fileName']); |
194 | } | 194 | } |
195 | + | ||
196 | + /* | ||
197 | + * @brief Get template id by template file name | ||
198 | + */ | ||
199 | + public function getTemplateId($template_name) { | ||
200 | + $list = $this->getParamTemplates(); | ||
201 | + foreach ($list as $param_id => $param_info) { | ||
202 | + if ($param_info['fileName'] == $template_name) { | ||
203 | + return $param_id; | ||
204 | + } | ||
205 | + } | ||
206 | + return FALSE; | ||
207 | + } | ||
195 | 208 | ||
196 | /* | 209 | /* |
197 | * | 210 | * |