Revision 2085
Added by darkviper almost 11 years ago
initialize.php | ||
---|---|---|
183 | 183 |
$db['name'] = isset($db['name']) ? $db['name'] : 'dummy'; |
184 | 184 |
$db['charset'] = isset($db['charset']) ? trim($db['charset']) : 'utf8'; |
185 | 185 |
$db['table_prefix'] = (isset($db['table_prefix']) ? $db['table_prefix'] : ''); |
186 |
if (isset($db['options']) && is_array($db['options'])) { |
|
187 |
foreach ($db['options'] as $key=>$value) { |
|
188 |
$aRetval['options'][constant($key)] = $value; |
|
189 |
} |
|
190 |
} |
|
186 | 191 |
if(!defined('TABLE_PREFIX')) { define('TABLE_PREFIX', $db['table_prefix']); } |
187 | 192 |
if($sDbConnectType == 'dsn') { |
188 | 193 |
// build dsn to connect |
189 |
$aRetval[0] = $db['type'].':dbname='.$db['name'].';host='.$db['host'].';' |
|
190 |
. ($db['port'] != '' ? 'port='.(int)$db['port'].';' : ''); |
|
191 |
$aRetval[1] = array('CHARSET' => $db['charset'], 'TABLE_PREFIX' => $db['table_prefix']); |
|
192 |
$aRetval[2] = array( 'user' => $db['user'], 'pass' => $db['pass']); |
|
194 |
$aRetval['dsn'] = $db['type'].':dbname='.$db['name'].';host='.$db['host'] |
|
195 |
. ($db['port'] != '' ? ';port='.(int)$db['port'] : ''); |
|
196 |
if ($db['charset'] == 'utf8') { |
|
197 |
$aRetval['dsn'] .= ';charset=UTF8'; |
|
198 |
$aRetval['options'][constant('PDO::MYSQL_ATTR_INIT_COMMAND')] = 'SET NAMES \'UTF8\''; |
|
199 |
} |
|
200 |
$aRetval['options'] = ''; |
|
201 |
$aRetval['user'] = $db['user']; |
|
202 |
$aRetval['password'] = $db['pass']; |
|
203 |
$aRetval['addons'] = array('CHARSET' => $db['charset'], 'TABLE_PREFIX' => $db['table_prefix']); |
|
193 | 204 |
}else { |
194 | 205 |
// build url to connect |
195 |
$aRetval[0] = $db['type'].'://'.$db['user'].':'.$db['pass'].'@'
|
|
196 |
. $db['host'].($db['port'] != '' ? ':'.$db['port'] : '').'/'.$db['name'] |
|
197 |
. '?Charset='.$db['charset'].'&TablePrefix='.$db['table_prefix']; |
|
206 |
$aRetval['url'] = $db['type'].'://'.$db['user'].':'.$db['pass'].'@'
|
|
207 |
. $db['host'].($db['port'] != '' ? ':'.$db['port'] : '').'/'.$db['name']
|
|
208 |
. '?Charset='.$db['charset'].'&TablePrefix='.$db['table_prefix'];
|
|
198 | 209 |
} |
199 | 210 |
return $aRetval; |
200 | 211 |
} |
... | ... | |
256 | 267 |
// Create global database instance --- |
257 | 268 |
$oDb = $database = WbDatabase::getInstance(); |
258 | 269 |
if($sDbConnectType == 'dsn') { |
259 |
$bTmp = $oDb->doConnect($aSqlData[0], $aSqlData[1]['user'], $aSqlData[1]['pass'], $aSqlData[2]);
|
|
270 |
$bTmp = $oDb->doConnect($aSqlData['dsn'], $aSqlData['user'], $aSqlData['password'], null, $aSqlData['addons']);
|
|
260 | 271 |
}else { |
261 |
$bTmp = $oDb->doConnect($aSqlData[0]);
|
|
272 |
$bTmp = $oDb->doConnect($aSqlData['url']);
|
|
262 | 273 |
} |
263 | 274 |
// remove critical data from memory |
264 | 275 |
unset($aSqlData, $aCfg); |
Also available in: Unified diff
! build DSN extended for PDO::MYSQL_ATTR_INIT_COMMAND = 'SET NAMES xx'