blob: 3622db03cf45f2b572f3eaa4aaf61c01e038c75f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?php
Prado::using('System.Data.TDataSourceConfig');
class DBModule extends TDataSourceConfig {
private $_config;
public function init($xml) {
$this->setConnectionClass('Application.db.DBConnection');
$config = json_decode(file_get_contents(
realpath(
$this->getApplication()->getBasePath()
. DIRECTORY_SEPARATOR
. $this->_config
)
));
$newXML = new TXmlElement('module');
foreach ($xml->getAttributes() as $attr => $val) {
$newXML->setAttribute($attr, $val);
}
$dbXML = new TXmlElement('database');
if (isset($config->cset)) {
$dbXML->setAttribute('Charset', $config->cset);
}
$dbXML->setAttribute('Username', $config->user);
$dbXML->setAttribute('Password', $config->pass);
$dbXML->setAttribute(
'ConnectionString',
sprintf(
'%s:host=%s;dbname=%s',
$config->type, $config->host, $config->name
)
);
$newXML->Elements[] = $dbXML;
parent::init($newXML);
}
public function setConfig($config) {
$this->_config = TPropertyValue::ensureString($config);
}
}
?>
|