[Fusionforge-commits] r9071 - in trunk: gforge/common/include tests/unit/config
Roland Mas
lolando at libremir.placard.fr.eu.org
Mon Mar 15 14:04:20 CET 2010
Author: lolando
Date: 2010-03-15 14:04:20 +0100 (Mon, 15 Mar 2010)
New Revision: 9071
Modified:
trunk/gforge/common/include/config.php
trunk/tests/unit/config/ConfigTests.php
Log:
Added method to set global variables from config items. With unit tests.
Modified: trunk/gforge/common/include/config.php
===================================================================
--- trunk/gforge/common/include/config.php 2010-03-15 13:04:12 UTC (rev 9070)
+++ trunk/gforge/common/include/config.php 2010-03-15 13:04:20 UTC (rev 9071)
@@ -71,21 +71,28 @@
$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 ($arr) {
+function fusionforge_get_config_array () {
$c = FusionForgeConfig::get_instance () ;
$ret = array () ;
- foreach ($arr as $item) {
- $var = $arr[0] ;
- if (isset ($arr[1])) {
- $section = $arr[1] ;
+ 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' ;
}
@@ -95,6 +102,29 @@
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 () ;
Modified: trunk/tests/unit/config/ConfigTests.php
===================================================================
--- trunk/tests/unit/config/ConfigTests.php 2010-03-15 13:04:12 UTC (rev 9070)
+++ trunk/tests/unit/config/ConfigTests.php 2010-03-15 13:04:20 UTC (rev 9071)
@@ -19,14 +19,27 @@
public function testBasicConfig()
{
fusionforge_define_config_item ('forge_name', 'core', 'default') ;
+ fusionforge_define_config_item ('user_registration_restricted', 'core', true) ;
$this->assertEquals('default', fusionforge_get_config ('forge_name'));
$this->assertEquals('default', fusionforge_get_config ('forge_name', 'core'));
+ $this->assertTrue(fusionforge_get_config ('user_registration_restricted'));
fusionforge_read_config_file (dirname(__FILE__) . '/../../../gforge/etc/fusionforge.ini') ;
$this->assertEquals('FusionForge', fusionforge_get_config ('forge_name'));
$this->assertEquals('FusionForge', fusionforge_get_config ('forge_name', 'core'));
+ $this->assertEquals('', fusionforge_get_config ('user_registration_restricted'));
+
+ $arr = fusionforge_get_config_array ('forge_name', array ('user_registration_restricted', 'core')) ;
+ $this->assertEquals('FusionForge', $arr[0]);
+ $this->assertEquals('', $arr[1]);
+
+ fusionforge_set_vars_from_config ('forge_name', array ('user_registration_restricted', 'core')) ;
+ global $forge_name, $core__user_registration_restricted ;
+ $this->assertEquals('FusionForge', $forge_name);
+ $this->assertEquals('', $core__user_registration_restricted);
+
}
/**
More information about the Fusionforge-commits
mailing list