diff --git a/library/Icinga/Application/Config.php b/library/Icinga/Application/Config.php index 22757d5f9..251ed4fb6 100644 --- a/library/Icinga/Application/Config.php +++ b/library/Icinga/Application/Config.php @@ -472,11 +472,17 @@ class Config implements Countable, Iterator, Selectable $filename = $type . 's.ini'; } - return static::resolvePath( - ($username ? 'preferences' . DIRECTORY_SEPARATOR . $username : 'navigation') - . DIRECTORY_SEPARATOR - . $filename - ); + if ($username) { + $path = static::resolvePath(implode(DIRECTORY_SEPARATOR, array('preferences', $username, $filename))); + if (realpath($path) === false) { + $path = static::resolvePath(implode(DIRECTORY_SEPARATOR, array( + 'preferences', strtolower($username), $filename + ))); + } + } else { + $path = static::resolvePath('navigation' . DIRECTORY_SEPARATOR . $filename); + } + return $path; } /**