|
|
@@ -549,28 +549,48 @@ function cwp7_setDNS($params) {
|
|
|
if(!filter_var($_POST['d'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
|
|
|
return 'Error: invalid domain name';
|
|
|
}
|
|
|
+ $domainName = $_POST['d'];
|
|
|
if(isset($_POST['s'])){
|
|
|
if(!filter_var($_POST['s'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
|
|
|
return 'Error: invalid domain name';
|
|
|
}
|
|
|
+ $hostName = $_POST['s'] . '.' . $domainName;
|
|
|
+ } else {
|
|
|
+ $hostName = $domainName;
|
|
|
}
|
|
|
$zoneIDcollection = Capsule::table('dns_manager2_zone')
|
|
|
->select('id')
|
|
|
- ->where('name', '=', $_POST['d'])
|
|
|
+ ->where('name', '=', $domainName)
|
|
|
->get();
|
|
|
$zoneIDobj = $zoneIDcollection[0];
|
|
|
$zoneID = $zoneIDobj->{'id'};
|
|
|
if(!isset($zoneID)) {
|
|
|
- return 'Error: zone ID not found for domain ' . $params['domain'];
|
|
|
+ return 'Error: zone ID not found for domain ' . $domainName;
|
|
|
}
|
|
|
$dnsZone = localAPI('dnsmanager', array( 'dnsaction' => 'getZone', 'zone_id' => $zoneID));
|
|
|
+ $zoneRecords = array();
|
|
|
+ $newRecord = array(
|
|
|
+ 'line' => $hostName.'.|A|0',
|
|
|
+ 'name' => $hostName,
|
|
|
+ 'type' => 'A',
|
|
|
+ 'class' => 'IN',
|
|
|
+ 'data' => array(
|
|
|
+ 'address' => '5.226.148.139',
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ array_push($zoneRecords, $newRecord);
|
|
|
+ foreach($dnsZone['data']->records as $record) {
|
|
|
+ if($record->name != $hostName) {
|
|
|
+ array_push($zoneRecords, $record);
|
|
|
+ };
|
|
|
+ }
|
|
|
|
|
|
logModuleCall(
|
|
|
'cwp7',
|
|
|
__FUNCTION__,
|
|
|
- $_POST,
|
|
|
+ $params,
|
|
|
'debug custom',
|
|
|
- $dnsZone
|
|
|
+ $zoneRecords
|
|
|
);
|
|
|
return 'success';
|
|
|
}
|