From 2341dd9f62dabd532d2fcbb2dc27b2cea450ae36 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 20 Sep 2024 23:48:49 +0200 Subject: [PATCH] Added mapping for sSmtpUser --- plugins/custom-login-mapping/index.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/plugins/custom-login-mapping/index.php b/plugins/custom-login-mapping/index.php index c2cc48eca..8105ef13e 100644 --- a/plugins/custom-login-mapping/index.php +++ b/plugins/custom-login-mapping/index.php @@ -4,9 +4,9 @@ class CustomLoginMappingPlugin extends \RainLoop\Plugins\AbstractPlugin { const NAME = 'Custom Login Mapping', - VERSION = '2.1', - RELEASE = '2021-04-21', - REQUIRED = '2.5.0', + VERSION = '2.2', + RELEASE = '2024-09-20', + REQUIRED = '2.36.1', CATEGORY = 'Login', DESCRIPTION = 'Enables custom usernames by email address.'; @@ -17,12 +17,13 @@ class CustomLoginMappingPlugin extends \RainLoop\Plugins\AbstractPlugin /** * @param string $sEmail - * @param string $sLogin + * @param string $sImapUser * @param string $sPassword + * @param string $sSmtpUser * * @throws \RainLoop\Exceptions\ClientException */ - public function FilterLoginCredentials(&$sEmail, &$sLogin, &$sPassword) + public function FilterLoginCredentials(string &$sEmail, string &$sImapUser, string &$sPassword, string &$sSmtpUser) { $sMapping = \trim($this->Config()->Get('plugin', 'mapping', '')); if (!empty($sMapping)) { @@ -32,8 +33,13 @@ class CustomLoginMappingPlugin extends \RainLoop\Plugins\AbstractPlugin $aData = \explode(':', $sLine, 2); if (\is_array($aData) && !empty($aData[0]) && isset($aData[1])) { $aData = \array_map('trim', $aData); - if ($sEmail === $aData[0] && \strlen($aData[1])) { - $sLogin = $aData[1]; + if ($sEmail === $aData[0]) { + if (\strlen($aData[1])) { + $sImapUser = $aData[1]; + } + if (isset($aData[2]) && \strlen($aData[2])) { + $sSmtpUser = $aData[2]; + } } } } @@ -46,8 +52,8 @@ class CustomLoginMappingPlugin extends \RainLoop\Plugins\AbstractPlugin return array( \RainLoop\Plugins\Property::NewInstance('mapping')->SetLabel('Mapping') ->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT) - ->SetDescription('email:login mapping') - ->SetDefaultValue("user@domain.com:user.bob\nadmin@domain.com:user.john") + ->SetDescription('email:imap-login:smtp-login mapping') + ->SetDefaultValue("user@domain.com:imapuser.bob:smtpuser.bob\nadmin@domain.com:imapuser.john") ); } }