From e91f6d7f6e76aff6f333d3a28e535e17d35fbcaa Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Thu, 19 Feb 2009 23:22:23 -0500 Subject: [PATCH] rename to _normalizeConfig, since we normalize horde names to pdo as well as rails names to pdo --- framework/Db/lib/Horde/Db/Adapter/Pdo/Abstract.php | 19 ++++++------------- framework/Db/lib/Horde/Db/Adapter/Pdo/Mysql.php | 6 ++---- framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php | 13 +++++++------ 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/framework/Db/lib/Horde/Db/Adapter/Pdo/Abstract.php b/framework/Db/lib/Horde/Db/Adapter/Pdo/Abstract.php index 948690f2d..46723cfae 100644 --- a/framework/Db/lib/Horde/Db/Adapter/Pdo/Abstract.php +++ b/framework/Db/lib/Horde/Db/Adapter/Pdo/Abstract.php @@ -178,11 +178,11 @@ abstract class Horde_Db_Adapter_Pdo_Abstract extends Horde_Db_Adapter_Abstract } } - protected function _railsToPdo($params) + protected function _normalizeConfig($params) { - // rewrite rails config key names to pdo equivalents - $rails2pdo = array('database' => 'dbname', 'socket' => 'unix_socket', 'hostspec' => 'host'); - foreach ($rails2pdo as $from => $to) { + // normalize config parameters to what PDO expects + $normalize = array('database' => 'dbname', 'socket' => 'unix_socket', 'hostspec' => 'host'); + foreach ($normalize as $from => $to) { if (isset($params[$from])) { $params[$to] = $params[$from]; unset($params[$from]); @@ -194,14 +194,11 @@ abstract class Horde_Db_Adapter_Pdo_Abstract extends Horde_Db_Adapter_Abstract protected function _buildDsnString($params) { - // build DSN string $dsn = $this->_config['adapter'] . ':'; foreach ($params as $k => $v) { $dsn .= "$k=$v;"; } - $dsn = rtrim($dsn, ';'); - - return $dsn; + return rtrim($dsn, ';'); } /** @@ -217,14 +214,10 @@ abstract class Horde_Db_Adapter_Pdo_Abstract extends Horde_Db_Adapter_Abstract // collect options to build PDO Data Source Name (DSN) string $dsnOpts = $this->_config; unset($dsnOpts['adapter'], $dsnOpts['username'], $dsnOpts['password']); - $dsnOpts = $this->_railsToPdo($dsnOpts); - - // build DSN string - $dsn = $this->_buildDsnString($dsnOpts); // return DSN and user/pass for connection return array( - $dsn, + $this->_buildDsnString($this->_normalizeConfig($dsnOpts)), $this->_config['username'], $this->_config['password']); } diff --git a/framework/Db/lib/Horde/Db/Adapter/Pdo/Mysql.php b/framework/Db/lib/Horde/Db/Adapter/Pdo/Mysql.php index fbfc4ac43..b1934116e 100644 --- a/framework/Db/lib/Horde/Db/Adapter/Pdo/Mysql.php +++ b/framework/Db/lib/Horde/Db/Adapter/Pdo/Mysql.php @@ -88,7 +88,7 @@ class Horde_Db_Adapter_Pdo_Mysql extends Horde_Db_Adapter_Pdo_Abstract // collect options to build PDO Data Source Name (DSN) string $dsnOpts = $this->_config; unset($dsnOpts['adapter'], $dsnOpts['username'], $dsnOpts['password']); - $dsnOpts = $this->_railsToPdo($dsnOpts); + $dsnOpts = $this->_normalizeConfig($dsnOpts); if (isset($dsnOpts['port'])) { if (empty($dsnOpts['host'])) { @@ -102,11 +102,9 @@ class Horde_Db_Adapter_Pdo_Mysql extends Horde_Db_Adapter_Pdo_Abstract } } - $dsn = $this->_buildDsnString($dsnOpts); - // return DSN and user/pass for connection return array( - $dsn, + $this->_buildDsnString($dsnOpts), $this->_config['username'], $this->_config['password']); } diff --git a/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php b/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php index d03fa440a..bae89f4e7 100644 --- a/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php +++ b/framework/Db/lib/Horde/Db/Adapter/Pdo/Sqlite.php @@ -170,8 +170,13 @@ class Horde_Db_Adapter_Pdo_Sqlite extends Horde_Db_Adapter_Pdo_Abstract } } + protected function _buildDsnString($params) + { + return 'sqlite:' . $params['dbname']; + } + /** - * Parse YAML configuration array into options for PDO constructor + * Parse configuration array into options for PDO constructor * * @throws Horde_Db_Exception * @return array [dsn, username, password] @@ -187,13 +192,9 @@ class Horde_Db_Adapter_Pdo_Sqlite extends Horde_Db_Adapter_Pdo_Abstract // collect options to build PDO Data Source Name (DSN) string $dsnOpts = $this->_config; unset($dsnOpts['adapter'], $dsnOpts['username'], $dsnOpts['password']); - $dsnOpts = $this->_railsToPdo($dsnOpts); - - // build DSN string - $dsn = 'sqlite:' . $dsnOpts['dbname']; // return DSN and dummy user/pass for connection - return array($dsn, '', ''); + return array($this->_buildDsnString($this->_normalizeConfig($dsnOpts)), '', ''); } } -- 2.11.0