/home/ivoiecob/email.hirewise-va.com/modules/MailMultiAccountsPlugin/Module.php
<?php
/**
* This code is licensed under Afterlogic Software License.
* For full statements of the license see LICENSE file.
*/
namespace Aurora\Modules\MailMultiAccountsPlugin;
use Aurora\Modules\Mail\Module as MailModule;
/**
* @license https://afterlogic.com/products/common-licensing Afterlogic Software License
* @copyright Copyright (c) 2023, Afterlogic Corp.
*
* @property Settings $oModuleSettings
*
* @package Modules
*/
class Module extends \Aurora\System\Module\AbstractLicensedModule
{
public function init()
{
$this->subscribeEvent('Mail::CreateAccount::before', array($this, 'onBeforeCreateAccount'));
$this->subscribeEvent('Mail::CreateAccount::after', array($this, 'onAfterCreateAccount'));
$this->subscribeEvent('Mail::GetSettings::after', array($this, 'onAfterGetSettings'));
}
/**
* @return Module
*/
public static function getInstance()
{
return parent::getInstance();
}
/**
* @return Module
*/
public static function Decorator()
{
return parent::Decorator();
}
/**
* @return Settings
*/
public function getModuleSettings()
{
return $this->oModuleSettings;
}
public function onBeforeCreateAccount($aArguments, &$mResult)
{
MailModule::getInstance()->setAccountsManager(new Manager($this));
return false;
}
public function onAfterCreateAccount($aArguments, &$mResult)
{
MailModule::getInstance()->setAccountsManager(new Manager($this));
return false;
}
/**
*
* @param array $aArguments
* @param mixed $mResult
*/
public function onAfterGetSettings($aArguments, &$mResult)
{
$mResult['AllowMultiAccounts'] = true;
return false;
}
}