availableDirs = $availableDirs; $this->moduleName = $moduleName; } public function apply() { try { $moduleManager = Icinga::app()->getModuleManager(); $moduleManager->detectInstalledModules($this->availableDirs); $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(t('Module "%s" has been successfully enabled.'), $this->moduleName) . '

'; } elseif ($this->error !== null) { $message = t('Module "%s" could not be enabled. An error occured:'); return '

' . sprintf($message, $this->moduleName) . '

' . '

' . $this->error->getMessage() . '

'; } } }