* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team * */ // {{{ICINGA_LICENSE_HEADER}}} namespace Icinga\Web\Controller; /** * Base class for Preference Controllers * * Module preferences use this class to make sure they are automatically * added to the general preferences 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 BasePreferenceController extends ActionController { /** * Return an array of tabs provided by this preference controller. * * Those tabs will automatically be added to the application's preference 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('PreferenceController'); } }