protected function urlForPlacemark(Placemark $placemark)
 {
     $urlArgs = $placemark->getURLParams();
     // mimic getMergedConfigData in MapWebModule
     if (isset($urlArgs['feed'])) {
         $category = $urlArgs['feed'];
     } else {
         $categoryArg = isset($urlArgs['category']) ? $urlArgs['category'] : null;
         $categories = explode(MAP_CATEGORY_DELIMITER, $categoryArg);
         $category = current($categories);
         if (strlen($category)) {
             $urlArgs['feed'] = $category;
         }
     }
     $configData = $this->getDataForGroup($this->feedGroup);
     // allow individual feeds to override group value
     $feedData = $this->getCurrentFeed($category);
     if ($feedData) {
         foreach ($feedData as $key => $value) {
             $configData[$key] = $value;
         }
     }
     // the device needs to be compliant to use the APIModule
     list($class, $static) = MapImageController::basemapClassForDevice(new MapDevice('compliant', 'computer'), $configData);
     if ($static) {
         $page = $this->numGroups > 1 ? 'campus' : 'index';
     } else {
         $page = 'detail';
     }
     return rtrim(FULL_URL_PREFIX, '/') . '/' . $this->configModule . '/' . $page . '?' . http_build_query($urlArgs);
 }
Beispiel #2
0
 protected function pageForPlacemark(Placemark $placemark)
 {
     $page = 'detail';
     $params = $placemark->getURLParams();
     if (isset($params['feed']) && $this->isMapDrivenUI($params['feed'])) {
         //$fullscreen = ($this->numGroups > 1) ? 'campus' : 'index';
         //if ($this->page != $fullscreen) { // use detail page if we're already on a fullscreen map
         //    $page = $fullscreen;
         //}
         if (($this->page != 'campus' || $this->getArg('listview')) && !$this->getArg('mapview')) {
             // use detail page if we're already on a fullscreen map
             $page = 'campus';
         }
     }
     return $page;
 }
Beispiel #3
0
 protected function pageForPlacemark(Placemark $placemark)
 {
     $page = 'detail';
     $params = $placemark->getURLParams();
     // only if the placemark is searched, and there are 2 feed groups
     // the feedGroup is mandartory
     if (empty($this->feedGroup) && isset($params['group'])) {
         $this->feedGroup = $params['group'];
     }
     if (isset($params['feed']) && $this->isMapDrivenUI($params['feed'])) {
         //$fullscreen = ($this->numGroups > 1) ? 'campus' : 'index';
         //if ($this->page != $fullscreen) { // use detail page if we're already on a fullscreen map
         //    $page = $fullscreen;
         //}
         if (($this->page != 'campus' || $this->getArg('listview')) && !$this->getArg('mapview')) {
             // use detail page if we're already on a fullscreen map
             $page = 'campus';
         }
     }
     return $page;
 }