kewljuice / calibr8_civicrm

CiviCRM + Drupal 8 项目的校准模块

安装数: 1,573

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:drupal-custom

1.4 2022-12-27 17:25 UTC

This package is auto-updated.

Last update: 2024-09-27 21:45:09 UTC


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);