WfsNs.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. Lib::loadClass('Request');
  3. class Api_WfsNs {
  4. // @usage: Api_WfsNs::getNsList();
  5. public static function getNsList() {
  6. $listNs = array();
  7. $baseNsUri = self::getBaseWfsUri();
  8. $listNs["{$baseNsUri}"] = 'p5';
  9. $listNs["{$baseNsUri}/default_db"] = 'default_db';
  10. $listNs["{$baseNsUri}/default_objects"] = 'default_objects';
  11. $listNs["{$baseNsUri}/objects"] = 'p5_objects';
  12. return $listNs;
  13. }
  14. // @usage: Api_WfsNs::getNsUri('default_db');
  15. public static function getNsUri($nsPrefix) {
  16. $listNs = self::getNsList();
  17. $nsMap = array_flip($listNs);
  18. $nsUri = V::get($nsPrefix, null, $nsMap);
  19. if (!$nsUri) {
  20. if ('p5_default_db' == $nsPrefix) return V::get('default_db', null, $nsMap);
  21. if ('default_objects' == $nsPrefix) return V::get('p5_objects', null, $nsMap);
  22. if ('default_db__x3A__' == substr($nsPrefix, 0, 17)) return $nsMap['p5_default_db'] . "/" . substr($nsPrefix, 17);
  23. }
  24. return $nsUri;
  25. }
  26. // @usage: Api_WfsNs::getNsPrefix('https://biuro.biall-net.pl/wfs/default_db');
  27. public static function getNsPrefix($nsUri) {
  28. $listNs = self::getNsList();
  29. $nsUri = trim($nsUri);
  30. $nsUri = rtrim($nsUri, '/');
  31. return V::get($nsUri, null, $listNs);
  32. }
  33. // @usage: Api_WfsNs::getBaseWfsUri();
  34. public static function getBaseWfsUri() {
  35. return Request::getHostUri() . "/wfs";
  36. }
  37. }