moduleName = $moduleName; $this->modulePaths = array(); if (($appModulePath = realpath(Icinga::app()->getApplicationDir() . '/../modules')) !== false) { $this->modulePaths[] = $appModulePath; } } public function apply() { try { $moduleManager = Icinga::app()->getModuleManager(); $moduleManager->detectInstalledModules($this->modulePaths); $moduleManager->enableModule($this->moduleName); } catch (Exception $e) { $this->error = $e; return false; } $this->error = false; return true; } public function getSummary() { // Enabling a module is like a implicit action, which does not need to be shown to the user... } public function getReport() { if ($this->error === false) { return '
' . sprintf(mt('setup', 'Module "%s" has been successfully enabled.'), $this->moduleName) . '
'; } elseif ($this->error !== null) { $message = mt('setup', 'Module "%s" could not be enabled. An error occured:'); return '' . sprintf($message, $this->moduleName) . '
' . '' . $this->error->getMessage() . '
'; } } }