diff options
author | Yuchen Pei <hi@ypei.me> | 2021-10-15 09:52:00 +1100 |
---|---|---|
committer | Yuchen Pei <hi@ypei.me> | 2021-10-15 09:52:00 +1100 |
commit | 71b0e901f5fb1cfcd162d8acc23120d3f77a3152 (patch) | |
tree | 323c00faef1edc7dea2e88ff581cc2258b2b6432 /Library/Factory | |
parent | 72cce24864b064b5762f4fe97fdf40d8d2ad4b51 (diff) | |
parent | 07f5140771388c9e0c8a99b0dd2e5d950bdb173b (diff) |
Merge branch 'development' into h-node
Diffstat (limited to 'Library/Factory')
-rwxr-xr-x | Library/Factory/Db.php | 69 | ||||
-rw-r--r-- | Library/Factory/Strings.php | 38 | ||||
-rw-r--r-- | Library/Factory/index.html | 1 |
3 files changed, 108 insertions, 0 deletions
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 @@ +<?php + +// EasyGiant is a PHP framework for creating and managing dynamic content +// +// Copyright (C) 2009 - 2011 Antonio Gallo +// See COPYRIGHT.txt and LICENSE.txt. +// +// This file is part of EasyGiant +// +// EasyGiant is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// EasyGiant is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with EasyGiant. If not, see <http://www.gnu.org/licenses/>. + +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 @@ +<?php + +// EasyGiant is a PHP framework for creating and managing dynamic content +// +// Copyright (C) 2009 - 2011 Antonio Gallo +// See COPYRIGHT.txt and LICENSE.txt. +// +// This file is part of EasyGiant +// +// EasyGiant is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// EasyGiant is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with EasyGiant. If not, see <http://www.gnu.org/licenses/>. + +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 @@ + |