diff --git a/data.php b/data.php index 419ecd15..9c91cc34 100644 --- a/data.php +++ b/data.php @@ -141,11 +141,46 @@ } function getAllQueries($orderBy) { - global $log; + global $log,$setupVars; $allQueries = array("data" => array()); $dns_queries = getDnsQueriesAll($log); $hostname = trim(file_get_contents("/etc/hostname"), "\x00..\x1F"); + if(isset($setupVars["API_QUERY_LOG_SHOW"])) + { + if($setupVars["API_QUERY_LOG_SHOW"] === "all") + { + $showblocked = true; + $showpermitted = true; + } + elseif($setupVars["API_QUERY_LOG_SHOW"] === "permittedonly") + { + $showblocked = false; + $showpermitted = true; + } + elseif($setupVars["API_QUERY_LOG_SHOW"] === "blockedonly") + { + $showblocked = true; + $showpermitted = false; + } + elseif($setupVars["API_QUERY_LOG_SHOW"] === "none") + { + $showblocked = false; + $showpermitted = false; + } + else + { + // Invalid settings, show everything + $showblocked = true; + $showpermitted = true; + } + } + else + { + $showblocked = true; + $showpermitted = true; + } + foreach ($dns_queries as $query) { $time = date_create(substr($query, 0, 16)); $exploded = explode(" ", trim($query)); @@ -158,10 +193,10 @@ $client = $exploded[count($exploded)-1]; } - elseif (substr($tmp, 0, 9) == "forwarded" || $exploded[count($exploded)-3] == "pi.hole" || $exploded[count($exploded)-3] == $hostname){ + elseif ((substr($tmp, 0, 9) == "forwarded" || $exploded[count($exploded)-3] == "pi.hole" || $exploded[count($exploded)-3] == $hostname) && $showpermitted){ $status="OK"; } - elseif (substr($tmp, strlen($tmp) - 12, 12) == "gravity.list" && $exploded[count($exploded)-5] != "read"){ + elseif ((substr($tmp, strlen($tmp) - 12, 12) == "gravity.list" && $exploded[count($exploded)-5] != "read") && $showblocked){ $status="Pi-holed"; } diff --git a/queries.php b/queries.php index d4a02374..153b5cbf 100644 --- a/queries.php +++ b/queries.php @@ -6,10 +6,30 @@ if(empty($_SESSION['token'])) { $_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(32)); } $token = $_SESSION['token']; + +$showing = ""; + +if(isset($setupVars["API_QUERY_LOG_SHOW"])) +{ + if($setupVars["API_QUERY_LOG_SHOW"] === "all") + { + $showing = "(showing all queries)"; + } + elseif($setupVars["API_QUERY_LOG_SHOW"] === "permittedonly") + { + $showing = "(showing permitted queries only)"; + } + elseif($setupVars["API_QUERY_LOG_SHOW"] === "blockedonly") + { + $showing = "(showing blocked queries only)"; + } +} + ?>
+