From 7ff448e8259919c488bb1340c3902abf2a816e7a Mon Sep 17 00:00:00 2001 From: Florent Bruneau Date: Thu, 6 Mar 2008 15:23:09 +0100 Subject: [PATCH] While waiting for next release lets use a faster query for ipwatch admin page. Signed-off-by: Florent Bruneau --- modules/admin.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/admin.php b/modules/admin.php index 7451c63..8c72aef 100644 --- a/modules/admin.php +++ b/modules/admin.php @@ -1055,10 +1055,14 @@ class AdminModule extends PLModule $page->assign('action', $action); if ($action == 'list') { - $sql = "SELECT w.ip, IF(w.ip = s.ip, s.host, s.forward_host), w.detection, w.state, a.alias AS forlife + $sql = "SELECT w.ip, IF(s.ip IS NULL, + IF(w.ip = s2.ip, s2.host, s2.forward_host), + IF(w.ip = s.ip, s.host, s.forward_host)), + w.detection, w.state, a.alias AS forlife FROM ip_watch AS w - LEFT JOIN logger.sessions AS s ON (s.ip = w.ip OR s.forward_ip = w.ip) - LEFT JOIN aliases AS a ON (a.id = s.uid AND a.type = 'a_vie') + LEFT JOIN logger.sessions AS s ON (s.ip = w.ip) + LEFT JOIN logger.sessions AS s2 ON (s2.forward_ip = w.ip) + LEFT JOIN aliases AS a ON (a.id = s.uid AND a.type = 'a_vie') GROUP BY w.ip, a.alias ORDER BY w.state, w.ip, a.alias"; $it = Xdb::iterRow($sql); -- 2.1.4