From 6ca3b44d0503128b627d48647157e3d42be1ce40 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Fri, 24 Jan 2014 18:12:11 +0400 Subject: [PATCH] Added support for the default domain --- rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php | 11 ++++++----- .../0.0.0/app/libraries/RainLoop/Providers/Domain.php | 6 ++++-- .../0.0.0/app/libraries/RainLoop/Providers/Login.php | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php index 22d7bd33a..f6c4743c1 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -313,9 +313,10 @@ class Actions $oAccount = $this->getAccountFromToken(false); if ($oAccount) { - $sFileName = \str_replace('{user:email}', \strtolower($oAccount->Email()), $sFileName); - $sFileName = \str_replace('{user:login}', $oAccount->IncLogin(), $sFileName); - $sFileName = \str_replace('{user:domain}', \strtolower($oAccount->Domain()->Name()), $sFileName); + $sEmail = \strtolower($oAccount->Email()); + $sFileName = \str_replace('{user:email}', $sEmail, $sFileName); + $sFileName = \str_replace('{user:login}', \MailSo\Base\Utils::GetAccountNameFromEmail($sEmail), $sFileName); + $sFileName = \str_replace('{user:domain}', \MailSo\Base\Utils::GetDomainFromEmail($sEmail), $sFileName); } $sFileName = \preg_replace('/\{user:([^}]*)\}/', 'unknown', $sFileName); @@ -834,7 +835,7 @@ class Actions } else { - $oDomain = $this->DomainProvider()->Load(\MailSo\Base\Utils::GetDomainFromEmail($aAccountHash[1])); + $oDomain = $this->DomainProvider()->Load(\MailSo\Base\Utils::GetDomainFromEmail($aAccountHash[1]), true); if ($bThrowExceptionOnFalse) { if (!($oDomain instanceof \RainLoop\Domain) || $oDomain->Disabled()) @@ -1288,7 +1289,7 @@ class Actions { $this->loginErrorDelay(); - $oDomain = $this->DomainProvider()->Load(\MailSo\Base\Utils::GetDomainFromEmail($sEmail)); + $oDomain = $this->DomainProvider()->Load(\MailSo\Base\Utils::GetDomainFromEmail($sEmail), true); if (!($oDomain instanceof \RainLoop\Domain) || $oDomain->Disabled()) { throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::DomainNotAllowed); diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php index f42abf837..ffca1e35e 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Domain.php @@ -35,12 +35,14 @@ class Domain extends \RainLoop\Providers\AbstractProvider /** * @param string $sName + * @param bool $bDefaultOnNull = false * * @return \RainLoop\Domain | null */ - public function Load($sName) + public function Load($sName, $bDefaultOnNull = false) { - return $this->oDriver->Load($sName); + $oDomain = $this->oDriver->Load($sName); + return $oDomain ? $oDomain : ($bDefaultOnNull ? $this->oDriver->Load('default') : null); } /** diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Login.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Login.php index 63265d934..e6f70b1d2 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Login.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Login.php @@ -41,7 +41,7 @@ class Login extends \RainLoop\Providers\AbstractProvider if ($this->oDriver->ProvideParameters($sEmail, $sLogin, $sPassword)) { - $oDomain = $this->oDomainProvider->Load(\MailSo\Base\Utils::GetDomainFromEmail($sEmail)); + $oDomain = $this->oDomainProvider->Load(\MailSo\Base\Utils::GetDomainFromEmail($sEmail), true); if ($oDomain instanceof \RainLoop\Domain && !$oDomain->Disabled() && $oDomain->ValidateWhiteList($sEmail, $sLogin)) { $oResult = \RainLoop\Account::NewInstance($sEmail, $sLogin, $sPassword, $oDomain, $sSignMeToken);