%PDF- %PDF-
| Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/managers/fetchers/ |
| Current File : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/managers/fetchers/manager.php |
<?php
/*
* Copyright 2004-2014, AfterLogic Corp.
* Licensed under AGPLv3 license or AfterLogic license
* if commercial version of the product was purchased.
* See the LICENSE file for a full license statement.
*/
/**
* @package Fetchers
*/
class CApiFetchersManager extends AApiManagerWithStorage
{
/**
* @param CApiGlobalManager &$oManager
*/
public function __construct(CApiGlobalManager &$oManager, $sForcedStorage = '')
{
parent::__construct('fetchers', $oManager, $sForcedStorage);
$this->inc('classes.fetcher');
}
/**
* @param CFetcher $oFetcher
*
* @return \MailSo\Pop3\Pop3Client|null
*/
private function getTestPop3Client($oFetcher)
{
$oPop3Client = null;
if ($oFetcher)
{
$oPop3Client = \MailSo\Pop3\Pop3Client::NewInstance();
$oPop3Client->SetTimeOuts(5, 5);
$oPop3Client->SetLogger(\CApi::MailSoLogger());
if (!$oPop3Client->IsConnected())
{
$oPop3Client->Connect($oFetcher->IncomingMailServer, $oFetcher->IncomingMailPort, $oFetcher->IncomingMailSecurity);
}
if (!$oPop3Client->IsLoggined())
{
$oPop3Client->Login($oFetcher->IncomingMailLogin, $oFetcher->IncomingMailPassword);
}
}
return $oPop3Client;
}
/**
* param CAccount $oAccount
* @param CFetcher $oFetcher
*
* @return bool
*/
public function CreateFetcher($oAccount, &$oFetcher)
{
$mResult = false;
try
{
$this->getTestPop3Client($oFetcher);
$mResult = $this->oStorage->CreateFetcher($oAccount, $oFetcher);
}
catch (CApiBaseException $oException)
{
$this->setLastException($oException);
}
catch (\MailSo\Net\Exceptions\ConnectionException $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_ConnectToMailServerFailed, $oException));
}
catch (\MailSo\Pop3\Exceptions\LoginBadCredentialsException $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_AuthError, $oException));
}
catch (Exception $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_AuthError, $oException));
}
return $mResult;
}
/**
* @param CAccount $oAccount
*
* @return array|bool
*/
public function GetFetchers($oAccount)
{
$mResult = false;
try
{
$mResult = $this->oStorage->GetFetchers($oAccount);
}
catch (CApiBaseException $oException)
{
$this->setLastException($oException);
}
return $mResult;
}
/**
* @param CAccount $oAccount
* @param int $iFetcherID
*
* @return bool
*/
public function DeleteFetcher($oAccount, $iFetcherID)
{
$mResult = false;
try
{
$mResult = $this->oStorage->DeleteFetcher($oAccount, $iFetcherID);
}
catch (CApiBaseException $oException)
{
$this->setLastException($oException);
}
return $mResult;
}
/**
* @param CAccount $oAccount
* @param CFetcher $oFetcher
*
* @return bool
*/
public function UpdateFetcher($oAccount, $oFetcher)
{
$mResult = false;
try
{
$this->getTestPop3Client($oFetcher);
$mResult = $this->oStorage->UpdateFetcher($oAccount, $oFetcher);
}
catch (CApiBaseException $oException)
{
$this->setLastException($oException);
}
catch (\MailSo\Net\Exceptions\ConnectionException $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_ConnectToMailServerFailed, $oException));
}
catch (\MailSo\Pop3\Exceptions\LoginBadCredentialsException $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_AuthError, $oException));
}
catch (Exception $oException)
{
$this->setLastException(new CApiBaseException(CApiErrorCodes::Fetcher_AuthError, $oException));
}
return $mResult;
}
}