Index: Horde/Horde.php
===================================================================
RCS file: /repository/framework/Horde/Horde.php,v
retrieving revision 1.489.2.113
diff -u -r1.489.2.113 Horde.php
--- Horde/Horde.php 14 Feb 2009 18:02:06 -0000 1.489.2.113
+++ Horde/Horde.php 17 Jun 2009 15:46:31 -0000
@@ -526,7 +526,7 @@
} else {
$success = include $config_dir . $config_file;
}
- $output = ob_get_clean();
+ $output .= ob_get_clean();
if (!empty($output) && !$show_output) {
return PEAR::raiseError(sprintf('Failed to import configuration file "%s": ', $config_dir . $config_file) . strip_tags($output));
}
@@ -537,6 +537,31 @@
$was_included = true;
}
+ // Load global configuration stanzas in .d directory
+ $directory = preg_replace('/\.php$/', '.d', $config_dir . $config_file);
+ if (file_exists($directory) && is_dir($directory)) {
+ $sub_files = glob("$directory/*.php");
+ if ($sub_files) {
+ foreach ($sub_files as $sub_file) {
+ ob_start();
+ $success = (is_null($var_names) && !$show_output)
+ ? include_once $sub_file
+ : include $sub_file;
+ $output .= ob_get_clean();
+
+ if (!empty($output) && !$show_output) {
+ return PEAR::raiseError(sprintf('Failed to import configuration file "%s": ', $sub_file) . strip_tags($output));
+ }
+
+ if (!$success) {
+ return PEAR::raiseError(sprintf('Failed to import configuration file "%s".', $sub_file));
+ }
+ }
+ }
+ }
+
+ $output = '';
+
// Load vhost configuration file.
if (!empty($conf['vhosts']) || !empty($GLOBALS['conf']['vhosts'])) {
$server_name = isset($GLOBALS['conf']) ? $GLOBALS['conf']['server']['name'] : $conf['server']['name'];
@@ -549,7 +574,7 @@
} else {
$success = include $config_dir . $config_file;
}
- $output = ob_get_clean();
+ $output .= ob_get_clean();
if (!empty($output) && !$show_output) {
return PEAR::raiseError(sprintf('Failed to import configuration file "%s": ', $config_dir . $config_file) . strip_tags($output));
}
@@ -559,6 +584,28 @@
$was_included = true;
}
+ // Load vhost configuration stanzas in .d directory
+ $directory = preg_replace('/\.php$/', '.d', $config_dir . $config_file);
+ if (file_exists($directory) && is_dir($directory)) {
+ $sub_files = glob("$directory/*.php");
+ if ($sub_files) {
+ foreach ($files as $sub_file) {
+ ob_start();
+ $success = (is_null($var_names) && !$show_output)
+ ? include_once $sub_file
+ : include $sub_file;
+ $output .= ob_get_clean();
+
+ if (!empty($output) && !$show_output) {
+ return PEAR::raiseError(sprintf('Failed to import configuration file "%s": ', $sub_file) . strip_tags($output));
+ }
+
+ if (!$success) {
+ return PEAR::raiseError(sprintf('Failed to import configuration file "%s".', $sub_file));
+ }
+ }
+ }
+ }
}
// Return an error if neither main or vhosted versions of the