1: <?php
2: class XoopsDatabaseFactory
3: {
4:
5: function XoopsDatabaseFactory()
6: {
7: }
8:
9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
19: public static function &getDatabaseConnection()
20: {
21: static $instance;
22: if (!isset($instance)) {
23: $file = XOOPS_ROOT_PATH.'/class/database/'.XOOPS_DB_TYPE.'database.php';
24: require_once $file;
25:
26: if (defined("XOOPS_DB_ALTERNATIVE") && class_exists(XOOPS_DB_ALTERNATIVE)) {
27: $class = XOOPS_DB_ALTERNATIVE;
28: }
29: else if (!defined('XOOPS_DB_PROXY')) {
30: $class = 'Xoops'.ucfirst(XOOPS_DB_TYPE).'DatabaseSafe';
31: } else {
32: $class = 'Xoops'.ucfirst(XOOPS_DB_TYPE).'DatabaseProxy';
33: }
34: $instance = new $class();
35: $instance->setLogger(XoopsLogger::instance());
36: $instance->setPrefix(XOOPS_DB_PREFIX);
37: if (!$instance->connect()) {
38: trigger_error("Unable to connect to database", E_USER_ERROR);
39: }
40: }
41: return $instance;
42: }
43:
44: 45: 46: 47: 48: 49: 50: 51:
52: public static function &getDatabase()
53: {
54: static $database;
55: if (!isset($database)) {
56: $file = XOOPS_ROOT_PATH.'/class/database/'.XOOPS_DB_TYPE.'database.php';
57: require_once $file;
58: if (!defined('XOOPS_DB_PROXY')) {
59: $class = 'Xoops'.ucfirst(XOOPS_DB_TYPE).'DatabaseSafe';
60: } else {
61: $class = 'Xoops'.ucfirst(XOOPS_DB_TYPE).'DatabaseProxy';
62: }
63: $database =new $class();
64: }
65: return $database;
66: }
67:
68:
69: }
70: ?>
71: