* @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} use Icinga\Application\Benchmark; use Icinga\Authentication\Manager; use Icinga\Web\Controller\BaseConfigController; use Icinga\Web\Widget\Tab; use Icinga\Web\Url; use Icinga\Web\Hook\Configuration\ConfigurationTabBuilder; use Icinga\Application\Icinga; /** * Class ConfigController */ class ConfigController extends BaseConfigController { public static function createProvidedTabs() { return array( "index" => new Tab( array( "name" => "index", "title" => "Configuration", "iconCls" => "wrench", "url" => Url::fromPath("/config") ) ), "modules" => new Tab( array( "name" => "modules", "title" => "Modules", "iconCls" => "puzzle-piece", "url" => Url::fromPath("/config/moduleoverview") ) ) ); } /** * Index action */ public function indexAction() { } public function moduleoverviewAction() { $this->view->modules = Icinga::app()->getModuleManager()->select() ->from('modules') ->order('name'); $this->render('module/overview'); } /** * Enable a module */ public function moduleenableAction() { $manager = Icinga::app()->getModuleManager(); $manager->enableModule($this->_getParam('name')); $manager->loadModule($this->_getParam('name')); $this->redirectNow('config/moduleoverview?_render=body'); } /** * Disable a module */ public function moduledisableAction() { $manager = Icinga::app()->getModuleManager(); $manager->disableModule($this->_getParam('name')); $this->redirectNow('config/moduleoverview?_render=body'); } } // @codingStandardsIgnoreEnd