mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Change password plugins fixes
Small fixes
This commit is contained in:
parent
4cc1a0b0b7
commit
c7108a74e0
13 changed files with 339 additions and 378 deletions
|
|
@ -131,7 +131,7 @@ html.rgba.textshadow {
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-inner {
|
.tooltip-inner {
|
||||||
max-width: 400px;
|
max-width: 380px;
|
||||||
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
|
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
|
|
|
||||||
|
|
@ -3,22 +3,18 @@
|
||||||
class ChangePasswordExampleDriver implements \RainLoop\Providers\ChangePassword\ChangePasswordInterface
|
class ChangePasswordExampleDriver implements \RainLoop\Providers\ChangePassword\ChangePasswordInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $aDomains = array();
|
private $sAllowedEmails = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $aDomains
|
* @param string $sAllowedEmails
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return \ChangePasswordExampleDriver
|
||||||
*/
|
*/
|
||||||
public function SetAllowedDomains($aDomains)
|
public function SetAllowedEmails($sAllowedEmails)
|
||||||
{
|
{
|
||||||
if (\is_array($aDomains) && 0 < \count($aDomains))
|
$this->sAllowedEmails = $sAllowedEmails;
|
||||||
{
|
|
||||||
$this->aDomains = $aDomains;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -29,8 +25,8 @@ class ChangePasswordExampleDriver implements \RainLoop\Providers\ChangePassword\
|
||||||
*/
|
*/
|
||||||
public function PasswordChangePossibility($oAccount)
|
public function PasswordChangePossibility($oAccount)
|
||||||
{
|
{
|
||||||
return $oAccount && $oAccount->Domain() &&
|
return $oAccount && $oAccount->Email() &&
|
||||||
\in_array(\strtolower($oAccount->Domain()->Name()), $this->aDomains);
|
\RainLoop\Plugins\Helper::ValidateWildcardValues($oAccount->Email(), $this->sAllowedEmails);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
1.0
|
1.1
|
||||||
|
|
@ -20,15 +20,7 @@ class ChangePasswordExamplePlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
include_once __DIR__.'/ChangePasswordExampleDriver.php';
|
include_once __DIR__.'/ChangePasswordExampleDriver.php';
|
||||||
|
|
||||||
$oProvider = new ChangePasswordExampleDriver();
|
$oProvider = new ChangePasswordExampleDriver();
|
||||||
|
$oProvider->SetAllowedEmails(\strtolower(\trim($this->Config()->Get('plugin', 'allowed_emails', ''))));
|
||||||
$sDomains = \strtolower(\trim(\preg_replace('/[\s;,]+/', ' ',
|
|
||||||
$this->Config()->Get('plugin', 'domains', ''))));
|
|
||||||
|
|
||||||
if (0 < \strlen($sDomains))
|
|
||||||
{
|
|
||||||
$aDomains = \explode(' ', $sDomains);
|
|
||||||
$oProvider->SetAllowedDomains($aDomains);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -40,10 +32,10 @@ class ChangePasswordExamplePlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
public function configMapping()
|
public function configMapping()
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
\RainLoop\Plugins\Property::NewInstance('domains')->SetLabel('Allowed Domains')
|
\RainLoop\Plugins\Property::NewInstance('allowed_emails')->SetLabel('Allowed emails')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
||||||
->SetDescription('Allowed domains, space as delimiter')
|
->SetDescription('Allowed emails, space as delimiter, wildcard supported. Example: user1@domain1.net user2@domain1.net *@domain2.net')
|
||||||
->SetDefaultValue('domain1.com domain2.com')
|
->SetDefaultValue('*')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -23,9 +23,9 @@ class CpanelChangePasswordDriver implements \RainLoop\Providers\ChangePassword\C
|
||||||
private $sPassword = '';
|
private $sPassword = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $aDomains = array();
|
private $sAllowedEmails = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \MailSo\Log\Logger
|
* @var \MailSo\Log\Logger
|
||||||
|
|
@ -39,7 +39,7 @@ class CpanelChangePasswordDriver implements \RainLoop\Providers\ChangePassword\C
|
||||||
* @param string $sUser
|
* @param string $sUser
|
||||||
* @param string $sPassword
|
* @param string $sPassword
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \CpanelChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetConfig($sHost, $iPost, $sSsl, $sUser, $sPassword)
|
public function SetConfig($sHost, $iPost, $sSsl, $sUser, $sPassword)
|
||||||
{
|
{
|
||||||
|
|
@ -53,24 +53,20 @@ class CpanelChangePasswordDriver implements \RainLoop\Providers\ChangePassword\C
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $aDomains
|
* @param string $sAllowedEmails
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \CpanelChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetAllowedDomains($aDomains)
|
public function SetAllowedEmails($sAllowedEmails)
|
||||||
{
|
{
|
||||||
if (\is_array($aDomains) && 0 < \count($aDomains))
|
$this->sAllowedEmails = $sAllowedEmails;
|
||||||
{
|
|
||||||
$this->aDomains = $aDomains;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \MailSo\Log\Logger $oLogger
|
* @param \MailSo\Log\Logger $oLogger
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \CpanelChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetLogger($oLogger)
|
public function SetLogger($oLogger)
|
||||||
{
|
{
|
||||||
|
|
@ -89,8 +85,8 @@ class CpanelChangePasswordDriver implements \RainLoop\Providers\ChangePassword\C
|
||||||
*/
|
*/
|
||||||
public function PasswordChangePossibility($oAccount)
|
public function PasswordChangePossibility($oAccount)
|
||||||
{
|
{
|
||||||
return $oAccount && $oAccount->Domain() &&
|
return $oAccount && $oAccount->Email() &&
|
||||||
\in_array(\strtolower($oAccount->Domain()->Name()), $this->aDomains);
|
\RainLoop\Plugins\Helper::ValidateWildcardValues($oAccount->Email(), $this->sAllowedEmails);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
1.1
|
1.2
|
||||||
|
|
@ -30,15 +30,7 @@ class CpanelChangePasswordPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
$oProvider = new CpanelChangePasswordDriver();
|
$oProvider = new CpanelChangePasswordDriver();
|
||||||
$oProvider->SetLogger($this->Manager()->Actions()->Logger());
|
$oProvider->SetLogger($this->Manager()->Actions()->Logger());
|
||||||
$oProvider->SetConfig($sHost, $iPost, $sSsl, $sUser, $sPassword);
|
$oProvider->SetConfig($sHost, $iPost, $sSsl, $sUser, $sPassword);
|
||||||
|
$oProvider->SetAllowedEmails(\strtolower(\trim($this->Config()->Get('plugin', 'allowed_emails', ''))));
|
||||||
$sDomains = \strtolower(\trim(\preg_replace('/[\s;,]+/', ' ',
|
|
||||||
$this->Config()->Get('plugin', 'domains', ''))));
|
|
||||||
|
|
||||||
if (0 < \strlen($sDomains))
|
|
||||||
{
|
|
||||||
$aDomains = \explode(' ', $sDomains);
|
|
||||||
$oProvider->SetAllowedDomains($aDomains);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
@ -64,10 +56,10 @@ class CpanelChangePasswordPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
\RainLoop\Plugins\Property::NewInstance('password')->SetLabel('cPanel Password')
|
\RainLoop\Plugins\Property::NewInstance('password')->SetLabel('cPanel Password')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::PASSWORD)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::PASSWORD)
|
||||||
->SetDefaultValue(''),
|
->SetDefaultValue(''),
|
||||||
\RainLoop\Plugins\Property::NewInstance('domains')->SetLabel('Allowed Domains')
|
\RainLoop\Plugins\Property::NewInstance('allowed_emails')->SetLabel('Allowed emails')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
||||||
->SetDescription('Allowed domains, space as delimiter')
|
->SetDescription('Allowed emails, space as delimiter, wildcard supported. Example: user1@domain1.net user2@domain1.net *@domain2.net')
|
||||||
->SetDefaultValue('domain1.com domain2.com')
|
->SetDefaultValue('*')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13,9 +13,9 @@ class HmailserverChangePasswordDriver implements \RainLoop\Providers\ChangePassw
|
||||||
private $sPassword = '';
|
private $sPassword = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $aDomains = array();
|
private $sAllowedEmails = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \MailSo\Log\Logger
|
* @var \MailSo\Log\Logger
|
||||||
|
|
@ -26,7 +26,7 @@ class HmailserverChangePasswordDriver implements \RainLoop\Providers\ChangePassw
|
||||||
* @param string $sLogin
|
* @param string $sLogin
|
||||||
* @param string $sPassword
|
* @param string $sPassword
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \HmailserverChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetConfig($sLogin, $sPassword)
|
public function SetConfig($sLogin, $sPassword)
|
||||||
{
|
{
|
||||||
|
|
@ -37,24 +37,20 @@ class HmailserverChangePasswordDriver implements \RainLoop\Providers\ChangePassw
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $aDomains
|
* @param string $sAllowedEmails
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \HmailserverChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetAllowedDomains($aDomains)
|
public function SetAllowedEmails($sAllowedEmails)
|
||||||
{
|
{
|
||||||
if (\is_array($aDomains) && 0 < \count($aDomains))
|
$this->sAllowedEmails = $sAllowedEmails;
|
||||||
{
|
|
||||||
$this->aDomains = $aDomains;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \MailSo\Log\Logger $oLogger
|
* @param \MailSo\Log\Logger $oLogger
|
||||||
*
|
*
|
||||||
* @return \CpanleChangePasswordDriver
|
* @return \HmailserverChangePasswordDriver
|
||||||
*/
|
*/
|
||||||
public function SetLogger($oLogger)
|
public function SetLogger($oLogger)
|
||||||
{
|
{
|
||||||
|
|
@ -73,8 +69,8 @@ class HmailserverChangePasswordDriver implements \RainLoop\Providers\ChangePassw
|
||||||
*/
|
*/
|
||||||
public function PasswordChangePossibility($oAccount)
|
public function PasswordChangePossibility($oAccount)
|
||||||
{
|
{
|
||||||
return $oAccount && $oAccount->Domain() &&
|
return $oAccount && $oAccount->Email() &&
|
||||||
\in_array(\strtolower($oAccount->Domain()->Name()), $this->aDomains);
|
\RainLoop\Plugins\Helper::ValidateWildcardValues($oAccount->Email(), $this->sAllowedEmails);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
1.1
|
1.2
|
||||||
|
|
@ -40,15 +40,7 @@ class HmailserverChangePasswordPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
$oProvider = new HmailserverChangePasswordDriver();
|
$oProvider = new HmailserverChangePasswordDriver();
|
||||||
$oProvider->SetLogger($this->Manager()->Actions()->Logger());
|
$oProvider->SetLogger($this->Manager()->Actions()->Logger());
|
||||||
$oProvider->SetConfig($sLogin, $sPassword);
|
$oProvider->SetConfig($sLogin, $sPassword);
|
||||||
|
$oProvider->SetAllowedEmails(\strtolower(\trim($this->Config()->Get('plugin', 'allowed_emails', ''))));
|
||||||
$sDomains = \strtolower(\trim(\preg_replace('/[\s;,]+/', ' ',
|
|
||||||
$this->Config()->Get('plugin', 'domains', ''))));
|
|
||||||
|
|
||||||
if (0 < \strlen($sDomains))
|
|
||||||
{
|
|
||||||
$aDomains = \explode(' ', $sDomains);
|
|
||||||
$oProvider->SetAllowedDomains($aDomains);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
@ -66,10 +58,10 @@ class HmailserverChangePasswordPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
\RainLoop\Plugins\Property::NewInstance('password')->SetLabel('HmailServer Admin Password')
|
\RainLoop\Plugins\Property::NewInstance('password')->SetLabel('HmailServer Admin Password')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::PASSWORD)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::PASSWORD)
|
||||||
->SetDefaultValue(''),
|
->SetDefaultValue(''),
|
||||||
\RainLoop\Plugins\Property::NewInstance('domains')->SetLabel('Allowed Domains')
|
\RainLoop\Plugins\Property::NewInstance('allowed_emails')->SetLabel('Allowed emails')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::STRING_TEXT)
|
||||||
->SetDescription('Allowed domains, space as delimiter')
|
->SetDescription('Allowed emails, space as delimiter, wildcard supported. Example: user1@domain1.net user2@domain1.net *@domain2.net')
|
||||||
->SetDefaultValue('domain1.com domain2.com')
|
->SetDefaultValue('*')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -238,11 +238,6 @@ abstract class NetClient
|
||||||
{
|
{
|
||||||
@\stream_set_timeout($this->rConnect, $this->iSocketTimeOut);
|
@\stream_set_timeout($this->rConnect, $this->iSocketTimeOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (\MailSo\Base\Utils::FunctionExistsAndEnabled('stream_set_blocking'))
|
|
||||||
{
|
|
||||||
@\stream_set_blocking($this->rConnect, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -413,6 +408,8 @@ abstract class NetClient
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// $this->writeLog('Stream Meta: '.
|
||||||
|
// \print_r($aSocketStatus, true), \MailSo\Log\Enumerations\Type::ERROR);
|
||||||
$this->writeLogException(
|
$this->writeLogException(
|
||||||
new Exceptions\SocketReadException(),
|
new Exceptions\SocketReadException(),
|
||||||
\MailSo\Log\Enumerations\Type::ERROR, true);
|
\MailSo\Log\Enumerations\Type::ERROR, true);
|
||||||
|
|
|
||||||
|
|
@ -6295,7 +6295,7 @@ html.rgba.textshadow .btn.btn-primary {
|
||||||
}
|
}
|
||||||
.tooltip .tooltip-inner {
|
.tooltip .tooltip-inner {
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
max-width: 400px;
|
max-width: 380px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue