From 07f5140771388c9e0c8a99b0dd2e5d950bdb173b Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 14 Oct 2021 15:16:42 +1100 Subject: moving h-source subdir out. --- Library/Factory/Db.php | 69 +++++++++++++++++++++++++++++++++++++++++++++ Library/Factory/Strings.php | 38 +++++++++++++++++++++++++ Library/Factory/index.html | 1 + 3 files changed, 108 insertions(+) create mode 100755 Library/Factory/Db.php create mode 100644 Library/Factory/Strings.php create mode 100644 Library/Factory/index.html (limited to 'Library/Factory') diff --git a/Library/Factory/Db.php b/Library/Factory/Db.php new file mode 100755 index 0000000..32a82c1 --- /dev/null +++ b/Library/Factory/Db.php @@ -0,0 +1,69 @@ +. + +if (!defined('EG')) die('Direct access not allowed!'); + +//class to create the database layer class +class Factory_Db { + + //start the database connection + //$dbType: mysql,mysqli,pg + //$dbArrayParams: array containing the HOST, the USER, the PWD, and the DB of the database (see config.php) + public static function getInstance($dbType,$dbArrayParams = array()) { + if (!in_array($dbType,Params::$allowedDb)) { + throw new Exception('error in ' . __METHOD__ . ' : the database type has to be '.implode(' or ',Params::$allowedDb)); + } + switch ($dbType) { + case 'Mysql': + return call_user_func_array(array('Db_'.$dbType,'getInstance'),$dbArrayParams); + break; + case 'Mysqli': + return call_user_func_array(array('Db_'.$dbType,'getInstance'),$dbArrayParams); + break; + case 'None': + return null; + break; + } + } + + //close the database connection + public static function disconnect($dbType) + { + if (!in_array($dbType,Params::$allowedDb)) { + throw new Exception('error in ' . __METHOD__ . ' : the database type has to be '.implode(' or ',Params::$allowedDb)); + } + switch ($dbType) { + case 'Mysql': + $mysql = Db_Mysql::getInstance(); + $mysql->disconnect(); + break; + case 'Mysqli': + $mysqli = Db_Mysqli::getInstance(); + $mysqli->disconnect(); + break; + case 'None': + return null; + break; + } + } + +} diff --git a/Library/Factory/Strings.php b/Library/Factory/Strings.php new file mode 100644 index 0000000..3e766bd --- /dev/null +++ b/Library/Factory/Strings.php @@ -0,0 +1,38 @@ +. + +if (!defined('EG')) die('Direct access not allowed!'); + +//return the string class +class Factory_Strings { + + //return an instance of the Lang_{language}_Generic class + public static function generic($lang = 'En') { + $stringClass = 'Lang_'.$lang.'_Generic'; + if (!class_exists($stringClass)) + { + $stringClass = 'Lang_En_Generic'; + } + return new $stringClass(); + } + +} diff --git a/Library/Factory/index.html b/Library/Factory/index.html new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/Library/Factory/index.html @@ -0,0 +1 @@ + -- cgit v1.2.3