X-Git-Url: https://dev.renevier.net/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=application%2Fcontrollers%2FGeomController.php;h=b01837c8c50c218e20cb452c59ffc6ff3bebe4dc;hb=d2a6eeefc534a97762d715180d67f915ab204ae6;hp=3f14df907137d7cbab2ec8a83f695ba3d140b653;hpb=c18437388d1810a4f7e8f692d748473feeaebe00;p=syj.git
diff --git a/application/controllers/GeomController.php b/application/controllers/GeomController.php
index 3f14df9..b01837c 100644
--- a/application/controllers/GeomController.php
+++ b/application/controllers/GeomController.php
@@ -1,5 +1,5 @@
find($idx, $path)) {
- if ($pathMapper->hasexisted($idx)) {
- $api->setCode(410);
- } else {
- $api->setCode(404);
+ if (!$pathMapper->findByTitle($idx, $path)) {
+ if ($pathMapper->hasexisted($idx)) {
+ $api->setCode(410);
+ } else {
+ $api->setCode(404);
+ }
+ return;
}
- return;
}
switch ($ext) {
@@ -56,9 +58,11 @@ class GeomController extends Zend_Controller_Action
$data .= '';
$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 .= '';
@@ -72,22 +76,22 @@ class GeomController extends Zend_Controller_Action
$data .= '';
$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->toGPX();
$data .= '';
$data .= '';
$api = $this->_helper->SyjApi;
- $api->setCheckIfNoneMatch(true)->setContentType('application/octet-stream')->setBody($data);
+ $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);