Pre-configure some domains in Nextcloud

This commit is contained in:
the-djmaze 2022-10-30 23:59:26 +01:00
parent 7fac6ca9dd
commit 9430c987e1

View file

@ -50,26 +50,37 @@ class SnappyMailHelper
$bSave = true;
}
// Pre-configure some domains
$ocConfig = \OC::$server->getConfig();
if ($ocConfig->getAppValue('snappymail', 'snappymail-autologin', false)
|| $ocConfig->getAppValue('snappymail', 'snappymail-autologin-with-email', false)
) {
$aDomains = \array_unique([
'nextcloud',
\preg_replace('/:\d+/$','',$_SERVER['HTTP_HOST']),
$_SERVER['SERVER_NAME'],
\gethostname()
]);
foreach ($aDomains as $i => $sDomain) {
$oProvider = \RainLoop\Api::Actions()->DomainProvider();
$oDomain = $oProvider->Load('nextcloud');
$oDomain = $oProvider->Load($sDomain);
if (!($oDomain instanceof \RainLoop\Model\Domain)) {
$oDomain = new \RainLoop\Model\Domain('nextcloud');
$oDomain = new \RainLoop\Model\Domain($sDomain);
$bShortLogin = !$i;
$iSecurityType = \MailSo\Net\Enumerations\ConnectionSecurityType::NONE;
$oDomain->SetConfig(
'localhost', 143, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE, true,
true, 'localhost', 4190, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE,
'localhost', 25, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE, true, true, false, false,
'localhost', 143, $iSecurityType, $bShortLogin,
true, 'localhost', 4190, $iSecurityType,
'localhost', 25, $iSecurityType, $bShortLogin, true, false, false,
'');
$oProvider->Save($oDomain);
if (!$oConfig->Set('login', 'default_domain', '')) {
if (!$oConfig->Get('login', 'default_domain', '')) {
$oConfig->Set('login', 'default_domain', 'nextcloud');
$bSave = true;
}
}
}
}
$bSave && $oConfig->Save();
}