X-Git-Url: https://dev.renevier.net/?p=syj.git;a=blobdiff_plain;f=application%2Fcontrollers%2FIdxController.php;fp=application%2Fcontrollers%2FIdxController.php;h=997be3d5abbde3d8e62782972efe25cb63296aa9;hp=9bfc6bf86a7fe7fb2fa62c8420d26d33a483f952;hb=00c2579ade64a20ba2d82e98d3eea5f864864cdb;hpb=36a21a430d77f914b32eed29019f1f3cd5e9c3fa diff --git a/application/controllers/IdxController.php b/application/controllers/IdxController.php index 9bfc6bf..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"; @@ -215,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; + } + } + }