/** * @return void */ public function __construct($oPlugins, $oConfig) { $this->oLogger = null; $this->oPlugins = $oPlugins; $this->oConfig = $oConfig; $this->bUtf8FolderName = !!$this->oConfig->Get('labs', 'sieve_utf8_folder_name', true); }
/** * @param \RainLoop\Plugins\Manager $oPlugins * @param \MailSo\Sieve\ManageSieveClient $oSieveClient * @param \RainLoop\Application $oConfig */ public function SieveConnectAndLoginHelper($oPlugins, $oSieveClient, $oConfig) { $bLogin = false; $aSieveCredentials = array('UseConnect' => true, 'UseAuth' => true, 'Host' => $this->DomainSieveHost(), 'Port' => $this->DomainSievePort(), 'Secure' => $this->DomainSieveSecure(), 'Login' => $this->IncLogin(), 'Password' => $this->Password(), 'VerifySsl' => !!$oConfig->Get('ssl', 'verify_certificate', false), 'AllowSelfSigned' => !!$oConfig->Get('ssl', 'allow_self_signed', true)); $oPlugins->RunHook('filter.sieve-credentials', array($this, &$aSieveCredentials)); $oPlugins->RunHook('event.sieve-pre-connect', array($this, $aSieveCredentials['UseConnect'], $aSieveCredentials)); if ($aSieveCredentials['UseConnect'] && $oSieveClient) { $oSieveClient->Connect($aSieveCredentials['Host'], $aSieveCredentials['Port'], $aSieveCredentials['Secure'], $aSieveCredentials['VerifySsl'], $aSieveCredentials['AllowSelfSigned']); } $oPlugins->RunHook('event.sieve-post-connect', array($this, $aSieveCredentials['UseConnect'], $aSieveCredentials)); $oPlugins->RunHook('event.sieve-pre-login', array($this, $aSieveCredentials['UseAuth'], $aSieveCredentials)); if ($aSieveCredentials['UseAuth']) { $oSieveClient->Login($aSieveCredentials['Login'], $aSieveCredentials['Password']); $bLogin = true; } $oPlugins->RunHook('event.sieve-post-login', array($this, $aSieveCredentials['UseAuth'], $bLogin, $aSieveCredentials)); return $bLogin; }