static $permissions = NULL;
if (!$permissions) {
+ $config = CRM_Core_Config::singleton();
$prefix = ts('CiviCRM') . ': ';
$permissions = self::getCorePermissions();
$permissions['administer Multiple Organizations'] = $prefix . ts('administer Multiple Organizations');
}
- $config = CRM_Core_Config::singleton();
-
if (!$all) {
$components = CRM_Core_Component::getEnabledComponents();
}
}
// Add any permissions defined in hook_civicrm_permission implementations.
- $config = CRM_Core_Config::singleton();
$module_permissions = $config->userPermissionClass->getAllModulePermissions();
$permissions = array_merge($permissions, $module_permissions);
}
return $permissions;
}
+ static function getAnonymousPermissionsWarnings() {
+ static $permissions = array();
+ if (empty($permissions)) {
+ $permissions = array(
+ 'administer CiviCRM'
+ );
+ $components = CRM_Core_Component::getComponents();
+ foreach ($components as $comp) {
+ if (!method_exists($comp, 'getAnonymousPermissionWarnings')) {
+ continue;
+ }
+ $permissions = array_merge($permissions, $comp->getAnonymousPermissionWarnings());
+ }
+ }
+ return $permissions;
+ }
+
+ static function validateForPermissionWarnings($anonymous_perms) {
+ return array_intersect($anonymous_perms, self::getAnonymousPermissionsWarnings());
+ }
+
static function getCorePermissions() {
$prefix = ts('CiviCRM') . ': ';
$permissions = array(