本文整理汇总了PHP中Tinebase_Helper::checkClassExistence方法的典型用法代码示例。如果您正苦于以下问题:PHP Tinebase_Helper::checkClassExistence方法的具体用法?PHP Tinebase_Helper::checkClassExistence怎么用?PHP Tinebase_Helper::checkClassExistence使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tinebase_Helper
的用法示例。
在下文中一共展示了Tinebase_Helper::checkClassExistence方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* the constructor
*
* creates instance of Expressomail_Backend_Imap with parameters
* Supported parameters are
* - user username
* - host hostname or ip address of IMAP server [optional, default = 'localhost']
* - password password for user 'username' [optional, default = '']
* - port port for IMAP server [optional, default = 110]
* - ssl 'SSL' or 'TLS' for secure sockets
* - folder select this folder [optional, default = 'INBOX']
*
* @param array $params mail reader specific parameters
* @throws Expressomail_Exception_IMAPInvalidCredentials
* @return void
*/
public function __construct($params, $_readOnly = FALSE)
{
if (is_array($params)) {
$params = (object) $params;
}
if (!isset($params->user)) {
throw new Expressomail_Exception_IMAPInvalidCredentials('Need at least user in params.');
}
$params->host = isset($params->host) ? $params->host : 'localhost';
$params->password = isset($params->password) ? $params->password : '';
$params->port = isset($params->port) ? $params->port : null;
$params->ssl = isset($params->ssl) ? $params->ssl : false;
$this->_params = $params;
$expressomailConfig = Expressomail_Config::getInstance();
$imapBackendConfigDefinition = $expressomailConfig->getDefinition(Expressomail_Config::IMAPBACKEND);
$backendClassName = self::$_availableBackends[$imapBackendConfigDefinition['default']];
$expressomailSettings = $expressomailConfig->get(Expressomail_Config::EXPRESSOMAIL_SETTINGS);
$backendName = isset($expressomailSettings[Expressomail_Config::IMAPBACKEND]) ? $expressomailSettings[Expressomail_Config::IMAPBACKEND] : $imapBackendConfigDefinition['default'];
if ($backendName != $imapBackendConfigDefinition['default']) {
if (Tinebase_Helper::checkClassExistence(self::$_availableBackends[$backendName], true) && Tinebase_Helper::checkSubClassOf(self::$_availableBackends[$backendName], 'Expressomail_Backend_Imap_Interface', true)) {
$backendClassName = self::$_availableBackends[$backendName];
}
}
$this->_backend = new $backendClassName($params, $_readOnly);
}
示例2: factory
/**
* factory function to return a selected account/imap backend class
*
* @param string|Expressomail_Model_Account $_accountId
* @return Expressomail_Backend_Sieve
*/
public static function factory($_accountId)
{
$accountId = $_accountId instanceof Expressomail_Model_Account ? $_accountId->getId() : $_accountId;
if (!isset(self::$_backends[$accountId])) {
$account = $_accountId instanceof Expressomail_Model_Account ? $_accountId : Expressomail_Controller_Account::getInstance()->get($accountId);
// get imap config from account to connect with sieve server
$sieveConfig = $account->getSieveConfig();
// we need to instantiate a new sieve backend
if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Connecting to server ' . $sieveConfig['host'] . ':' . $sieveConfig['port'] . ' (secure: ' . (array_key_exists('ssl', $sieveConfig) && $sieveConfig['ssl'] !== FALSE ? $sieveConfig['ssl'] : 'none') . ') with user ' . $sieveConfig['username']);
}
$expressomailConfig = Expressomail_Config::getInstance();
$sieveBackendDefinition = $expressomailConfig->getDefinition(Expressomail_Config::SIEVEBACKEND);
$backendClassName = self::$_availableBackends[$sieveBackendDefinition['default']];
$expressomailSettings = $expressomailConfig->get(Expressomail_Config::EXPRESSOMAIL_SETTINGS);
$backendName = isset($expressomailSettings[Expressomail_Config::SIEVEBACKEND]) ? $expressomailSettings[Expressomail_Config::SIEVEBACKEND] : $sieveBackendDefinition['default'];
if ($sieveBackendName != $sieveBackendDefinition['default']) {
if (Tinebase_Helper::checkClassExistence(self::$_availableBackends[$backendName], true)) {
$backendClassName = self::$_availableBackends[$backendName];
}
}
self::$_backends[$accountId] = new $backendClassName($sieveConfig);
}
return self::$_backends[$accountId];
}