true, 'data' => 'Verification skipped in local development.']; } if (empty($adultoUid)) { return ['success' => false, 'message' => 'Váš věk nebyl ověřen.']; } $klic = \Settings::getDefault()['age_verify']['adulto']['private_key'] ?? ''; $api_url = self::API_URL.'/?secret='.$klic.'&response='.$adultoUid; // Volání API $response = file_get_contents($api_url); // $response = '{"adultocz-verify-id":"2024378270","adultocz-verify-uid":"454686ff2e5b6df020ccbc9242497aa587201319674d","adultocz-visit-cookie":"1548674d-79a7-4edf-9c48-3b25893c348c-1733484546544","adultocz-visit-time":"2024-12-06 12:29:06","adultocz-verify-time":"2024-12-06 12:32:40","adultocz-verify-method":"bankid","adultocz-verify-status":"true","adultocz-verify-age":"18","adultocz-verify-adult":"true"}'; $this->logger->log(LogLevel::INFO, $response); // Ověření API komunikace if ($response === false) { return ['success' => false, 'message' => 'Chyba při komunikaci s Adulto.']; } // JSON odpověď API $adultocz = json_decode($response); // Podmínka pro úspěšné ověření if ( $adultocz // Existuje JSON odpověď && isset($adultocz->{'adultocz-verify-adult'}) && $adultocz->{'adultocz-verify-adult'} === 'true' && isset($adultocz->{'adultocz-verify-age'}) && $adultocz->{'adultocz-verify-age'} == self::REQUIRED_AGE ) { $this->ageVerifyUtil->setVerificationData('Y', 'adulto', data: $response); // Smazání cookie pro zapomenutí ověření setcookie('adultocz_local', '', time() - 3600, '/', '', true, true); return ['success' => true, 'data' => $adultocz]; } elseif ($adultocz && isset($adultocz->{'adultocz-verify-age'}) && $adultocz->{'adultocz-verify-age'} != self::REQUIRED_AGE ) { // Ověřený věk není dostatečný return ['success' => false, 'message' => 'Nemůžeme prodávat osobám mladším '.self::REQUIRED_AGE.' let.']; } else { // Ověřený věk není dostatečný return ['success' => false, 'message' => 'Neplatná odpověď při komunikaci s API.']; } } }