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; $bSave = true;
} }
// Pre-configure some domains
$ocConfig = \OC::$server->getConfig(); $ocConfig = \OC::$server->getConfig();
if ($ocConfig->getAppValue('snappymail', 'snappymail-autologin', false) if ($ocConfig->getAppValue('snappymail', 'snappymail-autologin', false)
|| $ocConfig->getAppValue('snappymail', 'snappymail-autologin-with-email', 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(); $oProvider = \RainLoop\Api::Actions()->DomainProvider();
$oDomain = $oProvider->Load('nextcloud'); $oDomain = $oProvider->Load($sDomain);
if (!($oDomain instanceof \RainLoop\Model\Domain)) { 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( $oDomain->SetConfig(
'localhost', 143, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE, true, 'localhost', 143, $iSecurityType, $bShortLogin,
true, 'localhost', 4190, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE, true, 'localhost', 4190, $iSecurityType,
'localhost', 25, \MailSo\Net\Enumerations\ConnectionSecurityType::NONE, true, true, false, false, 'localhost', 25, $iSecurityType, $bShortLogin, true, false, false,
''); '');
$oProvider->Save($oDomain); $oProvider->Save($oDomain);
if (!$oConfig->Set('login', 'default_domain', '')) { if (!$oConfig->Get('login', 'default_domain', '')) {
$oConfig->Set('login', 'default_domain', 'nextcloud'); $oConfig->Set('login', 'default_domain', 'nextcloud');
$bSave = true; $bSave = true;
} }
} }
} }
}
$bSave && $oConfig->Save(); $bSave && $oConfig->Save();
} }