From 7a9f142c9752d2b47378d2c2df39e276cae053ff Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Wed, 8 May 2013 21:36:49 +1200 Subject: [PATCH] FIX: ensure config variables exist --- core/manifest/ClassManifest.php | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/core/manifest/ClassManifest.php b/core/manifest/ClassManifest.php index b2336adae..ded2f4839 100644 --- a/core/manifest/ClassManifest.php +++ b/core/manifest/ClassManifest.php @@ -248,19 +248,28 @@ class SS_ClassManifest { /** * Returns an array of module names mapped to their paths. - * "Modules" in SilverStripe are simply directories with a _config.php file. + * + * "Modules" in SilverStripe are simply directories with a _config.php + * file. * * @return array */ public function getModules() { $modules = array(); - foreach($this->configs as $configPath) { - $modules[basename(dirname($configPath))] = dirname($configPath); + + if($this->configs) { + foreach($this->configs as $configPath) { + $modules[basename(dirname($configPath))] = dirname($configPath); + } } - foreach($this->configDirs as $configDir) { - $path = preg_replace('/\/_config$/', '', dirname($configDir)); - $modules[basename($path)] = $path; + + if($this->configDirs) { + foreach($this->configDirs as $configDir) { + $path = preg_replace('/\/_config$/', '', dirname($configDir)); + $modules[basename($path)] = $path; + } } + return $modules; }