blob: 462b6f6ddf4a9b9a3fff346df51b8d47b56f4a93 (
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
|
<?php
Prado::using('System.Data.TDataSourceConfig');
class DBModule extends TDataSourceConfig {
private $_config;
public function init($xml) {
$newXML = new TXmlElement('module');
foreach ($xml->getAttributes() as $attr => $val) {
$newXML->setAttribute($attr, $val);
}
$dbXML = new TXmlElement('database');
$config = json_decode(file_get_contents(
Prado::getPathOfNamespace($this->_config, '.json')
));
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);
}
}
?>
|