From 4202e34d13b88195b8c7fbe7938cc5570b80b117 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Wed, 4 Jun 2014 23:37:36 +0000 Subject: [PATCH] bootstrapping: play nice with duplicate modules A module loaded manually could also exist in the list of enabled modules if a configuration is given and a module with the same name has been enabled. This used to confuse documentation. --- library/Icinga/Cli/Loader.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/library/Icinga/Cli/Loader.php b/library/Icinga/Cli/Loader.php index 34b15bc47..b4cd27741 100644 --- a/library/Icinga/Cli/Loader.php +++ b/library/Icinga/Cli/Loader.php @@ -182,16 +182,15 @@ class Loader if ($params === null) { $params = $this->app->getParams(); } - $first = $params->shift(); - if (! $first) { - return; - } if ($this->moduleName === null) { + $first = $params->shift(); + if (! $first) { + return; + } $found = $this->resolveName($first); } else { $found = $this->moduleName; - $params->unshift($first); } if (! $found) { $msg = "There is no such module or command: '$first'"; @@ -431,11 +430,10 @@ class Loader { if ($this->modules === null) { $this->modules = array(); - $this->modules = array_merge( + $this->modules = array_unique(array_merge( $this->app->getModuleManager()->listEnabledModules(), $this->app->getModuleManager()->listLoadedModules() - ); - sort($this->modules); + )); } return $this->modules; }