1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
12:
13: 14: 15:
16: class DBHandler extends Prefab {
17: 18: 19: 20:
21: public function get($type) {
22: $cfg = Config::instance();
23: $type = strtoupper($type);
24: switch ($type) {
25: case 'JIG':
26: $db = new \DB\Jig($cfg->DB_JIG['dir'],$cfg->DB_JIG['format']);
27: break;
28: case 'MYSQL':
29: $db = new \DB\SQL('mysql:host='.$cfg->DB_MYSQL['host'].
30: ';port='.$cfg->DB_MYSQL['port'].';dbname='.$cfg->DB_MYSQL['dbname'],
31: $cfg->DB_MYSQL['user'], $cfg->DB_MYSQL['password']);
32: break;
33: case 'PGSQL':
34: $db = new \DB\SQL('pgsql:host='.$cfg->DB_PGSQL['host'].
35: ';dbname='.$cfg->DB_PGSQL['dbname'],
36: $cfg->DB_PGSQL['user'], $cfg->DB_PGSQL['password']);
37: break;
38: case 'SQLSRV':
39: $db = new \DB\SQL('sqlsrv:SERVER='.$cfg->DB_SQLSRV['host'].
40: ';Database='.$cfg->DB_SQLSRV['dbname'],
41: $cfg->DB_SQLSRV['user'], $cfg->DB_SQLSRV['password']);
42: break;
43: case 'SQLITE':
44: $db = new \DB\SQL('sqlite:'.$cfg->DB_SQLITE['path']);
45: break;
46: case 'MONGO':
47: $db = new \DB\Mongo('mongodb://'.$cfg->DB_MONGO['host'].':'.
48: $cfg->DB_MONGO['port'],$cfg->DB_MONGO['dbname']);
49: break;
50: }
51: return isset($db) ? $db : false;
52: }
53:
54: 55: 56: 57: 58:
59: public function update($type,$conf) {
60: $cfg = Config::instance();
61: $cfg->set('DB_'.strtoupper($type), $conf);
62: $cfg->save();
63: }
64:
65: }