aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorprovokateurin <kate@provokateurin.de>2024-12-17 09:49:49 +0100
committerprovokateurin <kate@provokateurin.de>2025-01-06 08:40:52 +0100
commit98275fb8061f55d878649e3529ba7ebb1bcd19be (patch)
treebfe504e5654db181dc06a363966015577b637af7
parent92acfefb3fd4f51c1f07c0aa17b272330a8fbadc (diff)
downloadnextcloud-server-refactor/settings/mail-settings-parameters.tar.gz
nextcloud-server-refactor/settings/mail-settings-parameters.zip
refactor(settings): Use parameters explicitly when setting mail settingsrefactor/settings/mail-settings-parameters
Signed-off-by: provokateurin <kate@provokateurin.de>
-rw-r--r--apps/settings/lib/Controller/MailSettingsController.php45
-rw-r--r--apps/settings/tests/Controller/MailSettingsControllerTest.php8
2 files changed, 28 insertions, 25 deletions
diff --git a/apps/settings/lib/Controller/MailSettingsController.php b/apps/settings/lib/Controller/MailSettingsController.php
index ca037f409b3..13871bc13b6 100644
--- a/apps/settings/lib/Controller/MailSettingsController.php
+++ b/apps/settings/lib/Controller/MailSettingsController.php
@@ -44,34 +44,37 @@ class MailSettingsController extends Controller {
/**
* Sets the email settings
- *
- * @param string $mail_domain
- * @param string $mail_from_address
- * @param string $mail_smtpmode
- * @param string $mail_smtpsecure
- * @param string $mail_smtphost
- * @param int $mail_smtpauth
- * @param string $mail_smtpport
- * @return DataResponse
*/
#[AuthorizedAdminSetting(settings: Overview::class)]
#[PasswordConfirmationRequired]
- public function setMailSettings($mail_domain,
- $mail_from_address,
- $mail_smtpmode,
- $mail_smtpsecure,
- $mail_smtphost,
- $mail_smtpauth,
- $mail_smtpport,
- $mail_sendmailmode) {
- $params = get_defined_vars();
- $configs = [];
- foreach ($params as $key => $value) {
+ public function setMailSettings(
+ string $mail_domain,
+ string $mail_from_address,
+ string $mail_smtpmode,
+ string $mail_smtpsecure,
+ string $mail_smtphost,
+ ?string $mail_smtpauth,
+ string $mail_smtpport,
+ string $mail_sendmailmode,
+ ): DataResponse {
+ $mail_smtpauth = $mail_smtpauth == '1';
+
+ $configs = [
+ 'mail_domain' => $mail_domain,
+ 'mail_from_address' => $mail_from_address,
+ 'mail_smtpmode' => $mail_smtpmode,
+ 'mail_smtpsecure' => $mail_smtpsecure,
+ 'mail_smtphost' => $mail_smtphost,
+ 'mail_smtpauth' => $mail_smtpauth,
+ 'mail_smtpport' => $mail_smtpport,
+ 'mail_sendmailmode' => $mail_sendmailmode,
+ ];
+ foreach ($configs as $key => $value) {
$configs[$key] = empty($value) ? null : $value;
}
// Delete passwords from config in case no auth is specified
- if ($params['mail_smtpauth'] !== 1) {
+ if (!$mail_smtpauth) {
$configs['mail_smtpname'] = null;
$configs['mail_smtppassword'] = null;
}
diff --git a/apps/settings/tests/Controller/MailSettingsControllerTest.php b/apps/settings/tests/Controller/MailSettingsControllerTest.php
index d4d1e319a8e..2a0028738dd 100644
--- a/apps/settings/tests/Controller/MailSettingsControllerTest.php
+++ b/apps/settings/tests/Controller/MailSettingsControllerTest.php
@@ -70,7 +70,7 @@ class MailSettingsControllerTest extends \Test\TestCase {
'mail_smtphost' => 'mx.nextcloud.org',
'mail_smtpauth' => 1,
'mail_smtpport' => '25',
- 'mail_sendmailmode' => null,
+ 'mail_sendmailmode' => 'smtp',
]],
[[
'mail_domain' => 'nextcloud.com',
@@ -82,7 +82,7 @@ class MailSettingsControllerTest extends \Test\TestCase {
'mail_smtpport' => '25',
'mail_smtpname' => null,
'mail_smtppassword' => null,
- 'mail_sendmailmode' => null,
+ 'mail_sendmailmode' => 'smtp',
]]
);
@@ -95,7 +95,7 @@ class MailSettingsControllerTest extends \Test\TestCase {
'mx.nextcloud.org',
1,
'25',
- null
+ 'smtp'
);
$this->assertSame(Http::STATUS_OK, $response->getStatus());
@@ -108,7 +108,7 @@ class MailSettingsControllerTest extends \Test\TestCase {
'mx.nextcloud.org',
0,
'25',
- null
+ 'smtp'
);
$this->assertSame(Http::STATUS_OK, $response->getStatus());
}