andre vor 3 Jahren
Ursprung
Commit
a3e7d81ff1
1 geänderte Dateien mit 32 neuen und 12 gelöschten Zeilen
  1. 32 12
      cwp7.php

+ 32 - 12
cwp7.php

@@ -569,13 +569,44 @@ function cwp7_setDNS($params) {
 		return 'Error: invalid domain name';
 	}
 	$domainName = $_POST['d'];
+    $zoneRecords = array();
 	if(isset($_POST['s'])){
 		if(!filter_var($_POST['s'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
 			return 'Error: invalid domain name';
 		}
 		$hostName = $_POST['s'] . '.' . $domainName . '.';
+		$newRecord = array(
+			'line' => $hostName.'|CNAME|0',
+			'name' => $hostName,
+			'type' => 'CNAME',
+			'class' => 'IN',
+			'data' => array(
+				'address' => $params['servername'],
+			),
+		);
+		array_push($zoneRecords, $newRecord);
 	} else {
 		$hostName = $domainName . '.';
+		$domainRecord = array(
+			'line' => $hostName.'|A|0',
+			'name' => $hostName,
+			'type' => 'CNAME',
+			'class' => 'IN',
+			'data' => array(
+				'address' => $params['servername'],
+			),
+		);
+		array_push($zoneRecords, $domainRecord);
+		$wwwRecord = array(
+			'line' => 'www.'.$hostName.'|A|0',
+			'name' => 'www.'.$hostName,
+			'type' => 'CNAME',
+			'class' => 'IN',
+			'data' => array(
+				'address' => $params['servername'],
+			),
+		);
+		array_push($zoneRecords, $wwwRecord);
 	}
 	$zoneIDcollection = Capsule::table('dns_manager2_zone')
 		->select('id')
@@ -587,19 +618,8 @@ function cwp7_setDNS($params) {
 		return 'Error: zone ID not found for domain ' . $domainName;
 	}
 	$dnsZone = localAPI('dnsmanager', array( 'dnsaction' => 'getZone', 'zone_id' => $zoneID));
-    $zoneRecords = array();
-    $newRecord = array(
-        'line' => $hostName.'|CNAME|0',
-        'name' => $hostName,
-        'type' => 'CNAME',
-        'class' => 'IN',
-        'data' => array(
-            'address' => $params['servername'],
-        ),
-    );
-    array_push($zoneRecords, $newRecord);
     foreach($dnsZone['data']->records as $record) {
-        if($record->name != $hostName || ($record->type != 'A' && $record->type != 'CNAME')) {
+        if(($record->name != $hostName && $record->name != 'www.'.$domainName . '.') || ($record->type != 'A' && $record->type != 'CNAME')) {
             array_push($zoneRecords, $record);
         };
     }