* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} namespace Icinga\Web\Controller; use \Icinga\Application\Icinga; /** * Base class for Configuration Controllers * * Module preferences use this class to make sure they are automatically * added to the application's configuration dialog. If you create a subclass of * BasePreferenceController and overwrite @see init(), make sure you call * parent::init(), otherwise you won't have the $tabs property in your view. * */ class BaseConfigController extends ActionController { /* * Return an array of tabs provided by this configuration controller. * * Those tabs will automatically be added to the application's configuration dialog * * @return array */ public static function createProvidedTabs() { return array(); } /** * Initialize the controller and collect all tabs for it from the application and it's modules * * @see ActionController::init */ public function init() { parent::init(); $this->view->tabs = ControllerTabCollector::collectControllerTabs('ConfigController'); } }