SettingsController::applications PHP Method

applications() public method

Application management screen.
Since: 2.0.0
public applications ( string $Filter = '', string $ApplicationName = '' )
$Filter string 'enabled', 'disabled', or 'all' (default)
$ApplicationName string Unique ID of app to be modified.
    public function applications($Filter = '', $ApplicationName = '')
    {
        $this->permission('Garden.Settings.Manage');
        // Page setup
        $this->addJsFile('addons.js');
        $this->addJsFile('applications.js');
        $this->title(t('Applications'));
        $this->setHighlightRoute('dashboard/settings/applications');
        if (!in_array($Filter, array('enabled', 'disabled'))) {
            $Filter = 'all';
        }
        $this->Filter = $Filter;
        $ApplicationManager = Gdn::applicationManager();
        $this->AvailableApplications = $ApplicationManager->availableVisibleApplications();
        $this->EnabledApplications = $ApplicationManager->enabledVisibleApplications();
        if ($ApplicationName != '') {
            $addon = Gdn::addonManager()->lookupAddon($ApplicationName);
            if (!$addon) {
                throw notFoundException('Application');
            }
            if (Gdn::addonManager()->isEnabled($ApplicationName, Addon::TYPE_ADDON)) {
                $this->disableApplication($ApplicationName, $Filter);
            } else {
                $this->enableApplication($ApplicationName, $Filter);
            }
        } else {
            $this->render();
        }
    }