snappymail/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Login.php
RainLoop Team 4cc2207513 Uploading and preparing the repository to the dev version.
Original unminified source code (dev folder - js, css, less) (fixes #6)
Grunt build system
Multiple identities correction (fixes #9)
Compose html editor (fixes #12)
New general settings - Loading Description
New warning about default admin password
Split general and login screen settings
2013-11-16 02:21:12 +04:00

61 lines
No EOL
1.5 KiB
PHP

<?php
namespace RainLoop\Providers;
class Login extends \RainLoop\Providers\AbstractProvider
{
/**
* @var \RainLoop\Providers\Login\LoginInterface
*/
private $oDriver;
/**
* @var \RainLoop\Providers\Domain
*/
private $oDomainProvider;
/**
* @param \RainLoop\Providers\Login\LoginInterface $oDriver
* @param \RainLoop\Providers\Domain $oDomainProvider
*
* @return void
*/
public function __construct(\RainLoop\Providers\Login\LoginInterface $oDriver,
\RainLoop\Providers\Domain $oDomainProvider)
{
$this->oDriver = $oDriver;
$this->oDomainProvider = $oDomainProvider;
}
/**
* @param string $sEmail
* @param string $sLogin
* @param string $sPassword
* @param bool $sSignMeToken = ''
*
* @return \RainLoop\Account|null
*/
public function Provide($sEmail, $sLogin, $sPassword, $sSignMeToken = '')
{
$oResult = null;
if ($this->oDriver->ProvideParameters($sEmail, $sLogin, $sPassword))
{
$oDomain = $this->oDomainProvider->Load(\MailSo\Base\Utils::GetDomainFromEmail($sEmail));
if ($oDomain instanceof \RainLoop\Domain && !$oDomain->Disabled() && $oDomain->ValidateWhiteList($sEmail, $sLogin))
{
$oResult = \RainLoop\Account::NewInstance($sEmail, $sLogin, $sPassword, $oDomain, $sSignMeToken);
}
}
return $oResult;
}
/**
* @return bool
*/
public function IsActive()
{
return $this->oDriver instanceof \RainLoop\Providers\Login\LoginInterface;
}
}