function acb_get_modules in Access Control Bridge 8
Same name and namespace in other branches
- 7 acb.module \acb_get_modules()
Returns a list of all active access control modules.
Parameters
bool $self: Boolean indicating if acb itself should be included in the list.
Return value
array An array containing all active access controlling modules.
3 calls to acb_get_modules()
- acb_modules_installed in ./
acb.module - Implements hook_modules_installed().
- acb_node_access_records_alter in ./
acb.module - Implements hook_node_access_records_alter().
- acb_node_grants_alter in ./
acb.module - Implements hook_node_grants_alter().
File
- ./
acb.module, line 36 - Drupal hooks and functions for the acb module.
Code
function acb_get_modules($self = FALSE) {
$modules = array_unique(array_merge(\Drupal::moduleHandler()
->getImplementations('node_grants'), \Drupal::moduleHandler()
->getImplementations('node_access_records')));
// Exclude ACL as it doesn't control anything on its own.
$exclude = [
'acl',
];
if ($self) {
$exclude[] = 'acb';
}
// Sort the list so the modules are always returned in the same order.
sort($modules);
return array_diff($modules, $exclude);
}