SettingsController::plugins PHP Method

plugins() public method

Manage list of plugins.
Since: 2.0.0
public plugins ( string $Filter = '', string $PluginName = '' )
$Filter string 'enabled', 'disabled', or 'all' (default)
$PluginName string Unique ID of plugin to be modified.
    public function plugins($Filter = '', $PluginName = '')
    {
        $this->permission('Garden.Settings.Manage');
        // Page setup
        $this->addJsFile('addons.js');
        $this->title(t('Plugins'));
        $this->setHighlightRoute('dashboard/settings/plugins');
        if (!in_array($Filter, array('enabled', 'disabled'))) {
            $Filter = 'all';
        }
        $this->Filter = $Filter;
        // Retrieve all available plugins from the plugins directory
        $this->EnabledPlugins = Gdn::pluginManager()->enabledPlugins();
        self::sortAddons($this->EnabledPlugins);
        $this->AvailablePlugins = Gdn::pluginManager()->availablePlugins();
        self::sortAddons($this->AvailablePlugins);
        if ($PluginName != '') {
            if (in_array(strtolower($PluginName), array_map('strtolower', array_keys($this->EnabledPlugins)))) {
                $this->disablePlugin($PluginName, $Filter);
            } else {
                $this->enablePlugin($PluginName, $Filter);
            }
        } else {
            $this->render();
        }
    }