X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fcontrollers%2FIdxController.php;h=997be3d5abbde3d8e62782972efe25cb63296aa9;hb=00c2579ade64a20ba2d82e98d3eea5f864864cdb;hp=4fc9aaf45e965e175f8e2b082a9bccc1193e6edd;hpb=6c1b83c4b957fcb1886535dc8decbcf16bf4a384;p=syj.git diff --git a/application/controllers/IdxController.php b/application/controllers/IdxController.php index 4fc9aaf..997be3d 100644 --- a/application/controllers/IdxController.php +++ b/application/controllers/IdxController.php @@ -59,6 +59,7 @@ class IdxController extends Zend_Controller_Action $this->view->headScript()->prependScript((string) $jsgeom); $this->view->loginform->login_geom_id->setValue((string)$path->id); $this->view->geomform->geom_title->setValue($path->title); + $this->view->profileActive = $this->_hasAltiProfile($path); } else { $this->_setInitialPos(); $title = "Show your journey"; @@ -144,6 +145,7 @@ class IdxController extends Zend_Controller_Action protected function _jsRawLocaleStrings() { $this->view->jslocales = array( 'osmAttribution' => __("Map by OpenStreetMap"), + 'mapquestAttribution' => __("Map by MapQuest, OpenStreetMap and contributors, CC-BY-SA"), ); } @@ -169,6 +171,7 @@ class IdxController extends Zend_Controller_Action 'canResubmit' => __("Now, you can retry to save"), 'routeBy' => __("route by"), 'osmAttribution' => __("Map by OpenStreetMap"), + 'mapquestAttribution' => __("Map by MapQuest, OpenStreetMap and contributors, CC-BY-SA"), 'pseudoChecking' => __("checking availibilty"), 'availablePseudo' => __("available pseudo"), 'unavailablePseudo' => __("unavailable pseudo"), @@ -213,4 +216,30 @@ class IdxController extends Zend_Controller_Action return round($size) . $sizes[$c]; } + private function _hasAltiProfile($path) { + if (!extension_loaded('gd')) { + return false; + } + $cachefile = $path->getProfileCache('small'); + if (file_exists($cachefile)) { + return filesize($cachefile) != 0; + } + + try { + $service = $this->_helper->SyjAltiService->service(); + } catch(Exception $e) { + return false; + } + + try { + $path->getAltiProfile($service, 2 / 100); + return true; + } catch(Syj_Exception_NotImplemented $e) { + @touch($cachefile); + return false; + } catch(Exception $e) { + return false; + } + } + }