summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/config.php24
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/config.php b/lib/config.php
index 0bd497b8e50..626dc8b02e3 100644
--- a/lib/config.php
+++ b/lib/config.php
@@ -130,14 +130,24 @@ class OC_Config{
return true;
}
- if( !file_exists( OC::$SERVERROOT."/config/config.php" )) {
- return false;
- }
+ // read all file in config dir ending by config.php
+ $config_files = glob( OC::$SERVERROOT."/config/*.config.php");
+
+ //Sort array naturally :
+ natsort($config_files);
+
+ //Filter only regular files
+ $config_files = array_filter($config_files, 'is_file');
+
+ // Add default config
+ array_unshift($config_files,OC::$SERVERROOT."/config/config.php");
- // Include the file, save the data from $CONFIG
- include OC::$SERVERROOT."/config/config.php";
- if( isset( $CONFIG ) && is_array( $CONFIG )) {
- self::$cache = $CONFIG;
+ //Include file and merge config
+ foreach($config_files as $file){
+ include $file;
+ if( isset( $CONFIG ) && is_array( $CONFIG )) {
+ self::$cache = array_merge(self::$cache, $CONFIG);
+ }
}
// We cached everything