fingerprintId = (int)$this->getUrlParamInt('fingerprintId'); } public function handle(): void { try { $fingerprint = new Fingerprint($this->fingerprintId); if (!$this->isUserLoggedIn() || !$this->hasUserPermission($fingerprint->getUserId())) { return; } $filename = Setting::PATH_QR_CODES . (string)$this->fingerprintId . '.svg'; if (!is_file($filename)) { $this->response = new ApiJsonResponse(ServerStatus::BAD_REQUEST); $this->response->setParameter('success', false); $this->response->setMessage(sprintf('No QR code for fingerprint id %d found!', $this->fingerprintId)); return; } $this->response = new ApiSvgResponse(); $file = @fopen($filename, 'r'); $this->response->setContent(@fread($file, @filesize($filename))); @fclose($file); } catch (Throwable $e) { $this->response = new ApiJsonResponse(ServerStatus::INTERNAL_ERROR); $this->response->setParameter('success', false); $this->response->setMessage($e->getMessage()); } } }