$this->add('text', 'icon', ts('Icon'), ['class' => 'crm-icon-picker', 'title' => ts('Choose Icon'), 'allowClear' => TRUE]);
+ $getPerms = (array) \Civi\Api4\Permission::get(0)
+ ->addWhere('group', 'IN', ['civicrm', 'cms', 'const'])
+ ->setOrderBy(['group' => 'ASC', 'name' => 'ASC'])
+ ->execute();
$permissions = [];
- foreach (CRM_Core_Permission::basicPermissions(TRUE, TRUE) as $id => $vals) {
- $permissions[] = ['id' => $id, 'text' => $vals[0], 'description' => (array) CRM_Utils_Array::value(1, $vals)];
+ foreach ($getPerms as $perm) {
+ $permissions[] = ['id' => $perm['name'], 'text' => $perm['title'], 'description' => $perm['description'] ?? ''];
}
$this->add('select2', 'permission', ts('Permission'), $permissions, FALSE,
['placeholder' => ts('Unrestricted'), 'class' => 'huge', 'multiple' => TRUE]