33require_once(
"Services/Maps/classes/class.ilMapGUI.php");
42 parent::__construct();
54 $this->tile_server = $a_tile;
63 $this->geolocation_server = $a_geolocation;
73 $this->tpl =
new ilTemplate(
"tpl.openlayers_map.html",
74 true,
true,
"Services/Maps");
77 $lng->loadLanguageModule(
"maps");
78 $tpl->addJavaScript(
"Services/Maps/js/OpenLayers.js");
79 $tpl->addJavaScript(
"Services/Maps/js/ServiceOpenLayers.js");
83 foreach($this->user_marker as $user_id)
88 if ($user->getLatitude() != 0 && $user->getLongitude() != 0 &&
89 $user->getPref(
"public_location") ==
"y")
91 $this->tpl->setCurrentBlock(
"user_marker");
92 $this->tpl->setVariable(
"UMAP_ID",
94 $this->tpl->setVariable(
"CNT", $cnt);
96 $this->tpl->setVariable(
"ULAT", htmlspecialchars($user->getLatitude()));
97 $this->tpl->setVariable(
"ULONG", htmlspecialchars($user->getLongitude()));
98 $info = htmlspecialchars($user->getFirstName().
" ".$user->getLastName());
100 if ($user->getPref(
"public_institution") ==
"y")
102 $info.= $delim.htmlspecialchars($user->getInstitution());
105 if ($user->getPref(
"public_department") ==
"y")
107 $info.= $delim.htmlspecialchars($user->getDepartment());
110 if ($user->getPref(
"public_street") ==
"y")
112 $info.= $delim.htmlspecialchars($user->getStreet());
114 if ($user->getPref(
"public_zip") ==
"y")
116 $info.= $delim.htmlspecialchars($user->getZipcode());
119 if ($user->getPref(
"public_city") ==
"y")
121 $info.= $delim.htmlspecialchars($user->getCity());
124 if ($user->getPref(
"public_country") ==
"y")
126 $info.= $delim.htmlspecialchars($user->getCountry());
128 $this->tpl->setVariable(
"USER_INFO",
130 $this->tpl->setVariable(
"IMG_USER",
131 $user->getPersonalPicturePath(
"xsmall"));
132 $this->tpl->parseCurrentBlock();
138 $this->tpl->setVariable(
"MAP_ID", $this->
getMapId());
139 $this->tpl->setVariable(
"WIDTH", $this->
getWidth());
140 $this->tpl->setVariable(
"HEIGHT", $this->
getHeight());
141 $this->tpl->setVariable(
"LAT", $this->
getLatitude());
143 $this->tpl->setVariable(
"ZOOM", (
int) $this->
getZoom());
149 $this->tpl->setVariable(
"NAV_CONTROL", $nav_control);
153 $this->tpl->setVariable(
"CENTRAL_MARKER", $central_marker);
157 $this->tpl->setVariable(
"REPLACE_MARKER", $replace_marker);
160 $tile_servers = explode(
" ", $tile_servers);
161 array_walk($tile_servers,
function(&$string) { $string =
'"'.$string.
'"';});
162 $tile_servers =
'['.implode(
', ', $tile_servers).
']';
164 $this->tpl->setVariable(
"TILES", $tile_servers);
166 $this->tpl->setVariable(
"INVALID_ADDRESS_STRING",
$lng->txt(
"invalid_address"));
168 return $this->tpl->get();
176 $list_tpl =
new ilTemplate(
"tpl.openlayers_map_user_list.html",
177 true,
true,
"Services/Maps");
180 foreach($this->user_marker as $user_id)
185 $this->css_row = ($this->css_row !=
"tblrow1_mo")
188 if ($user->getLatitude() != 0 && $user->getLongitude() != 0
189 && $user->getPref(
"public_location") ==
"y")
191 $list_tpl->setCurrentBlock(
"item");
192 $list_tpl->setVariable(
"MARKER_CNT", $cnt);
193 $list_tpl->setVariable(
"MAP_ID", $this->
getMapId());
198 $list_tpl->setCurrentBlock(
"item_no_link");
200 $list_tpl->setVariable(
"CSS_ROW", $this->css_row);
201 $list_tpl->setVariable(
"TXT_USER", $user->getLogin());
202 $list_tpl->setVariable(
"IMG_USER",
203 $user->getPersonalPicturePath(
"xxsmall"));
204 $list_tpl->parseCurrentBlock();
205 $list_tpl->touchBlock(
"row");
209 return $list_tpl->get();
User interface class for maps.
getEnableCentralMarker()
Get Enable Central Marker.
getLongitude()
Get Longitude.
getEnableNavigationControl()
Get Use Navigation Control.
getLatitude()
Get Latitude.
getEnableUpdateListener()
Get Activate Update Listener.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
User interface class for OpenLayers maps.
getUserListHtml()
Get User List HTML (to be displayed besides the map)
setGeolocationServer($a_geolocation)
getTileServers()
Get HTML.
special template class to simplify handling of ITX/PEAR