diff --git a/rdap/helpers.php b/rdap/helpers.php index fda0a01..503d8be 100644 --- a/rdap/helpers.php +++ b/rdap/helpers.php @@ -160,4 +160,37 @@ function updatePermittedIPs($pool, $permittedIPsTable) { foreach ($permittedIPs as $ip) { $permittedIPsTable->set($ip, ['addr' => $ip]); } +} + +function mapStatuses(array $statuses): array { + $statusMap = [ + "addPeriod" => "add period", + "autoRenewPeriod" => "auto renew period", + "clientDeleteProhibited" => "client delete prohibited", + "clientHold" => "client hold", + "clientRenewProhibited" => "client renew prohibited", + "clientTransferProhibited" => "client transfer prohibited", + "clientUpdateProhibited" => "client update prohibited", + "inactive" => "inactive", + "linked" => "associated", + "ok" => "active", + "pendingCreate" => "pending create", + "pendingDelete" => "pending delete", + "pendingRenew" => "pending renew", + "pendingRestore" => "pending restore", + "pendingTransfer" => "pending transfer", + "pendingUpdate" => "pending update", + "redemptionPeriod" => "redemption period", + "renewPeriod" => "renew period", + "serverDeleteProhibited" => "server delete prohibited", + "serverRenewProhibited" => "server renew prohibited", + "serverTransferProhibited" => "server transfer prohibited", + "serverUpdateProhibited" => "server update prohibited", + "serverHold" => "server hold", + "transferPeriod" => "transfer period" + ]; + + return array_map(function ($status) use ($statusMap) { + return $statusMap[$status] ?? $status; // Return mapped value or original if not found + }, $statuses); } \ No newline at end of file diff --git a/rdap/start_rdap.php b/rdap/start_rdap.php index a14df29..4f22dc8 100644 --- a/rdap/start_rdap.php +++ b/rdap/start_rdap.php @@ -405,17 +405,19 @@ function handleDomainQuery($request, $response, $pdo, $domainName, $c, $log) { $stmt2->bindParam(':domain_id', $domainDetails['id'], PDO::PARAM_INT); $stmt2->execute(); $statuses = $stmt2->fetchAll(PDO::FETCH_COLUMN, 0); - + // Add rgpstatus to statuses if it's not empty - //if (!empty($domainDetails['rgpstatus'])) { - //$statuses[] = $domainDetails['rgpstatus']; - //} + if (!empty($domainDetails['rgpstatus'])) { + $statuses[] = $domainDetails['rgpstatus']; + } // If statuses array is empty, add 'active' to it if (empty($statuses)) { $statuses[] = 'active'; } - + + $statuses = mapStatuses($statuses); + // Query: Get DNSSEC details $stmt2a = $pdo->prepare("SELECT interface FROM secdns WHERE domain_id = :domain_id"); $stmt2a->bindParam(':domain_id', $domainDetails['id'], PDO::PARAM_INT);