]> dev.renevier.net Git - syj.git/blobdiff - application/controllers/IdxController.php
routes profile
[syj.git] / application / controllers / IdxController.php
index d24b71ca82a79e38d301c085b3fbc63c40f189c0..997be3d5abbde3d8e62782972efe25cb63296aa9 100644 (file)
@@ -7,19 +7,15 @@ class IdxController extends Zend_Controller_Action
 
     public function init() {
         $this->_helper->SyjMedias->addScripts('idx');
-        $this->view->headLink()->appendStylesheet('css/olstyle.css', "screen");
-        $this->view->headLink()->appendStylesheet('css/generic.css', "screen");
-        $this->view->headLink()->appendStylesheet('css/syj.css', "screen");
-        $this->view->headLink()->appendStylesheet('css/syjprint.css', "print");
+        $this->_helper->SyjMedias->addStyleSheets('idx');
+        $this->view->headMeta()->appendName('viewport', 'width=640');
     }
 
     public function rawmode(Syj_Model_Path $path) {
         $this->_helper->SyjReset->resetPlaceHolders();
         $this->_helper->SyjMedias->addScripts('rawidx');
+        $this->_helper->SyjMedias->addStyleSheets('rawidx');
 
-        $this->view->headLink()->appendStylesheet('css/generic.css', "screen");
-        $this->view->headLink()->appendStylesheet('css/syjraw.css', "screen");
-        $this->view->headLink()->appendStylesheet('css/syjprint.css', "print");
         $this->view->headTitle($path->displayTitle);
 
         $this->_jsRawLocaleStrings();
@@ -63,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";
@@ -148,6 +145,7 @@ class IdxController extends Zend_Controller_Action
     protected function _jsRawLocaleStrings() {
         $this->view->jslocales = array(
             'osmAttribution' => __("Map by <a href='http://openstreetmap.org/'>OpenStreetMap</a>"),
+            'mapquestAttribution' => __("Map by MapQuest, <a href='http://www.openstreetmap.org/'>OpenStreetMap</a> and contributors, <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CC-BY-SA</a>"),
             );
     }
 
@@ -173,6 +171,7 @@ class IdxController extends Zend_Controller_Action
             'canResubmit' => __("Now, you can retry to save"),
             'routeBy' => __("route by"),
             'osmAttribution' => __("Map by <a href='http://openstreetmap.org/'>OpenStreetMap</a>"),
+            'mapquestAttribution' => __("Map by MapQuest, <a href='http://www.openstreetmap.org/'>OpenStreetMap</a> and contributors, <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CC-BY-SA</a>"),
             'pseudoChecking' => __("checking availibilty"),
             'availablePseudo' => __("available pseudo"),
             'unavailablePseudo' => __("unavailable pseudo"),
@@ -217,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;
+       }
+    }
+
 }