partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit 0c9c46de0a9b2b6e076a9562d59aa4ecf1c77f98
parent 3dff4d540ff54ed368f277321c3188e7fd529563
Author: Felicitus <felicitus@felicitus.org>
Date:   Fri, 23 Dec 2011 04:13:43 +0100

Refactored database settings to include all database types which are supported by doctrine

Diffstat:
Mconfig.php.template | 12++++++++++--
Msrc/backend/de/RaumZeitLabor/PartKeepr/PartKeepr.php | 23++++++++++++++++++++---
2 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/config.php.template b/config.php.template @@ -24,9 +24,17 @@ Configuration::setOption("partkeepr.database.hostname", "localhost"); Configuration::setOption("partkeepr.database.dbname", "partkeepr"); /** - * Specifies the MySQL database port + * Specifies the database port. + * Doesn't need to be specified. "null" specifies the default port. */ -Configuration::setOption("partkeepr.database.mysql_port", 3306); +Configuration::setOption("partkeepr.database.port", null); + +/** + * Specifies the MySQL unix socket to use + */ +Configuration::setOption("partkeepr.database.mysql_socket", null); + + /** * Specifies the database driver. diff --git a/src/backend/de/RaumZeitLabor/PartKeepr/PartKeepr.php b/src/backend/de/RaumZeitLabor/PartKeepr/PartKeepr.php @@ -138,15 +138,28 @@ class PartKeepr { switch ($driver) { case "pdo_mysql": - $connectionOptions["driver"] = "pdo_mysql"; + case "pdo_pgsql": + case "pdo_oci": + case "oci8": + case "pdo_sqlsrv": + $connectionOptions["driver"] = $driver; $connectionOptions["dbname"] = PartKeeprConfiguration::getOption("partkeepr.database.dbname", "partkeepr"); $connectionOptions["user"] = PartKeeprConfiguration::getOption("partkeepr.database.username", "partkeepr"); $connectionOptions["password"] = PartKeeprConfiguration::getOption("partkeepr.database.password", "partkeepr"); $connectionOptions["host"] = PartKeeprConfiguration::getOption("partkeepr.database.host", "localhost"); - if (PartKeeprConfiguration::getOption("partkeepr.database.mysql_port")) { - $connectionOptions["port"] = PartKeeprConfiguration::getOption("partkeepr.database.mysql_port"); + if (PartKeeprConfiguration::getOption("partkeepr.database.port") !== null) { + $connectionOptions["port"] = PartKeeprConfiguration::getOption("partkeepr.database.port"); } + + if (PartKeeprConfiguration::getOption("partkeepr.database.mysql_socket", null) !== null) { + $connectionOptions["unix_socket"] = PartKeeprConfiguration::getOption("partkeepr.database.mysql_socket"); + } + break; + case "pdo_sqlite": + $connectionOptions["user"] = PartKeeprConfiguration::getOption("partkeepr.database.username", "partkeepr"); + $connectionOptions["password"] = PartKeeprConfiguration::getOption("partkeepr.database.password", "partkeepr"); + $connectionOptions["path"] = PartKeeprConfiguration::getOption("partkeepr.database.sqlite_path", PartKeepr::getRootDirectory() . "/data/partkeepr.sqlite"); break; default: throw new \Exception(sprintf("Unknown driver %s", $driver)); @@ -163,6 +176,10 @@ class PartKeepr { return self::getEntityManager(); } + public static function getRootDirectory () { + return dirname(dirname(dirname(dirname(dirname(__DIR__))))); + } + /** * Returns the EntityManager. * @return Doctrine\ORM\EntityManager The EntityManager