• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List

E:/E/GEAMP/www/openbiz/openbiz/bin/Configuration.php

00001 <?PHP
00027 class Configuration
00028 {
00034     private $_xmlArr;
00035     
00041     private $_databaseInfo;
00042     private $_themeInfo;
00043 
00047     public function __construct ()
00048     {
00049         $xmlFile = BizSystem::GetXmlFileWithPath("application");
00050         $this->_xmlArr = &BizSystem::getXmlArray($xmlFile);
00051     }
00052 
00065     public function getDatabaseInfo($dbName = null)
00066     {
00067         if ($dbName && $this->_databaseInfo[$dbName])
00068             return $this->_databaseInfo[$dbName];
00069         if (! $this->_xmlArr["APPLICATION"]["DATASOURCE"])
00070         {
00071             $errMsg = BizSystem::getMessage("SYS_ERROR_NODBINFO");
00072             trigger_error($errMsg, E_USER_ERROR);
00073         }
00074         $breakFlag = false;
00075         foreach ($this->_xmlArr["APPLICATION"]["DATASOURCE"]["DATABASE"] as $db)
00076         {
00077             if (array_key_exists('ATTRIBUTES', $this->_xmlArr["APPLICATION"]["DATASOURCE"]["DATABASE"]))
00078             {
00079                 $db = $this->_xmlArr["APPLICATION"]["DATASOURCE"]["DATABASE"];
00080                 $breakFlag = true;
00081             }
00082             $tmp["Name"]     = $db["ATTRIBUTES"]["NAME"];
00083             $tmp["Driver"]   = $db["ATTRIBUTES"]["DRIVER"];
00084             $tmp["Server"]   = $db["ATTRIBUTES"]["SERVER"];
00085             $tmp["DBName"]   = $db["ATTRIBUTES"]["DBNAME"];
00086             $tmp["User"]     = $db["ATTRIBUTES"]["USER"];
00087             $tmp["Password"] = $db["ATTRIBUTES"]["PASSWORD"];
00088             $tmp["Port"]     = isset($db["ATTRIBUTES"]["PORT"]) ? $db["ATTRIBUTES"]["PORT"] : null;
00089             $tmp["Charset"]  = isset($db["ATTRIBUTES"]["CHARSET"]) ? $db["ATTRIBUTES"]["CHARSET"] : null;
00090             $tmp["Options"]  = isset($db["ATTRIBUTES"]["OPTIONS"]) ? $db["ATTRIBUTES"]["OPTIONS"] : null;
00091             $this->_databaseInfo[$tmp["Name"]] = $tmp;
00092             if ($breakFlag)
00093                 break;
00094         }
00095 
00096         if ($dbName && $this->_databaseInfo[$dbName])
00097             return $this->_databaseInfo[$dbName];
00098         if ($dbName && ! isset($this->_databaseInfo[$dbName]))
00099         {
00100             $errMsg = BizSystem::getMessage("DATA_INVALID_DBNAME", array($dbName,$dbName));
00101             trigger_error($errMsg, E_USER_ERROR);
00102         }
00103         if (! $dbName)
00104             return $this->_databaseInfo;
00105     }
00106 
00107 }

Generated on Thu Apr 19 2012 17:09:13 for openbiz by  doxygen 1.7.2