Przeglądaj źródła

added wps GetCapabilities outputFormat=html

Piotr Labudda 8 lat temu
rodzic
commit
e33fd2fce3

+ 17 - 1
SE/se-lib/Api/WpsV1/GetCapabilities.php

@@ -66,6 +66,22 @@ class Api_WpsV1_GetCapabilities { // TODO: ...
 		exit;
 	}
 
+	static function sendGetCapabilitiesHtml($wpsServerUrl, $serviceTitle, $serviceDescription, $wpsProcessList) {
+		header('Content-type: text/html; charset=utf-8');
+		Lib::loadClass('UI');
+		UI::layout(function () use ($wpsServerUrl, $serviceTitle, $serviceDescription, $wpsProcessList) {
+			echo UI::h('h1', [], "WPS GetCapabilities (v 1.0.0)");
+			UI::setTitle("WPS GetCapabilities (v 1.0.0)");
+			echo UI::h('ul', [], array_map(function ($wpsProcess) {
+				return UI::h('li', [], [
+					UI::h('a', [ 'href' => "wps.php?SERVICE=WPS&REQUEST=DescribeProcess&VERSION=1.0.0&IDENTIFIER={$wpsProcess->identifier}" ], $wpsProcess->identifier),
+					UI::h('span', [ 'style' => "margin-left: 6px; color:silver" ], $wpsProcess->title),
+					UI::h('pre', [ 'style' => "display:none" ], var_export($wpsProcess, true)),
+				]);
+			}, $wpsProcessList));
+		}, [ 'showMenu' => false ]);
+	}
+
 	static function sendGetCapabilitiesXml($wpsServerUrl, $serviceTitle, $serviceDescription, $wpsProcessList) {
 		header('Content-type: application/xml; charset=utf-8');
 		$xmlWriter = new Core_XmlWriter();
@@ -192,7 +208,7 @@ class Api_WpsV1_GetCapabilities { // TODO: ...
 		// 	</wps:Languages>
 		// </wps:Capabilities>
 		$xmlWriter->h('wps:ProcessOfferings', array_map(function ($wpsProcess) {
-			return [ 'wps:Process', [ 'wps:processVersion' => $wpsProcess->version ], [
+			return [ 'wps:Process', [ 'wps:processVersion' => $wpsProcess->processVersion ], [
 				[ 'ows:Identifier', $wpsProcess->identifier ],
 				[ 'ows:Title', $wpsProcess->title ],
 				[ 'ows:Abstract', $wpsProcess->description ],

+ 4 - 1
SE/se-lib/Api/WpsV1/Server.php

@@ -121,7 +121,10 @@ class Api_WpsV1_Server extends Api_WpsV1_ServerBase {
 			case 'xml': {
 				Api_WpsV1_GetCapabilities::sendGetCapabilitiesXml($wpsServerUrl, $serviceTitle, $serviceDescription, $wpsProcessList);
 			} break;
-			default: throw new Api_WfsException("Not Implemented outputFormat", 501); // , null, 'NotImplemented', 'request');
+			case 'html': {
+				Api_WpsV1_GetCapabilities::sendGetCapabilitiesHtml($wpsServerUrl, $serviceTitle, $serviceDescription, $wpsProcessList);
+			} break;
+			default: throw new Api_OwsException("Not Implemented outputFormat", 501, null, 'Not Implemented', 'request');
 		}
 		exit;
 	}