getInputHandler()->value($index, $defaultValue, ...$methods); } return request()->getInputHandler(); } /** * @param string $url * @param int|null $code */ function redirect(string $url, ?int $code = null): void { if ($code !== null) { response()->httpCode($code); } response()->redirect($url); } /** * Get current csrf-token * @return string|null */ function csrf_token(): ?string { $baseVerifier = Router::router()->getCsrfVerifier(); if ($baseVerifier !== null) { return $baseVerifier->getTokenProvider()->getToken(); } return null; } /** * @param array $data * @return string */ function api_json(array $data): string { header("Content-Type: application/json"); return json_encode($data); } function signed_in(Request $request): bool { if(!empty($request->getHeader("Authorization"))) { $authorizationHeader = $request->getHeader("Authorization"); } else { $authorizationHeader = urldecode($_COOKIE["token"]); } $token = explode(" ", $authorizationHeader)[1]; $tokenData = Hajeebtok::$Database->Row("SELECT * FROM sessions WHERE token = :token", ["token" => $token]); return !empty($tokenData); } function get_token_id(Request $request): int { if(!empty($request->getHeader("Authorization"))) { $authorizationHeader = $request->getHeader("Authorization"); } else { $authorizationHeader = urldecode($_COOKIE["token"]); } $token = explode(" ", $authorizationHeader)[1]; $tokenData = Hajeebtok::$Database->Row("SELECT * FROM sessions WHERE token = :token", ["token" => $token]); if(empty($tokenData)) return 0; return $tokenData["account_id"]; } function CORSHelper(): void { $response = response(); $response->header("Access-Control-Allow-Origin: http://localhost:5173"); $response->header("Access-Control-Allow-Headers: Authorization, Content-Type"); $response->header("Access-Control-Allow-Credentials: true"); }