diff --git a/lib/Froxlor/Api/Commands/DomainZones.php b/lib/Froxlor/Api/Commands/DomainZones.php
index f643306a..1d8af83e 100644
--- a/lib/Froxlor/Api/Commands/DomainZones.php
+++ b/lib/Froxlor/Api/Commands/DomainZones.php
@@ -170,6 +170,10 @@ class DomainZones extends \Froxlor\Api\ApiCommand implements \Froxlor\Api\Resour
break;
}
}
+ // check www-alias setting
+ if ($result['wwwserveralias'] == '1' && $result['iswildcarddomain'] == '0' && $record == 'www') {
+ $errors[] = $this->lng['error']['no_wwwcnamae_ifwwwalias'];
+ }
}
// append trailing dot (again)
$content .= '.';
diff --git a/lng/english.lng.php b/lng/english.lng.php
index 64e4e04c..f0ae7f59 100644
--- a/lng/english.lng.php
+++ b/lng/english.lng.php
@@ -2099,3 +2099,4 @@ $lng['serversettings']['phpfpm_settings']['custom_config']['description'] = 'Add
$lng['serversettings']['awstats']['logformat']['title'] = 'LogFormat setting';
$lng['serversettings']['awstats']['logformat']['description'] = 'If you use customized logformat for your webserver, you need change the awstats LogFormat too.
Default is 1. For more information check documentation here.';
$lng['error']['cannotdeletesuperadmin'] = 'The first admin cannot be deleted.';
+$lng['error']['no_wwwcnamae_ifwwwalias'] = 'Cannot set CNAME record for "www" as domain is set to generate a www-alias. Please change settings to either "No alias" or "Wildcard alias"';
diff --git a/lng/german.lng.php b/lng/german.lng.php
index 350cde08..22d4e725 100644
--- a/lng/german.lng.php
+++ b/lng/german.lng.php
@@ -1746,3 +1746,4 @@ $lng['serversettings']['phpfpm_settings']['custom_config']['description'] = 'Fü
$lng['serversettings']['awstats']['logformat']['title'] = 'LogFormat Einstellung';
$lng['serversettings']['awstats']['logformat']['description'] = 'Wenn ein benutzerdefiniertes LogFormat beim Webserver verwendet wird, muss LogFormat von awstats ebenso angepasst werden.
Standard ist 1. Für weitere Informationen siehe Dokumentation unter hier.';
$lng['error']['cannotdeletesuperadmin'] = 'Der erste Administrator kann nicht gelöscht werden.';
+$lng['error']['no_wwwcnamae_ifwwwalias'] = 'Es kann kein CNAME Eintrag für "www" angelegt werden, da die Domain einen www-Alias aktiviert hat. Ändere diese Einstellung auf "Kein Alias" oder "Wildcard Alias"';
diff --git a/tests/DomainZones/DomainZonesTest.php b/tests/DomainZones/DomainZonesTest.php
index 155b217c..21414c7f 100644
--- a/tests/DomainZones/DomainZonesTest.php
+++ b/tests/DomainZones/DomainZonesTest.php
@@ -4,6 +4,7 @@ use PHPUnit\Framework\TestCase;
use Froxlor\Settings;
use Froxlor\Api\Commands\Customers;
use Froxlor\Api\Commands\DomainZones;
+use Froxlor\Api\Commands\Domains;
/**
*
@@ -719,6 +720,31 @@ class DomainZonesTest extends TestCase
DomainZones::getLocal($admin_userdata, $data)->add();
}
+ /**
+ *
+ * @depends testAdminDomainZonesAddCname
+ */
+ public function testAdminDomainZonesAddCnameInvalidWwwAlias()
+ {
+ global $admin_userdata;
+
+ // set domain to www-alias
+ $data = [
+ 'domainname' => 'test2.local',
+ 'selectserveralias' => '1'
+ ];
+ Domains::getLocal($admin_userdata, $data)->update();
+
+ $data = [
+ 'domainname' => 'test2.local',
+ 'record' => 'www',
+ 'type' => 'CNAME',
+ 'content' => 'testing.local'
+ ];
+ $this->expectExceptionMessage('Cannot set CNAME record for "www" as domain is set to generate a www-alias. Please change settings to either "No alias" or "Wildcard alias"');
+ DomainZones::getLocal($admin_userdata, $data)->add();
+ }
+
/**
*
* @depends testAdminDomainZonesAddCname