From bcd9657ce47d913b1cda5ee4af6402f9c5b994e2 Mon Sep 17 00:00:00 2001 From: the-djmaze <3752035+the-djmaze@users.noreply.github.com> Date: Mon, 2 Nov 2026 04:33:25 +0100 Subject: [PATCH] Better BackedEnum handling --- snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php | 6 +----- .../app/libraries/RainLoop/Enumerations/SignMeType.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index 8d7140d7f..d5e3b2472 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -735,11 +735,7 @@ class Actions $aResult['DevPassword'] = ''; } - $aResult['signMe'] = [ - SignMeType::DefaultOff->value => 0, - SignMeType::DefaultOn->value => 1, - SignMeType::Unused->value => 2 - ][(string) $oConfig->Get('login', 'sign_me_auto', SignMeType::DefaultOff->value)]; + $aResult['signMe'] = (SignMeType::tryFrom($oConfig->Get('login', 'sign_me_auto', '')) ?: SignMeType::DefaultOff)->toInt(); } } diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/SignMeType.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/SignMeType.php index 0e8b3b0f6..8aa99eed8 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/SignMeType.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/SignMeType.php @@ -7,4 +7,14 @@ enum SignMeType: string case DefaultOff = 'DefaultOff'; case DefaultOn = 'DefaultOn'; case Unused = 'Unused'; + + public function toInt(): int + { + return \array_search($this, self::cases(), true); + return match($this) { + SignMeType::DefaultOff => 0, + SignMeType::DefaultOn => 1, + SignMeType::Unused => 2 + }; + } }