Skip to content

Commit 8544443

Browse files
author
moglia
committed
Added dns_zone_get_id function get id from domain name. To discover a domain id passing domain name as argument.
1 parent 5c67f75 commit 8544443

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

interface/lib/classes/remoting.inc.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,6 +1558,30 @@ public function dns_zone_get($session_id, $primary_id)
15581558
$app->remoting_lib->loadFormDef('../dns/form/dns_soa.tform.php');
15591559
return $app->remoting_lib->getDataRecord($primary_id);
15601560
}
1561+
1562+
//* Get record id by origin
1563+
public function dns_zone_get_id($session_id, $origin)
1564+
{
1565+
global $app;
1566+
1567+
if(!$this->checkPerm($session_id, 'dns_zone_get_id')) {
1568+
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
1569+
return false;
1570+
}
1571+
1572+
if (preg_match('/^[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+$/i', $origin)) {
1573+
$this->server->fault('no_domain_found', 'Invalid domain name.');
1574+
return false;
1575+
}
1576+
1577+
$rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like '".$origin.'%');
1578+
if(isset($rec['id'])) {
1579+
return intval($rec['id']);
1580+
} else {
1581+
$this->server->fault('no_domain_found', 'There is no domain ID with informed domain name.');
1582+
return false;
1583+
}
1584+
}
15611585

15621586
//* Add a record
15631587
public function dns_zone_add($session_id, $client_id, $params)

interface/web/dns/lib/remote.conf.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
$function_list['dns_zone_get,dns_zone_add,dns_zone_update,dns_zone_delete,dns_zone_set_status'] = 'DNS zone functions';
3+
$function_list['dns_zone_get,dns_zone_get_id,dns_zone_add,dns_zone_update,dns_zone_delete,dns_zone_set_status'] = 'DNS zone functions';
44
$function_list['dns_a_get,dns_a_add,dns_a_update,dns_a_delete'] = 'DNS a functions';
55
$function_list['dns_aaaa_get,dns_aaaa_add,dns_aaaa_update,dns_aaaa_delete'] = 'DNS aaaa functions';
66
$function_list['dns_alias_get,dns_alias_add,dns_alias_update,dns_alias_delete'] = 'DNS alias functions';

0 commit comments

Comments
 (0)