*/
class FusionForgeConfig {
- static private $instance = NULL ;
+ static protected $instance = NULL ;
private $settings ;
public function get_instance () {
}
public function get_value ($section, $var) {
- if (!isset ($settings[$section])
- || !isset ($settings[$section][$var])) {
+ if (!isset (self::$instance->settings[$section])
+ || !isset (self::$instance->settings[$section][$var])) {
return NULL ;
}
- return $settings[$section][$var] ;
+ return self::$instance->settings[$section][$var] ;
}
public function set_value ($section, $var, $value) {
- if (!isset ($settings[$section])) {
- $settings[$section] = array () ;
+ if (!isset (self::$instance->settings[$section])) {
+ self::$instance->settings[$section] = array () ;
}
- if (!isset ($settings[$section][$var])) {
- $settings[$section][$var] = $value ;
+ if (!isset (self::$instance->settings[$section][$var])) {
+ self::$instance->settings[$section][$var] = $value ;
}
}
- function fusionforge_read_config_file ($file) {
+ function read_config_file ($file) {
$sections = parse_ini_file ($file, true) ;
- foreach ($sections as $sectname => $options) {
- if (!isset ($settings[$section]))
+ foreach ($sections as $section => $options) {
+ if (!isset (self::$instance->settings[$section]))
continue ;
- foreach ($options as $key => $value) {
- if (!isset ($settings[$section][$var]))
+ foreach ($options as $var => $value) {
+ if (!isset (self::$instance->settings[$section][$var]))
continue ;
- $settings[$sectname][$key] = $value ;
+ self::$instance->settings[$section][$var] = $value ;
}
}
return ;
$fusionforge_config = new FusionForgeConfig () ;
}
-function fusionforge_get_config ($var, $section = 'core') {
+function fusionforge_get_config ($var, $section = NULL) {
$c = FusionForgeConfig::get_instance () ;
+ if ($section == NULL) {
+ $section = 'core' ;
+ }
+
return $c->get_value ($section, $var) ;
}
+function fusionforge_get_config_array () {
+ $c = FusionForgeConfig::get_instance () ;
+
+ $ret = array () ;
+
+ foreach (func_get_args() as $item) {
+ if (! is_array ($item)) {
+ $item = array ($item) ;
+ }
+ $var = $item[0] ;
+ if (isset ($item[1])) {
+ $section = $item[1] ;
+ } else {
+ $section = 'core' ;
+ }
+ $ret[] = $c->get_value ($section, $var) ;
+ }
+
+ return $ret ;
+}
+
+function fusionforge_set_vars_from_config () {
+ $c = FusionForgeConfig::get_instance () ;
+
+ foreach (func_get_args() as $item) {
+ $section = NULL ;
+ if (is_array ($item)) {
+ $var = $item[0] ;
+ $x = $var ;
+ if (isset ($item[1])) {
+ $section = $item[1] ;
+ $x = $section.'__'.$var ;
+ }
+ } else {
+ $var = $item ;
+ $x = $item ;
+ }
+
+ global $$x ;
+ $$x = fusionforge_get_config ($var, $section) ;
+ }
+}
+
+
function fusionforge_define_config_item ($var, $section, $default) {
$c = FusionForgeConfig::get_instance () ;