diff --git a/includes/html/table/alertlog-stats.inc.php b/includes/html/table/alertlog-stats.inc.php index 44d22a359f..66ae84ba7c 100644 --- a/includes/html/table/alertlog-stats.inc.php +++ b/includes/html/table/alertlog-stats.inc.php @@ -34,8 +34,10 @@ if (isset($vars['min_severity'])) { if (Auth::user()->hasGlobalRead()) { $sql = " FROM `alert_log` AS E LEFT JOIN devices AS D ON E.device_id=D.device_id RIGHT JOIN alert_rules AS R ON E.rule_id=R.id WHERE $where"; } else { - $sql = " FROM `alert_log` AS E LEFT JOIN devices AS D ON E.device_id=D.device_id RIGHT JOIN alert_rules AS R ON E.rule_id=R.id RIGHT JOIN devices_perms AS P ON E.device_id = P.device_id WHERE $where AND P.user_id = ?"; - $param[] = [Auth::id()]; + $device_ids = Permissions::devicesForUser()->toArray() ?: [0]; + // @phpstan-ignore-next-line + $sql = " FROM `alert_log` AS E LEFT JOIN devices AS D ON E.device_id=D.device_id RIGHT JOIN alert_rules AS R ON E.rule_id=R.id WHERE $where AND E.device_id IN " . dbGenPlaceholders(count($device_ids)); + $param = array_merge($param, $device_ids); } if (isset($searchPhrase) && ! empty($searchPhrase)) {