query($querystr); while($results !== false && $res = $results->fetchArray(SQLITE3_ASSOC)) { array_push($entries, $res); } return array($listname => $entries); } function filterArray(&$inArray) { $outArray = array(); foreach ($inArray as $key => $value) { if (is_array($value)) { $outArray[htmlspecialchars($key)] = filterArray($value); } else { $outArray[htmlspecialchars($key)] = htmlspecialchars($value); } } return $outArray; } switch ($listtype) { case "white": $exact = getTableContent("whitelist"); $regex = getTableContent("regex_whitelist"); $list = array_merge($exact, $regex); break; case "black": $exact = getTableContent("blacklist"); $regex = getTableContent("regex_blacklist"); $list = array_merge($exact, $regex); break; default: die("Invalid list parameter"); break; } // Protect against XSS attacks $output = filterArray($list); // Return results header('Content-type: application/json'); echo json_encode($output);