__DIR__ . '/../cache', 'auto_reload' => true, ]); $utils = new App\Utils; $domain = ""; $uri = ""; $result = []; $error = ""; // Get request data and check if request contain uri path if (isset($query) && !empty($query)) { if (strpos($query, "/")) { $a = explode ("/", $query, 2); $domain = htmlspecialchars($a[0]); $uri = $a[1]; } else { $domain = htmlspecialchars($query); } } // 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`, `last_seen` 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(['autojump' => true, 'domain' => $domain, 'result' => $result]);