Commit 2caa00b46a57ae6514f284d4f6cd13cc02eb14cd

Authored by Neil Blakey-Milner
1 parent 5a24d8d4

Add a "default" option to return if a given item isn't in the config

files.

Clean up singleton handling to work in strange cases (like when the file
is imported within a function).


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3586 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 7 additions and 6 deletions
lib/config/config.inc.php
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 require_once("Config.php"); 3 require_once("Config.php");
4 4
5 -define("KT_CONFIG_DEFAULT", true); 5 +require_once(KT_LIB_DIR . '/util/ktutil.inc');
6 6
7 class KTConfig { 7 class KTConfig {
8 var $conf = array(); 8 var $conf = array();
@@ -67,22 +67,23 @@ class KTConfig { @@ -67,22 +67,23 @@ class KTConfig {
67 return $v; 67 return $v;
68 } 68 }
69 69
70 - function get($var) { 70 + function get($var, $oDefault = null) {
71 if (array_key_exists($var, $this->flatns)) { 71 if (array_key_exists($var, $this->flatns)) {
72 return $this->expand($this->flatns[$var]); 72 return $this->expand($this->flatns[$var]);
73 } 73 }
74 if (array_key_exists($var, $this->flat)) { 74 if (array_key_exists($var, $this->flat)) {
75 return $this->expand($this->flat[$var]); 75 return $this->expand($this->flat[$var]);
76 } 76 }
77 - return null; 77 + return $oDefault;;
78 } 78 }
79 79
80 function &getSingleton() { 80 function &getSingleton() {
81 - global $KTConfig;  
82 - return $KTConfig; 81 + if (!KTUtil::arrayGet($GLOBALS, 'KTConfig')) {
  82 + $GLOBALS['KTConfig'] =& new KTConfig;
  83 + }
  84 + return $GLOBALS['KTConfig'];
83 } 85 }
84 } 86 }
85 87
86 -$KTConfig =& new KTConfig;  
87 88
88 ?> 89 ?>