public function enableApplication($addonName, $filter)
{
if (!Gdn::request()->isAuthenticatedPostBack(true)) {
throw new Exception('Requires POST', 405);
}
$this->permission('Garden.Settings.Manage');
$applicationManager = Gdn::applicationManager();
$action = 'none';
if ($filter == 'disabled') {
$action = 'SlideUp';
}
$addon = Gdn::addonManager()->lookupAddon($addonName);
try {
$applicationManager->checkRequirements($addonName);
$this->informMessage(sprintf(t('%s Enabled.'), val('name', $addon->getInfo(), t('Application'))));
} catch (Exception $e) {
$this->Form->addError(strip_tags($e->getMessage()));
}
if ($this->Form->errorCount() == 0) {
$validation = new Gdn_Validation();
$applicationManager->registerPermissions($addonName, $validation);
$applicationManager->enableApplication($addonName, $validation);
$this->Form->setValidationResults($validation->results());
}
$this->handleAddonToggle($addonName, $addon->getInfo(), 'applications', true, $filter, $action);
}