public function getAllowedPermissionNamespaces()
{
$ApplicationManager = Gdn::applicationManager();
$EnabledApplications = $ApplicationManager->EnabledApplications();
$PluginNamespaces = array();
foreach (Gdn::pluginManager()->EnabledPlugins() as $Plugin) {
if (!array_key_exists('RegisterPermissions', $Plugin) || !is_array($Plugin['RegisterPermissions'])) {
continue;
}
foreach ($Plugin['RegisterPermissions'] as $Index => $PermissionName) {
if (is_string($Index)) {
$PermissionName = $Index;
}
$Namespace = substr($PermissionName, 0, strrpos($PermissionName, '.'));
$PluginNamespaces[$Namespace] = true;
}
}
$Result = array_merge(array_keys($EnabledApplications), array_keys($PluginNamespaces));
if (in_array('Dashboard', $Result)) {
$Result[] = 'Garden';
}
return $Result;
}