Просмотр исходного кода

added p5 prefix for all GetFeature responses

Piotr Labudda 8 лет назад
Родитель
Сommit
a472e98447
1 измененных файлов с 12 добавлено и 1 удалено
  1. 12 1
      SE/se-lib/Api/WfsDataServer.php

+ 12 - 1
SE/se-lib/Api/WfsDataServer.php

@@ -187,6 +187,17 @@ class Api_WfsDataServer extends Api_WfsServerBase {
 		}
 		if (!empty($args['bbox'])) $searchParams['f_the_geom'] = "BBOX:{$args['bbox']}";
 
+		// $args['backRefPK'] = V::get('backRefPK', '', $rawArgs);
+		// $args['backRefNS'] = V::get('backRefNS', '', $rawArgs);
+		// $args['backRefField'] = V::get('backRefField', '', $rawArgs);
+		if (!empty($args['backRefNS']) && !empty($args['backRefPK'])) {
+			$searchParams['__backRef'] = [
+				'namespace' => $args['backRefNS'],
+				'primaryKey' => $args['backRefPK'],
+				'fieldName' => ($args['backRefField']) ? $args['backRefField'] : $args['typeName'],
+			];
+		}
+
 		DBG::log($args, 'array', "\$args");
 		$schemaCache = array();
 		try {
@@ -220,7 +231,7 @@ class Api_WfsDataServer extends Api_WfsServerBase {
 		$xmlWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
 		$xlmns = [];
 		$xlmns[ $wfsNs ] = $wfsNsUri;
-		if (!$simple) $xlmns[ $rootWfsNs ] = $rootWfsNsUri; // $xmlWriter->writeAttribute('xmlns:p5', Api_WfsNs::getBaseWfsUri());
+		$xlmns[ $rootWfsNs ] = $rootWfsNsUri; // $xmlWriter->writeAttribute('xmlns:p5', Api_WfsNs::getBaseWfsUri());
 		foreach ($schemaCache as $childSchema) {
 			$xlmns[ $childSchema['nsPrefix'] ] = "{$rootWfsNsUri}/" . str_replace('__x3A__', '/', $childSchema['nsPrefix']);
 		}