mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added ability to select down/up devices on worldmap
This commit is contained in:
@@ -30,7 +30,7 @@ if ($config['map']['engine'] == 'leaflet') {
|
|||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<label for="init_lat" class="control-label">Initial Latitude: </label>
|
<label for="init_lat" class="control-label">Initial Latitude: </label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-8">
|
||||||
<input class="form-control" name="init_lat" id="input_lat_'.$unique_id.'" value="'.$widget_settings['init_lat'].'" placeholder="ie. 51.4800 for Greenwich">
|
<input class="form-control" name="init_lat" id="input_lat_'.$unique_id.'" value="'.$widget_settings['init_lat'].'" placeholder="ie. 51.4800 for Greenwich">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -46,7 +46,7 @@ if ($config['map']['engine'] == 'leaflet') {
|
|||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<label for="init_zoom" class="control-label">Initial Zoom: </label>
|
<label for="init_zoom" class="control-label">Initial Zoom: </label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-8">
|
||||||
<select class="form-control" name="init_zoom" id="select_zoom'.$unique_id.'">
|
<select class="form-control" name="init_zoom" id="select_zoom'.$unique_id.'">
|
||||||
';
|
';
|
||||||
for ($i=0; $i<19; $i++) {
|
for ($i=0; $i<19; $i++) {
|
||||||
@@ -65,10 +65,22 @@ if ($config['map']['engine'] == 'leaflet') {
|
|||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<label for="group_radius" class="control-label">Grouping radius: </label>
|
<label for="group_radius" class="control-label">Grouping radius: </label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-8">
|
||||||
<input class="form-control" name="group_radius" id="input_radius_'.$unique_id.'" value="'.$widget_settings['group_radius'].'" placeholder="default 80">
|
<input class="form-control" name="group_radius" id="input_radius_'.$unique_id.'" value="'.$widget_settings['group_radius'].'" placeholder="default 80">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<label for="status" class="control-label">Show devices: </label>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<select class="form-control" name="status" id="status_'.$unique_id.'">
|
||||||
|
<option value="0,1">Up + Down</option>
|
||||||
|
<option value="1">Up</option>
|
||||||
|
<option value="0">Down</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<button type="submit" class="btn btn-default">Set</button>
|
<button type="submit" class="btn btn-default">Set</button>
|
||||||
@@ -101,6 +113,9 @@ if ($config['map']['engine'] == 'leaflet') {
|
|||||||
else {
|
else {
|
||||||
$group_radius = 80;
|
$group_radius = 80;
|
||||||
}
|
}
|
||||||
|
if (empty($widget_settings['status']) && $widget_settings['status'] != '0') {
|
||||||
|
$widget_settings['status'] = '0,1';
|
||||||
|
}
|
||||||
$map_init = "[" . $init_lat . ", " . $init_lng . "], " . sprintf("%01.0f", $init_zoom);
|
$map_init = "[" . $init_lat . ", " . $init_lng . "], " . sprintf("%01.0f", $init_zoom);
|
||||||
$temp_output .= 'var map = L.map(\'leaflet-map\').setView('.$map_init.');
|
$temp_output .= 'var map = L.map(\'leaflet-map\').setView('.$map_init.');
|
||||||
L.tileLayer(\'//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\', {
|
L.tileLayer(\'//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\', {
|
||||||
@@ -125,6 +140,7 @@ var greenMarker = L.AwesomeMarkers.icon({
|
|||||||
$sql = "SELECT DISTINCT(`device_id`),`hostname`,`os`,`status`,`lat`,`lng` FROM `devices`
|
$sql = "SELECT DISTINCT(`device_id`),`hostname`,`os`,`status`,`lat`,`lng` FROM `devices`
|
||||||
LEFT JOIN `locations` ON `devices`.`location`=`locations`.`location`
|
LEFT JOIN `locations` ON `devices`.`location`=`locations`.`location`
|
||||||
WHERE `disabled`=0 AND `ignore`=0 AND `lat` != '' AND `lng` != ''
|
WHERE `disabled`=0 AND `ignore`=0 AND `lat` != '' AND `lng` != ''
|
||||||
|
AND `status` IN (".$widget_settings['status'].")
|
||||||
ORDER BY `status` ASC, `hostname`";
|
ORDER BY `status` ASC, `hostname`";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -134,10 +150,11 @@ var greenMarker = L.AwesomeMarkers.icon({
|
|||||||
LEFT JOIN `locations` ON `devices`.`location`=`locations`.`location`
|
LEFT JOIN `locations` ON `devices`.`location`=`locations`.`location`
|
||||||
WHERE `disabled`=0 AND `ignore`=0 AND `lat` != '' AND `lng` != ''
|
WHERE `disabled`=0 AND `ignore`=0 AND `lat` != '' AND `lng` != ''
|
||||||
AND `devices`.`device_id` = `devices_perms`.`device_id`
|
AND `devices`.`device_id` = `devices_perms`.`device_id`
|
||||||
AND `devices_perms`.`user_id` = ?
|
AND `devices_perms`.`user_id` = ? AND `status` IN (".$widget_settings['status'].")
|
||||||
ORDER BY `status` ASC, `hostname`";
|
ORDER BY `status` ASC, `hostname`";
|
||||||
|
$param[] = $_SESSION['user_id'];
|
||||||
}
|
}
|
||||||
foreach (dbFetchRows($sql, array($_SESSION['user_id'])) as $map_devices) {
|
foreach (dbFetchRows($sql, $param) as $map_devices) {
|
||||||
$icon = 'greenMarker';
|
$icon = 'greenMarker';
|
||||||
$z_offset = 0;
|
$z_offset = 0;
|
||||||
if ($map_devices['status'] == 0) {
|
if ($map_devices['status'] == 0) {
|
||||||
|
Reference in New Issue
Block a user