diff options
author | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:08:25 +0000 |
---|---|---|
committer | cweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2009-10-03 14:08:25 +0000 |
commit | b7345f833dea849e94f2ce23fdbe6ab58ba98be3 (patch) | |
tree | b6b6d73910e69621824e0fb46bcaa81d08607052 /src/SemanticScuttle/Service/Factory.php | |
parent | 29422fa55379aa61a61019b832c83dab6d450264 (diff) | |
download | semanticscuttle-b7345f833dea849e94f2ce23fdbe6ab58ba98be3.tar.gz semanticscuttle-b7345f833dea849e94f2ce23fdbe6ab58ba98be3.tar.bz2 |
more file renamings
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@387 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'src/SemanticScuttle/Service/Factory.php')
-rw-r--r-- | src/SemanticScuttle/Service/Factory.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/SemanticScuttle/Service/Factory.php b/src/SemanticScuttle/Service/Factory.php new file mode 100644 index 0000000..b5215e3 --- /dev/null +++ b/src/SemanticScuttle/Service/Factory.php @@ -0,0 +1,38 @@ +<?php +/* Connect to the database and build services */ + +class ServiceFactory { + function ServiceFactory(&$db, $serviceoverrules = array()) { + } + + function &getServiceInstance($name, $servicedir = NULL) { + global $dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist, $dbtype; + static $instances = array(); + static $db; + if (!isset($db)) { + require_once(dirname(__FILE__) .'/../includes/db/'. $dbtype .'.php'); + $db = new sql_db(); + $db->sql_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist); + if(!$db->db_connect_id) { + message_die(CRITICAL_ERROR, "Could not connect to the database", $db); + } + $db->sql_query("SET NAMES UTF8"); + } + + if (!isset($instances[$name])) { + if (isset($serviceoverrules[$name])) { + $name = $serviceoverrules[$name]; + } + if (!class_exists($name)) { + if (!isset($servicedir)) { + $servicedir = dirname(__FILE__) .'/'; + } + + require_once($servicedir . strtolower($name) . '.php'); + } + $instances[$name] = call_user_func(array($name, 'getInstance'), $db); + } + return $instances[$name]; + } +} +?> |