corrected call to Domain::triggerLetsEncryptCSRForAliasDestinationDomain only if aliasdomain is a valid id; validate registration-date and termination-date only if given

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2023-02-07 11:44:07 +01:00
parent 0bff360d22
commit 6ace2e9f3d
2 changed files with 40 additions and 26 deletions

View File

@@ -404,20 +404,25 @@ class Domains extends ApiCommand implements ResourceEntity
$documentroot = $_documentroot; $documentroot = $_documentroot;
} }
$registration_date = Validate::validate($registration_date, 'registration_date', Validate::REGEX_YYYY_MM_DD, '', [ if (!is_null($registration_date)) {
'0000-00-00', $registration_date = Validate::validate($registration_date, 'registration_date',
'0', Validate::REGEX_YYYY_MM_DD, '', [
'' '0000-00-00',
], true); '0',
''
], true);
}
if ($registration_date == '0000-00-00' || empty($registration_date)) { if ($registration_date == '0000-00-00' || empty($registration_date)) {
$registration_date = null; $registration_date = null;
} }
if (!is_null($termination_date)) {
$termination_date = Validate::validate($termination_date, 'termination_date', Validate::REGEX_YYYY_MM_DD, '', [ $termination_date = Validate::validate($termination_date, 'termination_date',
'0000-00-00', Validate::REGEX_YYYY_MM_DD, '', [
'0', '0000-00-00',
'' '0',
], true); ''
], true);
}
if ($termination_date == '0000-00-00' || empty($termination_date)) { if ($termination_date == '0000-00-00' || empty($termination_date)) {
$termination_date = null; $termination_date = null;
} }
@@ -1322,19 +1327,25 @@ class Domains extends ApiCommand implements ResourceEntity
$adminid = $result['adminid']; $adminid = $result['adminid'];
} }
$registration_date = Validate::validate($registration_date, 'registration_date', Validate::REGEX_YYYY_MM_DD, '', [ if (!is_null($registration_date)) {
'0000-00-00', $registration_date = Validate::validate($registration_date, 'registration_date',
'0', Validate::REGEX_YYYY_MM_DD, '', [
'' '0000-00-00',
], true); '0',
''
], true);
}
if ($registration_date == '0000-00-00' || empty($registration_date)) { if ($registration_date == '0000-00-00' || empty($registration_date)) {
$registration_date = null; $registration_date = null;
} }
$termination_date = Validate::validate($termination_date, 'termination_date', Validate::REGEX_YYYY_MM_DD, '', [ if (!is_null($termination_date)) {
'0000-00-00', $termination_date = Validate::validate($termination_date, 'termination_date',
'0', Validate::REGEX_YYYY_MM_DD, '', [
'' '0000-00-00',
], true); '0',
''
], true);
}
if ($termination_date == '0000-00-00' || empty($termination_date)) { if ($termination_date == '0000-00-00' || empty($termination_date)) {
$termination_date = null; $termination_date = null;
} }
@@ -1974,12 +1985,11 @@ class Domains extends ApiCommand implements ResourceEntity
} }
if ($result['wwwserveralias'] != $wwwserveralias || $result['letsencrypt'] != $letsencrypt) { if ($result['wwwserveralias'] != $wwwserveralias || $result['letsencrypt'] != $letsencrypt) {
// or when wwwserveralias or letsencrypt was changed // or when wwwserveralias or letsencrypt was changed
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($aliasdomain, $this->logger());
if ((int)$aliasdomain === 0) { if ((int)$aliasdomain === 0) {
// in case the wwwserveralias is set on a main domain, $aliasdomain is 0 // in case the wwwserveralias is set on a main domain, $aliasdomain is 0
// --> the call just above to triggerLetsEncryptCSRForAliasDestinationDomain
// is a noop...let's repeat it with the domain id of the main domain
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($id, $this->logger()); Domain::triggerLetsEncryptCSRForAliasDestinationDomain($id, $this->logger());
} else {
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($aliasdomain, $this->logger());
} }
} }
@@ -2138,7 +2148,9 @@ class Domains extends ApiCommand implements ResourceEntity
'domainid' => $id 'domainid' => $id
], true, true); ], true, true);
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($result['aliasdomain'], $this->logger()); if ((int)$result['aliasdomain'] !== 0) {
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($result['aliasdomain'], $this->logger());
}
// remove domains DNS from powerDNS if used, #581 // remove domains DNS from powerDNS if used, #581
Cronjob::inserttask(TaskId::DELETE_DOMAIN_PDNS, $result['domain']); Cronjob::inserttask(TaskId::DELETE_DOMAIN_PDNS, $result['domain']);

View File

@@ -1133,7 +1133,9 @@ class SubDomains extends ApiCommand implements ResourceEntity
} }
} }
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($result['aliasdomain'], $this->logger()); if ((int)$result['aliasdomain'] !== 0) {
Domain::triggerLetsEncryptCSRForAliasDestinationDomain($result['aliasdomain'], $this->logger());
}
// delete domain from table // delete domain from table
$stmt = Database::prepare(" $stmt = Database::prepare("