kewljuice / calibr8_civicrm
CiviCRM + Drupal 8 项目的校准模块
1.4
2022-12-27 17:25 UTC
Requires
- composer/installers: ~1.0
README
此模块像其他 Drupal 模块一样安装。
-
使用 Drush
drush pm-enable -y calibr8_civicrm
-
使用 Composer
composer config repositories.calibr8_civicrm vcs https://github.com/kewljuice/calibr8_civicrm
composer require calibrate/calibr8_civicrm
开发
// Export CiviCRM permissions as JSON.
// Fetch roles.
$permissions = \Drupal::service('user.permissions')->getPermissions();
$permissions_by_provider = [];
foreach ($permissions as $key => $permission) {
$permissions_by_provider[$permission['provider']][] = $key;
}
// Loop all roles from System.
$roles = \Drupal\user\Entity\Role::loadMultiple();
$permissions_by_role = [];
foreach ($roles as $role) {
$perms = $role->getPermissions();
foreach ($perms as $perm) {
if (in_array($perm, $permissions_by_provider['civicrm'])) {
$permissions_by_role[$role->id()][] = $perm;
}
}
}
// Export.
$permissions_by_role = json_encode($permissions_by_role);
dpm($permissions_by_role);