Parcourir la source

fixed missing namespace in Transaction xml sent to Wfs API

Piotr Labudda il y a 9 ans
Parent
commit
8e69f7ee58
1 fichiers modifiés avec 8 ajouts et 0 suppressions
  1. 8 0
      SE/se-lib/Core/AclBase.php

+ 8 - 0
SE/se-lib/Core/AclBase.php

@@ -352,6 +352,14 @@ class Core_AclBase {
     $fieldsLvl = $action['tags'][0]['level'];
     $totalTags = count($action['tags']);
     $tagsToSplice = array();// args for splice(offset, length to remove, new values)
+    $namespaceUri = Api_WfsNs::getNsUri($this->getSourceName());
+    for ($i = 0; $i < $totalTags; $i++) {// fix missing namespace
+      $tag = $action['tags'][$i];
+      if (!V::get('xmlns', '', $tag['attributes'])) {
+        $action['tags'][$i]['attributes']['xmlns'] = $namespaceUri;
+      }
+    }
+    if($DBG){echo 'C.'.get_class($this).' L.' . __LINE__ . " Insert to flat fields \$action";print_r($action);echo"\n";}
     for ($i = 0, $cnt = $totalTags, $lastIdxToSplice = 0; $i < $cnt; $i++) {
       $tag = $action['tags'][$i];
       if($DBG){echo 'C.'.get_class($this).' L.' . __LINE__ . " Insert to flat fields loop({$i}) \$lastIdxToSplice({$lastIdxToSplice}) \$tag('{$tag['tag']}', '{$tag['type']}', '{$tag['level']}')"."\n";}