X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fcontrollers%2FGeomController.php;h=497b2a8ca4692561644c743d68e8f0454e619c04;hb=ccec698be8d221c48a6590af099d4390ee0a31e6;hp=f97d016c554ee0f950723d97b8c920c7395cd01e;hpb=d501fa8a29291499c668bed9ddfcb4fc328b2e25;p=syj.git diff --git a/application/controllers/GeomController.php b/application/controllers/GeomController.php index f97d016..497b2a8 100644 --- a/application/controllers/GeomController.php +++ b/application/controllers/GeomController.php @@ -1,5 +1,5 @@ '; $data .= ''; if ($path->creator) { - $data .= '' . htmlspecialchars($path->creator->pseudo) . ''; + $data .= '' + . htmlspecialchars($path->creator->pseudo, ENT_COMPAT, "UTF-8") + . ''; } - $data .= '' . htmlspecialchars($path->displayTitle) . ''; + $data .= '' . htmlspecialchars($path->displayTitle, ENT_COMPAT, "UTF-8") . ''; $data .= $path->geom->toKML(); $data .= ''; $data .= ''; @@ -67,11 +69,27 @@ class GeomController extends Zend_Controller_Action $api->setCheckIfNoneMatch(true)->setContentType('application/vnd.google-earth.kml+xml')->setBody($data); } + protected function gpx(Syj_Model_Path $path) { + $data = '' . PHP_EOL; // '; + $data .= ''; + if ($path->creator) { + $data .= '' . htmlspecialchars($path->creator->pseudo, ENT_COMPAT, "UTF-8") . ''; + } + $data .= '' . htmlspecialchars($path->displayTitle, ENT_COMPAT, "UTF-8") . ''; + $data .= $path->geom->toGPX(); + $data .= ''; + $data .= ''; + + $api = $this->_helper->SyjApi; + $api->setCheckIfNoneMatch(true)->setContentType('application/gpx+xml')->setBody($data); + } + protected function json(Syj_Model_Path $path) { - $data = array('geom' => (string)$path->geom, - 'title' => (string)$path->displayTitle); + $data = json_decode($path->geom->toGeoJSON()); + $data->title = (string)$path->displayTitle; if ($path->creator) { - $data['creator'] = (string)$path->creator->pseudo; + $data->creator = (string)$path->creator->pseudo; } $api = $this->_helper->SyjApi; $api->setCheckIfNoneMatch(true)->setBodyJson($data);