]> dev.renevier.net Git - syj.git/blobdiff - application/controllers/IdxController.php
routes profile
[syj.git] / application / controllers / IdxController.php
index 9bfc6bf86a7fe7fb2fa62c8420d26d33a483f952..997be3d5abbde3d8e62782972efe25cb63296aa9 100644 (file)
@@ -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;
+       }
+    }
+
 }