/** * set database */ protected function _getDb() { $mailDbConfig = $this->_config[$this->_subconfigKey]; $mailDbConfig['adapter'] = !empty($mailDbConfig['adapter']) ? strtolower($mailDbConfig['adapter']) : strtolower($this->_config['adapter']); $tine20DbConfig = Tinebase_Core::getDb()->getConfig(); $tine20DbConfig['adapter'] = strtolower(str_replace('Tinebase_Backend_Sql_Adapter_', '', get_class(Tinebase_Core::getDb()))); if ($mailDbConfig['adapter'] == $tine20DbConfig['adapter'] && $mailDbConfig['host'] == $tine20DbConfig['host'] && $mailDbConfig['dbname'] == $tine20DbConfig['dbname'] && $mailDbConfig['username'] == $tine20DbConfig['username']) { $this->_db = Tinebase_Core::getDb(); } else { $dbConfig = array_intersect_key($mailDbConfig, array_flip(array('adapter', 'host', 'dbname', 'username', 'password', 'port'))); $this->_db = Tinebase_Core::createAndConfigureDbAdapter($dbConfig); } }