t("EXIF GPS Map")); } static function get($block_id, $theme) { $block = ""; switch ($block_id) { case "exif_gps_map": // Look for coordinates to display. $latitude = ""; $longitude = ""; if ($theme->item()) { // Check and see if the item has exif coordinates associated with it. $record = ORM::factory("exif_coordinate")->where("item_id", "=", $theme->item->id)->find(); if ($record->loaded()) { $latitude = $record->latitude; $longitude = $record->longitude; } elseif (module::is_active("tagsmap") && module::is_active("tag")) { // If there are no exif coordinates, check for tagsmap coordinates instead. $tagsItem = ORM::factory("tag") ->join("items_tags", "tags.id", "items_tags.tag_id") ->where("items_tags.item_id", "=", $theme->item->id) ->find_all(); if (count($tagsItem) > 0) { foreach ($tagsItem as $oneTag) { $tagsGPS = ORM::factory("tags_gps")->where("tag_id", "=", $oneTag->id)->find(); if ($tagsGPS->loaded()) { $latitude = $tagsGPS->latitude; $longitude = $tagsGPS->longitude; break; } } } } } elseif ( ($theme->tag()) && (module::is_active("tagsmap") && module::is_active("tag")) ) { // If the current page belongs to a tag, check and see if the tag has GPS coordinates. $tagsGPS = ORM::factory("tags_gps")->where("tag_id", "=", $theme->tag()->id)->find(); if ($tagsGPS->loaded()) { $latitude = $tagsGPS->latitude; $longitude = $tagsGPS->longitude; } } // If coordinates were found, create the block. if ($latitude != "" && $longitude != "") { $block = new Block(); $block->css_id = "g-exif-gps-sidebar"; $block->title = t("Location"); if (module::get_var("exif_gps", "sidebar_mapformat") == 1) { $block->content = new View("exif_gps_dynamic_sidebar.html"); if (module::get_var("exif_gps", "sidebar_maptype") == 0) $block->content->sidebar_map_type = "ROADMAP"; if (module::get_var("exif_gps", "sidebar_maptype") == 1) $block->content->sidebar_map_type = "SATELLITE"; if (module::get_var("exif_gps", "sidebar_maptype") == 2) $block->content->sidebar_map_type = "HYBRID"; if (module::get_var("exif_gps", "sidebar_maptype") == 3) $block->content->sidebar_map_type = "TERRAIN"; } else { $block->content = new View("exif_gps_static_sidebar.html"); if (module::get_var("exif_gps", "sidebar_maptype") == 0) $block->content->sidebar_map_type = "roadmap"; if (module::get_var("exif_gps", "sidebar_maptype") == 1) $block->content->sidebar_map_type = "satellite"; if (module::get_var("exif_gps", "sidebar_maptype") == 2) $block->content->sidebar_map_type = "hybrid"; if (module::get_var("exif_gps", "sidebar_maptype") == 3) $block->content->sidebar_map_type = "terrain"; } $block->content->latitude = $latitude; $block->content->longitude = $longitude; } break; } return $block; } }