diff --git a/html/includes/common/availability-map.inc.php b/html/includes/common/availability-map.inc.php index 4df833aed5..34257c0a7a 100644 --- a/html/includes/common/availability-map.inc.php +++ b/html/includes/common/availability-map.inc.php @@ -134,25 +134,25 @@ if (defined('SHOW_SETTINGS')) { $in_devices = implode(',', $in_devices); } - if ($show_disabled_ignored == 1) { - $disabled_ignored = ', `D`.`ignore`, `D`.`disabled`'; - } - - $sql = 'SELECT `D`.`hostname`, `D`.`sysName`, `D`.`device_id`, `D`.`status`, `D`.`uptime`, `D`.`os`, `D`.`icon` '.$disabled_ignored.' FROM `devices` AS `D`'; + $sql = 'SELECT `D`.`hostname`, `D`.`sysName`, `D`.`device_id`, `D`.`status`, `D`.`uptime`, `D`.`os`, `D`.`icon`, `D`.`ignore`, `D`.`disabled` FROM `devices` AS `D`'; if (is_normal_user() === true) { - $sql .= ' , `devices_perms` AS P WHERE D.`device_id` = P.`device_id` AND P.`user_id` = ? AND'; + $sql .= ' , `devices_perms` AS P WHERE D.`device_id` = P.`device_id` AND P.`user_id` = ? AND '; $param = array( $_SESSION['user_id'] ); } else { - $sql .= ' WHERE'; + $sql .= ' WHERE '; + } + + if ($show_disabled_ignored != 1) { + $sql .= '`D`.`ignore` = 0 AND `D`.`disabled` = 0 '; + } else { + $sql .= '(`D`.`status` IN (0,1,2) OR `D`.`ignore` = 1 OR `D`.`disabled` = 1)'; } if ($config['webui']['availability_map_use_device_groups'] != 0 && isset($in_devices)) { - $sql .= " `D`.`device_id` IN (".$in_devices.")"; - } else { - $sql .= " TRUE"; + $sql .= " AND `D`.`device_id` IN ($in_devices)"; } $sql .= " ORDER BY `".$deviceOrderBy."`";