'request not allowed']; ReturnJsonResponse($data, 403); } function denyAccess() { $data = ['deny access'=>'emergency user request revoked']; ReturnJsonResponse($data); } function downloadKey() { global $tokenManager; if(!isset($_REQUEST['token']) || !ctype_xdigit($_REQUEST['token'])) ReturnJsonResponse(['error'=>'missing or invalid token'], 400); $result = $tokenManager->retrieveToken($_REQUEST['token']); if(isset($result['error'])) ReturnJsonResponse(['error'=>$result['error']], $result['status']); if(!isset($result['success'])) ReturnJsonResponse(['error'=>'token could not be validated'], 400); //check if returned keyfile exists if(!file_exists($result['success'])) ReturnJsonResponse(['error'=>'keyfile not found'], 404); $filePath = $result['success']; $fileName = basename($filePath); $fileSize = filesize($filePath); header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"{$fileName}\""); header("Content-Length: {$fileSize}"); header('Cache-Control: no-cache, no-store, must-revalidate'); header('Pragma: no-cache'); header('Expires: 0'); readfile($filePath); exit; } function user_interface() { print('DigiErbe Tresor

Willkommen beim DigiErbe Tresor

'); } ?>