mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-04 05:52:44 +08:00
42 lines
1 KiB
PHP
42 lines
1 KiB
PHP
<?php
|
||
|
||
class CustomAuthExamplePlugin extends \RainLoop\Plugins\AbstractPlugin
|
||
{
|
||
const
|
||
NAME = '',
|
||
CATEGORY = 'Login',
|
||
DESCRIPTION = '';
|
||
|
||
public function Init() : void
|
||
{
|
||
$this->addHook('filter.login-credentials', 'FilterLoginСredentials');
|
||
}
|
||
|
||
/**
|
||
* @param string $sEmail
|
||
* @param string $sLogin
|
||
* @param string $sPassword
|
||
*
|
||
* @throws \RainLoop\Exceptions\ClientException
|
||
*/
|
||
public function FilterLoginСredentials(&$sEmail, &$sLogin, &$sPassword)
|
||
{
|
||
// Your custom php logic
|
||
// You may change login credentials
|
||
if ('demo@snappymail.eu' === $sEmail)
|
||
{
|
||
$sEmail = 'user@snappymail.eu';
|
||
$sLogin = 'user@snappymail.eu';
|
||
$sPassword = 'super-puper-password';
|
||
}
|
||
else
|
||
{
|
||
// or throw auth exeption
|
||
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::AuthError);
|
||
// or
|
||
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::AccountNotAllowed);
|
||
// or
|
||
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::DomainNotAllowed);
|
||
}
|
||
}
|
||
}
|