Merge remote-tracking branch 'origin/PDOOptions' into dev

pull/1010/head
Alexandre Alapetite 9 years ago
commit cd83002f43
  1. 3
      app/install.php
  2. 6
      data/config.default.php
  3. 10
      lib/Minz/ModelPdo.php

@ -165,7 +165,7 @@ function saveStep3() {
$_SESSION['bd_user'] = $_POST['user']; $_SESSION['bd_user'] = $_POST['user'];
$_SESSION['bd_password'] = $_POST['pass']; $_SESSION['bd_password'] = $_POST['pass'];
$_SESSION['bd_prefix'] = substr($_POST['prefix'], 0, 16); $_SESSION['bd_prefix'] = substr($_POST['prefix'], 0, 16);
$_SESSION['bd_prefix_user'] = $_SESSION['bd_prefix'] .(empty($_SESSION['default_user']) ? '' :($_SESSION['default_user'] . '_')); $_SESSION['bd_prefix_user'] = $_SESSION['bd_prefix'] . (empty($_SESSION['default_user']) ? '' : ($_SESSION['default_user'] . '_'));
} }
//TODO: load `config.default.php` as default //TODO: load `config.default.php` as default
@ -183,6 +183,7 @@ function saveStep3() {
'password' => $_SESSION['bd_password'], 'password' => $_SESSION['bd_password'],
'base' => $_SESSION['bd_base'], 'base' => $_SESSION['bd_base'],
'prefix' => $_SESSION['bd_prefix'], 'prefix' => $_SESSION['bd_prefix'],
'pdo_options' => array(),
), ),
); );

@ -99,6 +99,12 @@ return array(
# MySQL table prefix. # MySQL table prefix.
'prefix' => '', 'prefix' => '',
'pdo_options' => array(
//PDO::MYSQL_ATTR_SSL_KEY => '/path/to/client-key.pem',
//PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
//PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca-cert.pem',
),
), ),
# List of enabled FreshRSS extensions. # List of enabled FreshRSS extensions.

@ -53,21 +53,19 @@ class Minz_ModelPdo {
$this->current_user = $currentUser; $this->current_user = $currentUser;
self::$sharedCurrentUser = $currentUser; self::$sharedCurrentUser = $currentUser;
$driver_options = isset($conf->db['pdo_options']) && is_array($conf->db['pdo_options']) ? $conf->db['pdo_options'] : array();
try { try {
$type = $db['type']; $type = $db['type'];
if ($type === 'mysql') { if ($type === 'mysql') {
$string = 'mysql:host=' . $db['host'] $string = 'mysql:host=' . $db['host']
. ';dbname=' . $db['base'] . ';dbname=' . $db['base']
. ';charset=utf8'; . ';charset=utf8';
$driver_options = array( $driver_options[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET NAMES utf8';
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
$this->prefix = $db['prefix'] . $currentUser . '_'; $this->prefix = $db['prefix'] . $currentUser . '_';
} elseif ($type === 'sqlite') { } elseif ($type === 'sqlite') {
$string = 'sqlite:' . join_path(DATA_PATH, 'users', $currentUser, 'db.sqlite'); $string = 'sqlite:' . join_path(DATA_PATH, 'users', $currentUser, 'db.sqlite');
$driver_options = array( //$driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
//PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
);
$this->prefix = ''; $this->prefix = '';
} else { } else {
throw new Minz_PDOConnectionException( throw new Minz_PDOConnectionException(

Loading…
Cancel
Save