/** * convert tine20config to dbal config * * @return array */ public static function getDBParams() { $dbParams = Tinebase_Config::getInstance()->get('database')->toArray(); $dbParams['driver'] = $dbParams['adapter']; $dbParams['user'] = $dbParams['username']; return $dbParams; }
/** * Returns registry data of admin. * @see Tinebase_Application_Json_Abstract * * @return mixed array 'variable name' => 'data' */ public function getRegistryData() { $appConfigDefaults = Admin_Controller::getInstance()->getConfigSettings(); $smtpConfig = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::SMTP); $registryData = array('manageSAM' => $this->_manageSAM, 'manageImapEmailUser' => $this->_manageImapEmailUser, 'manageSmtpEmailUser' => $this->_manageSmtpEmailUser, 'primarydomain' => array_key_exists('primarydomain', $smtpConfig) ? $smtpConfig['primarydomain'] : '', 'secondarydomains' => array_key_exists('secondarydomains', $smtpConfig) ? $smtpConfig['secondarydomains'] : '', 'defaultPrimaryGroup' => Tinebase_Group::getInstance()->getDefaultGroup()->toArray(), 'defaultInternalAddressbook' => $appConfigDefaults[Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK] !== NULL ? Tinebase_Container::getInstance()->get($appConfigDefaults[Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK])->toArray() : NULL); return $registryData; }
public function __construct($certificate, $dontSkip = FALSE) { $config = Tinebase_Config::getInstance()->get('modssl'); if (is_object($config)) { $this->casfile = $config->casfile; $this->crlspath = $config->crlspath; } $this->status = array('isValid' => true, 'errors' => array()); $this->certificate = self::_fixPemCertificate($certificate); $c = openssl_x509_parse($this->certificate); // define certificate properties $this->serialNumber = $c['serialNumber']; $this->version = $c['version']; $this->subject = $c['subject']; $this->cn = $c['subject']['CN']; $this->issuer = $c['issuer']; $this->issuerCn = $c['issuer']['CN']; $this->hash = $this->_calcHash(); // $dateTimezone = new DateTimeZone(Tinebase_Core::getUserTimezone()); // $locale = new Zend_Locale($_translation->getAdapter()->getLocale()); // Date valid from $this->validFrom = Tinebase_Translation::dateToStringInTzAndLocaleFormat(new Tinebase_DateTime($c['validFrom_time_t'])); // Date valid to $this->validTo = Tinebase_Translation::dateToStringInTzAndLocaleFormat(new Tinebase_DateTime($c['validTo_time_t'])); $this->_parsePurpose($c['purposes']); $this->_parseExtensions($c['extensions']); if (strtolower($this->casfile) != 'skip') { $this->_validityCheck(); // skip validation, we trust the server's result } if (strtolower($this->crlspath) != 'skip' | $dontSkip) { $this->_testRevoked(); // skip test, } }
public static function getThemeConfig() { $extJS = 'ext-all.css'; $themePath = 'tine20'; $favicon = 'images/favicon.ico'; $title = 'Tine 2.0'; $themeConfig = Tinebase_Core::getConfig()->theme; if ($themeConfig instanceof Tinebase_Config_Struct && $themeConfig->active) { if ($themeConfig->path) { $themePath = $themeConfig->path; //is useBlueAsBase set? if ($themeConfig->useBlueAsBase) { $extJS = 'ext-all-notheme.css'; } //is there a customized favicon? if (file_exists('themes/' . $themePath . '/resources/images/favicon.ico')) { $favicon = 'themes/' . $themePath . '/resources/images/favicon.ico'; } } } //Do we have a branding favicon? $favicon = Tinebase_Config::getInstance()->get(Tinebase_Config::BRANDING_FAVICON) ? Tinebase_Config::getInstance()->get(Tinebase_Config::BRANDING_FAVICON) : $favicon; //Do we have a branding title? $title = Tinebase_Config::getInstance()->get(Tinebase_Config::BRANDING_TITLE) ? Tinebase_Config::getInstance()->get(Tinebase_Config::BRANDING_TITLE) : $title; $result = array('favicon' => $favicon, 'extJs' => '<link rel="stylesheet" type="text/css" href="library/ExtJS/resources/css/' . $extJS . '" />', 'themePath' => '<link rel="stylesheet" type="text/css" href="themes/' . $themePath . '/resources/css/' . $themePath . '.css" />', 'title' => $title); return $result; }
/** * Sets up the fixture. * This method is called before a test is executed. */ public function setUp() { $smtpConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct())->toArray(); if (empty($smtpConfig)) { $this->markTestSkipped('No SMTP config found: this is needed to send notifications.'); } $this->_mailer = Tinebase_Smtp::getDefaultTransport(); }
/** * update to 6.1 * - changepw config option has moved */ public function update_0() { $changepwSetting = Tinebase_User::getBackendConfiguration('changepw', TRUE); if (!$changepwSetting) { Tinebase_Config::getInstance()->set(Tinebase_Config::PASSWORD_CHANGE, FALSE); } $this->setApplicationVersion('Tinebase', '6.1'); }
/** * move ods export config to import export definitions * * @return void */ public function update_1() { // remove Tinebase_Config::ODSEXPORTCONFIG Tinebase_Config::getInstance()->deleteConfigForApplication('odsexportconfig', 'Timetracker'); // get import export definitions and save them in db Setup_Controller::getInstance()->createImportExportDefinitions(Tinebase_Application::getInstance()->getApplicationByName('Timetracker')); $this->setApplicationVersion('Timetracker', '3.2'); }
/** * Sets up the fixture. * This method is called before a test is executed. * * @access protected */ protected function setUp() { $this->_backend = Tinebase_User::getInstance(); if (!array_key_exists('Tinebase_EmailUser_Imap_Dbmail', $this->_backend->getPlugins())) { $this->markTestSkipped('Dbmail MySQL plugin not enabled'); } $this->_config = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray(); $this->objects['users'] = array(); }
/** * the constructor * */ public function __construct() { $smtpConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct(array()))->toArray(); $this->_fromAddress = isset($smtpConfig['from']) && !empty($smtpConfig['from']) ? $smtpConfig['from'] : ''; // try to sanitize sender address if (empty($this->_fromAddress) && isset($smtpConfig['primarydomain']) && !empty($smtpConfig['primarydomain'])) { $this->_fromAddress = 'noreply@' . $smtpConfig['primarydomain']; } }
/** * (non-PHPdoc) * @see tests/tine20/Crm/AbstractTest::setUp() */ public function setUp() { parent::setUp(); $smtpConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct())->toArray(); if (empty($smtpConfig)) { $this->markTestSkipped('No SMTP config found: this is needed to send notifications.'); } $this->_leadController = Crm_Controller_Lead::getInstance(); }
/** * Sets up the fixture. * This method is called before a test is executed. * * @access protected */ protected function setUp() { $this->_backend = Tinebase_User::getInstance(); if (!array_key_exists('Tinebase_EmailUser_Imap_Cyrus', $this->_backend->getPlugins())) { $this->markTestSkipped('Cyrus IMAP plugin not enabled'); } $this->_config = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::IMAP); $this->objects['users'] = array(); }
/** * the constructor * * @param array $_options */ public function __construct(array $_options = array()) { // get email user backend config options (host, dbname, username, password, port) $emailConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray(); // merge _config and email backend config $this->_config = array_merge($this->_config, $emailConfig); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($this->_config, TRUE)); } }
/** * update function (-> 3.3) * - renamed config useAsDefault -> useSystemAccount */ public function update_2() { $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray(); if (isset($imapConfig['useAsDefault']) || array_key_exists('useAsDefault', $imapConfig)) { $imapConfig['useSystemAccount'] = $imapConfig['useAsDefault']; unset($imapConfig['useAsDefault']); Tinebase_Config::getInstance()->set(Tinebase_Config::IMAP, $imapConfig); } $this->setApplicationVersion('Felamimail', '3.3'); }
/** * update function (-> 3.3) * - renamed config useAsDefault -> useSystemAccount */ public function update_2() { $imapConfig = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::IMAP); if (array_key_exists('useAsDefault', $imapConfig)) { $imapConfig['useSystemAccount'] = $imapConfig['useAsDefault']; unset($imapConfig['useAsDefault']); Tinebase_Config::getInstance()->setConfigForApplication(Tinebase_Config::IMAP, Zend_Json::encode($imapConfig)); } $this->setApplicationVersion('Felamimail', '3.3'); }
/** * send pending alarms * * @param mixed $_eventName * @return void * * @todo sort alarms (by model/...)? * @todo what to do about Tinebase_Model_Alarm::STATUS_FAILURE alarms? */ public function sendPendingAlarms($_eventName) { $eventName = is_array($_eventName) ? $_eventName['eventName'] : $_eventName; $job = Tinebase_AsyncJob::getInstance()->startJob($eventName); if (!$job) { return; } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' No ' . $eventName . ' is running. Starting new one.'); } try { // get all pending alarms $filter = new Tinebase_Model_AlarmFilter(array(array('field' => 'alarm_time', 'operator' => 'before', 'value' => Tinebase_DateTime::now()->subMinute(1)->get(Tinebase_Record_Abstract::ISO8601LONG)), array('field' => 'sent_status', 'operator' => 'equals', 'value' => Tinebase_Model_Alarm::STATUS_PENDING))); $limit = Tinebase_Config::getInstance()->get(Tinebase_Config::ALARMS_EACH_JOB, 100); $pagination = $limit > 0 ? new Tinebase_Model_Pagination(array('limit' => $limit)) : null; $alarms = $this->_backend->search($filter, $pagination); if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Sending ' . count($alarms) . ' alarms (limit: ' . $limit . ').'); } // loop alarms and call sendAlarm in controllers foreach ($alarms as $alarm) { list($appName, $i, $itemName) = explode('_', $alarm->model); $appController = Tinebase_Core::getApplicationInstance($appName, $itemName); if ($appController instanceof Tinebase_Controller_Alarm_Interface) { $alarm->sent_time = Tinebase_DateTime::now(); try { // NOTE: we set the status here, so controller can adopt the status itself $alarm->sent_status = Tinebase_Model_Alarm::STATUS_SUCCESS; $appController->sendAlarm($alarm); } catch (Exception $e) { Tinebase_Exception::log($e); $alarm->sent_message = $e->getMessage(); $alarm->sent_status = Tinebase_Model_Alarm::STATUS_FAILURE; } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Updating alarm status: ' . $alarm->sent_status); } $this->update($alarm); } } $job = Tinebase_AsyncJob::getInstance()->finishJob($job); } catch (Exception $e) { // save new status 'failure' $job = Tinebase_AsyncJob::getInstance()->finishJob($job, Tinebase_Model_AsyncJob::STATUS_FAILURE, $e->getMessage()); if (Tinebase_Core::isLogLevel(Zend_Log::WARN)) { Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' Job failed: ' . $e->getMessage()); } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getTraceAsString()); } } if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Job ' . $eventName . ' finished.'); } }
/** * (non-PHPdoc) * @see tests/tine20/Calendar/Calendar_TestCase::setUp() */ public function setUp() { parent::setUp(); $smtpConfig = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::SMTP); if (empty($smtpConfig)) { $this->markTestSkipped('No SMTP config found: this is needed to send notifications.'); } $this->_eventController = Calendar_Controller_Event::getInstance(); $this->_notificationController = Calendar_Controller_EventNotifications::getInstance(); $this->_setupPreferences(); }
public function testSaveBackendConfiguration() { Tinebase_User::setBackendType(Tinebase_User::LDAP); $rawConfigBefore = Tinebase_Config::getInstance()->getConfig(Tinebase_Config::USERBACKEND, null, 'null'); $key = 'host'; $testValue = 'phpunit-test-host2'; Tinebase_User::setBackendConfiguration($testValue, $key); Tinebase_User::saveBackendConfiguration(); $rawConfigAfter = Tinebase_Config::getInstance()->getConfig(Tinebase_Config::USERBACKEND); $this->assertNotEquals($rawConfigBefore, $rawConfigAfter); }
/** * tests the correct replacement of markers with different contents */ public function testMarkerReplacement() { $doc = new OpenDocument_Document(OpenDocument_Document::SPREADSHEET); $table = $doc->getBody()->appendTable('UNITTEST'); $titleText = 'Hello unittest!'; $row = $table->appendRow(); $cell = $row->appendCell($titleText); $row = $table->appendRow(); $row = $table->appendRow(); $cell = $row->appendCell('###MATRIX###'); $row = $table->appendRow(); $row = $table->appendRow(); $cell = $row->appendCell('###MARKER###'); $filename = Tinebase_Config::getInstance()->get('tmpdir') . DIRECTORY_SEPARATOR . Tinebase_Record_Abstract::generateUID(4) . '-ods-unittest.ods'; $ccc = Sales_Controller_CostCenter::getInstance(); $cc1 = $ccc->create(new Sales_Model_CostCenter(array('number' => 'cc1', 'remark' => 'unittest-cc1'))); $cc2 = $ccc->create(new Sales_Model_CostCenter(array('number' => 'cc2', 'remark' => 'unittest-cc2'))); $colInfo = array(); $colInfo[$cc1->getId()] = $cc1->number; $colInfo[$cc2->getId()] = $cc2->number; $matrixArray = array($cc1->getId() => array($cc2->getId() => '100'), $cc2->getId() => array($cc1->getId() => '200')); $matrix = new OpenDocument_Matrix($matrixArray, $colInfo, $colInfo, OpenDocument_Matrix::TYPE_FLOAT); $matrix->setColumnLegendDescription('Cat'); $matrix->setRowLegendDescription('Dog'); $markerText = 'unittest-marker'; $doc->replaceMarker('marker', $markerText)->replaceMatrix('matrix', $matrix); $doc->getDocument($filename); $contentXml = file_get_contents('zip://' . $filename . '#content.xml'); $xml = simplexml_load_string($contentXml); unlink($filename); $spreadSheets = $xml->xpath('//office:body/office:spreadsheet'); $this->assertEquals(1, count($spreadSheets)); $spreadSheet = $spreadSheets[0]; $results = $spreadSheet->xpath("//text()[contains(., '{$markerText}')]"); $this->assertEquals(1, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '{$titleText}')]"); $this->assertEquals(1, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '{$cc1->number}')]"); $this->assertEquals(2, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '{$cc2->number}')]"); $this->assertEquals(2, count($results)); $results = $spreadSheet->xpath("//text()[contains(., 'Sum')]"); $this->assertEquals(2, count($results)); $results = $spreadSheet->xpath("//text()[contains(., 'Cat')]"); $this->assertEquals(1, count($results)); $results = $spreadSheet->xpath("//text()[contains(., 'Dog')]"); $this->assertEquals(1, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '100')]"); $this->assertEquals(3, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '200')]"); $this->assertEquals(3, count($results)); $results = $spreadSheet->xpath("//text()[contains(., '300')]"); $this->assertEquals(1, count($results)); }
/** * Test SetBoolConfig */ public function testSetBoolConfig() { $this->_oldConfigs[Tinebase_Config::MAINTENANCE_MODE] = Tinebase_Config::getInstance()->get(Tinebase_Config::MAINTENANCE_MODE); $values = array(1, "true"); foreach ($values as $configValue) { $output = $this->_cliHelper('setconfig', array('--setconfig', '--', 'configkey=maintenanceMode', 'configvalue=' . $configValue)); $this->assertContains('OK - Updated configuration option maintenanceMode for application Tinebase', $output); $result = Tinebase_Config_Abstract::factory('Tinebase')->get(Tinebase_Config::MAINTENANCE_MODE); $this->assertTrue($result); } }
/** * Sets up the fixture. * This method is called before a test is executed. * * @access protected */ protected function setUp() { $this->_config = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::IMAP); if (!isset($this->_config['backend']) || !(ucfirst($this->_config['backend']) == Tinebase_EmailUser::DOVECOT_IMAP) || $this->_config['active'] != true) { $this->markTestSkipped('Dovecot MySQL backend not configured or not enabled'); } $this->_backend = Tinebase_EmailUser::getInstance(Tinebase_Config::IMAP); $personas = Zend_Registry::get('personas'); $this->_objects['user'] = clone $personas['jsmith']; $this->_objects['addedUsers'] = array(); }
/** * test get smtp config */ public function testGetSmtpConfig() { $smtpConfig = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::SMTP); $account = new Felamimail_Model_Account(array('type' => Felamimail_Model_Account::TYPE_SYSTEM)); $accountSmtpConfig = $account->getSmtpConfig(); if (array_key_exists('primarydomain', $smtpConfig)) { $this->assertContains($smtpConfig['primarydomain'], $accountSmtpConfig['username']); } if (TestServer::getInstance()->getConfig()->mailserver) { $this->assertEquals(TestServer::getInstance()->getConfig()->mailserver, $accountSmtpConfig['hostname']); } }
/** * the constructor */ public function __construct(array $_options = array()) { parent::__construct($_options); $this->_config['emailGID'] = sprintf("%u", crc32(Tinebase_Application::getInstance()->getApplicationByName('Tinebase')->getId())); // get email user backend config options (host, dbname, username, password, port) $emailConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct())->toArray(); // merge _config and email backend config $this->_config = array_merge($this->_config, $emailConfig); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($this->_config, TRUE)); } }
/** * Sets up the fixture. * This method is called before a test is executed. * * @access protected */ protected function setUp() { if (Tinebase_User::getConfiguredBackend() !== Tinebase_User::LDAP) { $this->markTestSkipped('LDAP backend not enabled'); } $this->_backend = Tinebase_User::getInstance(); if (!array_key_exists('Tinebase_EmailUser_Smtp_LdapDbmailSchema', $this->_backend->getPlugins())) { $this->markTestSkipped('Dbmail LDAP plugin not enabled'); } $this->_config = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray(); $this->objects['users'] = array(); }
/** * set up test environment */ protected function setUp() { $imapConfig = Tinebase_Config::getInstance()->getConfigAsArray(Tinebase_Config::IMAP); if (empty($imapConfig) || !array_key_exists('useSystemAccount', $imapConfig) || $imapConfig['useSystemAccount'] != true) { $this->markTestSkipped('IMAP backend not configured'); } $this->_testUser = Tinebase_Core::getUser(); $this->_domDocument = $this->_getOutputDOMDocument(); $this->_emailTestClass = new Felamimail_Controller_MessageTest(); $this->_emailTestClass->setup(); $this->objects['devices'] = array(); }
/** * testMaintenanceModeLoginFail */ public function testMaintenanceModeLoginFail() { if (Tinebase_User::getConfiguredBackend() === Tinebase_User::LDAP || Tinebase_User::getConfiguredBackend() === Tinebase_User::ACTIVEDIRECTORY) { $this->markTestSkipped('FIXME: Does not work with LDAP/AD backend (full test suite run)'); } Tinebase_Config::getInstance()->maintenanceMode = 1; try { $this->_instance->login('sclever', Tinebase_Helper::array_value('password', TestServer::getInstance()->getTestCredentials()), new \Zend\Http\PhpEnvironment\Request()); $this->fail('expecting exception: Tinebase_Exception_MaintenanceMode'); } catch (Tinebase_Exception_MaintenanceMode $temm) { $this->assertEquals('Installation is in maintenance mode. Please try again later', $temm->getMessage()); } }
/** * test get smtp config */ public function testGetSmtpConfig() { $this->markTestSkipped('this test has to be refactored'); $smtpConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct())->toArray(); $account = new Felamimail_Model_Account(array('type' => Felamimail_Model_Account::TYPE_SYSTEM)); $accountSmtpConfig = $account->getSmtpConfig(); if (isset($smtpConfig['primarydomain']) || array_key_exists('primarydomain', $smtpConfig)) { $this->assertContains($smtpConfig['primarydomain'], $accountSmtpConfig['username']); } if (TestServer::getInstance()->getConfig()->mailserver) { $this->assertEquals(TestServer::getInstance()->getConfig()->mailserver, $accountSmtpConfig['hostname']); } }
/** * (non-PHPdoc) * @see tests/tine20/Calendar/Calendar_TestCase::setUp() */ public function setUp() { parent::setUp(); Calendar_Controller_Event::getInstance()->sendNotifications(true); $smtpConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::SMTP, new Tinebase_Config_Struct())->toArray(); if (empty($smtpConfig)) { $this->markTestSkipped('No SMTP config found: this is needed to send notifications.'); } $this->_eventController = Calendar_Controller_Event::getInstance(); $this->_notificationController = Calendar_Controller_EventNotifications::getInstance(); $this->_setupPreferences(); Calendar_Config::getInstance()->set(Calendar_Config::MAX_NOTIFICATION_PERIOD_FROM, 52 * 10); }
/** * (non-PHPdoc) * @see ActiveSync/ActiveSync_TestCase::setUp() */ protected function setUp() { $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP); if (!$imapConfig || !isset($imapConfig->useSystemAccount) || $imapConfig->useSystemAccount != TRUE) { $this->markTestSkipped('IMAP backend not configured'); } $this->_emailTestClass = new Felamimail_Controller_MessageTest(); $this->_emailTestClass->setup(); $this->_createdMessages = new Tinebase_Record_RecordSet('Felamimail_Model_Message'); Tinebase_TransactionManager::getInstance()->startTransaction(Tinebase_Core::getDb()); $testDevice = ActiveSync_Backend_DeviceTests::getTestDevice(); $this->objects['device'] = ActiveSync_Controller_Device::getInstance()->create($testDevice); }
/** * Sets up the fixture. * This method is called before a test is executed. * * @access protected */ protected function setUp() { $this->_config = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray(); if (!isset($this->_config['backend']) || !('Imap_' . ucfirst($this->_config['backend']) == Tinebase_EmailUser::IMAP_DOVECOT) || $this->_config['active'] != true) { $this->markTestSkipped('Dovecot MySQL backend not configured or not enabled'); } $this->_backend = Tinebase_EmailUser::getInstance(Tinebase_Config::IMAP); $personas = Zend_Registry::get('personas'); $this->_objects['user'] = clone $personas['jsmith']; //$this->_objects['user']->setId(Tinebase_Record_Abstract::generateUID()); $this->_objects['addedUsers'] = array(); $this->_objects['fullUsers'] = array(); }
/** * constructor * * @param $additionalConfig */ public function __construct($additionalConfig = array()) { if (!extension_loaded('redis')) { throw new Tinebase_Exception('The redis extension must be loaded for using redis job queue!'); } $config = Tinebase_Config::getInstance()->get('actionqueue', NULL); if ($config === NULL && $config->adapter !== 'Redis') { throw new Tinebase_Exception('No redis config found!'); } else { $this->_config = array_merge($this->_config, $config->toArray(), $additionalConfig); } $this->_redis = new Redis(); $this->_redis->connect($this->_config['host'], $this->_config['port'], $this->_config['timeout']); }