mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-04-07 21:05:18 +02:00
parent
64e6886c9c
commit
a8dd9c933d
@ -18,6 +18,7 @@ use Icinga\Web\Hook;
|
||||
use Icinga\Web\Menu;
|
||||
use Icinga\Web\Widget;
|
||||
use Icinga\Web\Widget\Dashboard\Pane;
|
||||
use Icinga\Web\Setup\SetupWizard;
|
||||
use Icinga\Util\File;
|
||||
use Icinga\Exception\ProgrammingError;
|
||||
use Icinga\Exception\IcingaException;
|
||||
@ -134,6 +135,13 @@ class Module
|
||||
*/
|
||||
private $configTabs = array();
|
||||
|
||||
/**
|
||||
* Provided setup wizard
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $setupWizard;
|
||||
|
||||
/**
|
||||
* Icinga application
|
||||
*
|
||||
@ -642,6 +650,31 @@ class Module
|
||||
return $tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether this module provides a setup wizard
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function providesSetupWizard()
|
||||
{
|
||||
$this->launchConfigScript();
|
||||
if (class_exists($this->setupWizard)) {
|
||||
$wizard = new $this->setupWizard;
|
||||
return $wizard instanceof SetupWizard;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return this module's setup wizard
|
||||
*
|
||||
* @return SetupWizard
|
||||
*/
|
||||
public function getSetupWizard()
|
||||
{
|
||||
return new $this->setupWizard;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a named permission
|
||||
@ -705,6 +738,19 @@ class Module
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a setup wizard
|
||||
*
|
||||
* @param string $className The name of the class
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
protected function provideSetupWizard($className)
|
||||
{
|
||||
$this->setupWizard = $className;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register new namespaces on the autoloader
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user