From 22a99bdbcf663849d1d3fadffedc60eefe71f3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bohman?= Date: Thu, 8 Dec 2016 10:58:42 +0100 Subject: [PATCH] Let getAllQueries() return ordered JSON hash. Make getAllQueries() take an optionally argument that can be any of: * orderByClientDomainTime * orderByClientTimeDomain * orderByTimeClientDomain * orderByTimeDomainClient * orderByDomainClientTime * orderByDomainTimeClient * ANY THING ELSE If argument is one of orderBy* make getAllQueries() return with JSON hash that is structured by the way the argument sets. This does not break the originally function of getAllQueries() and is backwards compatible. --- data.php | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/data.php b/data.php index 916818a6..86c491d2 100644 --- a/data.php +++ b/data.php @@ -132,7 +132,7 @@ ); } - function getAllQueries() { + function getAllQueries($orderBy) { global $log; $allQueries = array("data" => array()); $dns_queries = getDnsQueriesAll($log); @@ -158,17 +158,30 @@ } if ( $status != ""){ - array_push($allQueries['data'], array( - $time->format('Y-m-d\TH:i:s'), - $type, - $domain, - hasHostName($client), - $status, - "" - )); + if($orderBy == "orderByClientDomainTime"){ + $allQueries['data'][hasHostName($client)][$domain][$time->format('Y-m-d\TH:i:s')] = $status; + }elseif ($orderBy == "orderByClientTimeDomain"){ + $allQueries['data'][hasHostName($client)][$time->format('Y-m-d\TH:i:s')][$domain] = $status; + }elseif ($orderBy == "orderByTimeClientDomain"){ + $allQueries['data'][$time->format('Y-m-d\TH:i:s')][hasHostName($client)][$domain] = $status; + }elseif ($orderBy == "orderByTimeDomainClient"){ + $allQueries['data'][$time->format('Y-m-d\TH:i:s')][$domain][hasHostName($client)] = $status; + }elseif ($orderBy == "orderByDomainClientTime"){ + $allQueries['data'][$domain][hasHostName($client)][$time->format('Y-m-d\TH:i:s')] = $status; + }elseif ($orderBy == "orderByDomainTimeClient"){ + $allQueries['data'][$domain][$time->format('Y-m-d\TH:i:s')][hasHostName($client)] = $status; + }else{ + array_push($allQueries['data'], array( + $time->format('Y-m-d\TH:i:s'), + $type, + $domain, + hasHostName($client), + $status, + "" + )); + } } - } return $allQueries; }