__DIR__ . '/../cache', 'auto_reload' => true, ]); $utils = new App\Utils; $data = ""; $domain = ""; $uri = ""; $result = []; $error = ""; // Get request data if (isset($query) && !empty($query)) { $data = $query; } else if (isset($_POST["q"])) { $data = $_POST["q"]; } // Check if request contain uri path if (strpos($data, "/")) { $a = explode ("/", $data, 2); $domain = htmlspecialchars($a[0]); $uri = $a[1]; } else { $domain = htmlspecialchars($data); } // Check domain name if(!empty($domain) && !$utils->isValidDomain($domain, $error)) { $domain = ""; $result["error"] = 'Not valid query: ' . $error; } else if(!empty($domain) && $utils->isValidDomain($domain, $error)) { if ((new App\Utils)->isPunycodeDomain($domain)) { $domain = idn_to_utf8($domain, 0, INTL_IDNA_VARIANT_UTS46); } $pdo = (new App\DB($options))->pdo; $STH = $pdo->query("SELECT `host`, `base64`, `base32`, `add_date`, `last_seen`, `blacklisted` FROM `hosts` WHERE `host` = '" . $domain . "' LIMIT 1"); $STH->setFetchMode(PDO::FETCH_ASSOC); $row = $STH->fetchAll(); if (empty($row)) { $result["error"] = "No such host is found"; } else { $result = array_merge($result, $row[0]); if (!empty($uri)) { $result['uri'] = $uri; } } } $template = $twig->load('jump.twig'); echo $template->render(['domain' => $domain, 'result' => $result]);