diff options
| author | emkael <emkael@tlen.pl> | 2016-06-07 15:17:49 +0200 |
|---|---|---|
| committer | emkael <emkael@tlen.pl> | 2016-06-10 11:46:41 +0200 |
| commit | 823d71ced9b4947b1a5a5ade7245d521ed490061 (patch) | |
| tree | a9a6c7cb0de74ff705e8320c284de423a698f5b5 /app/frontend/db/DBModule.php | |
| parent | df401552aac363655ab8f056a6c910a7611954d6 (diff) | |
* renaming php directory
Diffstat (limited to 'app/frontend/db/DBModule.php')
| -rw-r--r-- | app/frontend/db/DBModule.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/app/frontend/db/DBModule.php b/app/frontend/db/DBModule.php new file mode 100644 index 0000000..462b6f6 --- /dev/null +++ b/app/frontend/db/DBModule.php @@ -0,0 +1,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); + } + +} + +?> |
