mirror of
https://github.com/getnamingo/registry.git
synced 2025-05-16 17:46:59 +02:00
More fixes for RST
This commit is contained in:
parent
9fffa850e5
commit
b150d95b36
2 changed files with 79 additions and 29 deletions
|
@ -58,6 +58,7 @@ try {
|
|||
$endOfPreviousDay = date('Y-m-d 23:59:59', strtotime('-1 day'));
|
||||
|
||||
$domainCount = fetchDomainCount($dbh, $tld['id']);
|
||||
$NNDNCount = fetchNNDNCount($dbh);
|
||||
$hostCount = fetchCount($dbh, 'host');
|
||||
$contactCount = fetchCount($dbh, 'contact');
|
||||
$registrarCount = fetchCount($dbh, 'registrar');
|
||||
|
@ -114,12 +115,15 @@ try {
|
|||
'urn:ietf:params:xml:ns:rdeHost-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeDomain-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeRegistrar-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeIDN-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeNNDN-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeEppParams-1.0',
|
||||
'urn:ietf:params:xml:ns:rdePolicy-1.0'
|
||||
];
|
||||
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$objURIs[] = 'urn:ietf:params:xml:ns:rdeIDN-1.0';
|
||||
}
|
||||
|
||||
// Write each rde:objURI element
|
||||
foreach ($objURIs as $objURI) {
|
||||
$xml->startElementNS('rde', 'objURI', null);
|
||||
|
@ -155,14 +159,16 @@ try {
|
|||
$xml->text($registrarCount);
|
||||
$xml->endElement();
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$xml->text('1');
|
||||
$xml->endElement();
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$xml->text('1');
|
||||
$xml->endElement();
|
||||
}
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeNNDN-1.0');
|
||||
$xml->text('0');
|
||||
$xml->text($NNDNCount);
|
||||
$xml->endElement();
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
|
@ -189,7 +195,9 @@ try {
|
|||
$xml->writeElement('rdeDomain:name', $domain['name']);
|
||||
$xml->writeElement('rdeDomain:roid', 'D' . $domain['id'] . '-' . $c['roid']);
|
||||
$xml->writeElement('rdeDomain:uName', $domain['name']);
|
||||
$xml->writeElement('rdeDomain:idnTableId', 'Latn');
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$xml->writeElement('rdeDomain:idnTableId', 'Latn');
|
||||
}
|
||||
|
||||
// Fetch domain status
|
||||
$stmt = $dbh->prepare("SELECT * FROM domain_status WHERE domain_id = :domain_id;");
|
||||
|
@ -377,12 +385,14 @@ try {
|
|||
$xml->endElement(); // Closing rdeRegistrar:registrar
|
||||
}
|
||||
|
||||
// Writing the idnTableRef section
|
||||
$xml->startElement('rdeIDN:idnTableRef');
|
||||
$xml->writeAttribute('id', 'Latn');
|
||||
$xml->writeElement('rdeIDN:url', 'https://namingo.org');
|
||||
$xml->writeElement('rdeIDN:urlPolicy', 'https://namingo.org');
|
||||
$xml->endElement(); // Closing rdeIDN:idnTableRef
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
// Writing the idnTableRef section
|
||||
$xml->startElement('rdeIDN:idnTableRef');
|
||||
$xml->writeAttribute('id', 'Latn');
|
||||
$xml->writeElement('rdeIDN:url', 'https://namingo.org');
|
||||
$xml->writeElement('rdeIDN:urlPolicy', 'https://namingo.org');
|
||||
$xml->endElement(); // Closing rdeIDN:idnTableRef
|
||||
}
|
||||
|
||||
// Start of rdeEppParams:eppParams
|
||||
$xml->startElementNS('rdeEppParams', 'eppParams', null);
|
||||
|
@ -616,14 +626,16 @@ try {
|
|||
$reportXML->text($registrarCount);
|
||||
$reportXML->endElement();
|
||||
|
||||
$reportXML->startElement('rdeHeader:count');
|
||||
$reportXML->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$reportXML->text('0');
|
||||
$reportXML->endElement();
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$reportXML->startElement('rdeHeader:count');
|
||||
$reportXML->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$reportXML->text('0');
|
||||
$reportXML->endElement();
|
||||
}
|
||||
|
||||
$reportXML->startElement('rdeHeader:count');
|
||||
$reportXML->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeNNDN-1.0');
|
||||
$reportXML->text('0');
|
||||
$reportXML->text($NNDNCount);
|
||||
$reportXML->endElement();
|
||||
|
||||
$reportXML->startElement('rdeHeader:count');
|
||||
|
@ -690,12 +702,15 @@ try {
|
|||
'urn:ietf:params:xml:ns:rdeHost-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeDomain-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeRegistrar-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeIDN-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeNNDN-1.0',
|
||||
'urn:ietf:params:xml:ns:rdeEppParams-1.0',
|
||||
'urn:ietf:params:xml:ns:rdePolicy-1.0'
|
||||
];
|
||||
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$objURIs[] = 'urn:ietf:params:xml:ns:rdeIDN-1.0';
|
||||
}
|
||||
|
||||
// Write each rde:objURI element
|
||||
foreach ($objURIs as $objURI) {
|
||||
$xml->startElementNS('rde', 'objURI', null);
|
||||
|
@ -731,14 +746,16 @@ try {
|
|||
$xml->text($registrarCount);
|
||||
$xml->endElement();
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$xml->text('1');
|
||||
$xml->endElement();
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeIDN-1.0');
|
||||
$xml->text('1');
|
||||
$xml->endElement();
|
||||
}
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
$xml->writeAttribute('uri', 'urn:ietf:params:xml:ns:rdeNNDN-1.0');
|
||||
$xml->text('0');
|
||||
$xml->text($NNDNCount);
|
||||
$xml->endElement();
|
||||
|
||||
$xml->startElement('rdeHeader:count');
|
||||
|
@ -765,7 +782,9 @@ try {
|
|||
$xml->writeElement('rdeDomain:name', $domain['name']);
|
||||
$xml->writeElement('rdeDomain:roid', 'D' . $domain['id'] . '-' . $c['roid']);
|
||||
$xml->writeElement('rdeDomain:uName', $domain['name']);
|
||||
$xml->writeElement('rdeDomain:idnTableId', 'Latn');
|
||||
if (!isIDN($dbh, $tld['id'])) {
|
||||
$xml->writeElement('rdeDomain:idnTableId', 'Latn');
|
||||
}
|
||||
|
||||
// Fetch domain status
|
||||
$stmt = $dbh->prepare("SELECT * FROM domain_status WHERE domain_id = :domain_id;");
|
||||
|
|
|
@ -154,6 +154,37 @@ function fetchDomainCount($pdo, $tld_id) {
|
|||
return $result['count'];
|
||||
}
|
||||
|
||||
function fetchNNDNCount($pdo) {
|
||||
// Prepare the SQL query
|
||||
$query = "SELECT COUNT(name) AS count FROM reserved_domain_names";
|
||||
$stmt = $pdo->prepare($query);
|
||||
$stmt->execute();
|
||||
|
||||
// Fetch and return the count
|
||||
$result = $stmt->fetch();
|
||||
return $result['count'];
|
||||
}
|
||||
|
||||
function isIDN($pdo, $tld_id) {
|
||||
// Fetch the idn_table value for the given TLD ID
|
||||
$query = "SELECT idn_table FROM domain_tld WHERE id = :tldid";
|
||||
$stmt = $pdo->prepare($query);
|
||||
$stmt->bindParam(':tldid', $tld_id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$result = $stmt->fetch();
|
||||
|
||||
if (!$result || !isset($result['idn_table'])) {
|
||||
return false; // default to false if not found
|
||||
}
|
||||
|
||||
$idnTable = $result['idn_table'];
|
||||
|
||||
// Check if the value matches the pattern for non-IDN ASCII-only domain labels
|
||||
$asciiPattern = '/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-)(\.(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-))*$/i';
|
||||
|
||||
return !preg_match($asciiPattern, $idnTable); // true if it's IDN
|
||||
}
|
||||
|
||||
// Function to check domain against Spamhaus SBL
|
||||
function checkSpamhaus($domain) {
|
||||
// Append '.sbl.spamhaus.org' to the domain
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue