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