aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/ModelPdo.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-09-11 11:52:06 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-09-11 11:52:06 +0200
commit2757aeca52c204d6c9182fb99229e7e37dd09213 (patch)
tree9f8ffb90da0f67d20838bb5aa58a7a504af81113 /lib/Minz/ModelPdo.php
parent9f04e2bf3246ec5a65280908f017533d6f622a88 (diff)
parentc3589cac2d41501af1bd916c4689cf1ea4b58038 (diff)
Merge dev: custom ports for PostgreSQL too
https://github.com/FreshRSS/FreshRSS/issues/1241 https://github.com/FreshRSS/FreshRSS/pull/1244
Diffstat (limited to 'lib/Minz/ModelPdo.php')
-rw-r--r--lib/Minz/ModelPdo.php12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Minz/ModelPdo.php b/lib/Minz/ModelPdo.php
index 78b44ea7f..5bc18bf1f 100644
--- a/lib/Minz/ModelPdo.php
+++ b/lib/Minz/ModelPdo.php
@@ -53,15 +53,18 @@ class Minz_ModelPdo {
self::$sharedCurrentUser = $currentUser;
$driver_options = isset($conf->db['pdo_options']) && is_array($conf->db['pdo_options']) ? $conf->db['pdo_options'] : array();
+ $dbServer = parse_url('db://' . $db['host']);
try {
switch ($db['type']) {
case 'mysql':
- $string = 'mysql:host=' . $db['host'] . ';dbname=' . $db['base'] . ';charset=utf8mb4';
+ $string = 'mysql:host=' . $dbServer['host'] . ';dbname=' . $db['base'] . ';charset=utf8mb4';
+ if (!empty($dbServer['port'])) {
+ $string .= ';port=' . $dbServer['port'];
+ }
$driver_options[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET NAMES utf8mb4';
$this->prefix = $db['prefix'] . $currentUser . '_';
$this->bd = new MinzPDOMySql($string, $db['user'], $db['password'], $driver_options);
- //TODO Consider: $this->bd->exec("SET SESSION sql_mode = 'ANSI_QUOTES';");
break;
case 'sqlite':
$string = 'sqlite:' . join_path(DATA_PATH, 'users', $currentUser, 'db.sqlite');
@@ -70,7 +73,10 @@ class Minz_ModelPdo {
$this->bd->exec('PRAGMA foreign_keys = ON;');
break;
case 'pgsql':
- $string = 'pgsql:host=' . $db['host'] . ';dbname=' . $db['base'];
+ $string = 'pgsql:host=' . $dbServer['host'] . ';dbname=' . $db['base'];
+ if (!empty($dbServer['port'])) {
+ $string .= ';port=' . $dbServer['port'];
+ }
$this->prefix = $db['prefix'] . $currentUser . '_';
$this->bd = new MinzPDOPGSQL($string, $db['user'], $db['password'], $driver_options);
$this->bd->exec("SET NAMES 'UTF8';");