1 | <?php |
||
19 | class UserGroups extends Base |
||
20 | { |
||
21 | /** @var string[] */ |
||
22 | private $mappedPermissions = []; |
||
23 | |||
24 | //============================================================================================================== |
||
25 | //================================================ EXPORT ==================================================== |
||
26 | //============================================================================================================== |
||
27 | |||
28 | /** |
||
29 | * Export user groups. |
||
30 | * |
||
31 | * @param UserGroupModel[] $groups |
||
32 | * |
||
33 | * @return array |
||
34 | */ |
||
35 | 4 | public function export(array $groups = []) |
|
49 | |||
50 | /** |
||
51 | * Get group definition. |
||
52 | * |
||
53 | * @param UserGroupModel $group |
||
54 | * |
||
55 | * @return array |
||
56 | */ |
||
57 | 3 | private function getGroupDefinition(UserGroupModel $group) |
|
64 | |||
65 | /** |
||
66 | * Get group permissions. |
||
67 | * |
||
68 | * @param $group |
||
69 | * |
||
70 | * @return array|string |
||
71 | */ |
||
72 | 3 | private function getGroupPermissionDefinitions($group) |
|
87 | |||
88 | /** |
||
89 | * Get a mapping of all permissions from lowercase to camelcase |
||
90 | * savePermissions only accepts camelcase. |
||
91 | * |
||
92 | * @return array |
||
93 | */ |
||
94 | 4 | private function getAllMappedPermissions() |
|
103 | |||
104 | /** |
||
105 | * @param array $permissions |
||
106 | * |
||
107 | * @return array |
||
108 | */ |
||
109 | 4 | private function getMappedPermissions(array $permissions) |
|
121 | |||
122 | //============================================================================================================== |
||
123 | //================================================ IMPORT ==================================================== |
||
124 | //============================================================================================================== |
||
125 | |||
126 | /** |
||
127 | * Import usergroups. |
||
128 | * |
||
129 | * @param array $groupDefinitions |
||
130 | * @param bool $force if set to true items not in the import will be deleted |
||
131 | * |
||
132 | * @return Result |
||
133 | */ |
||
134 | 9 | public function import(array $groupDefinitions, $force = false) |
|
167 | |||
168 | /** |
||
169 | * Get permissions. |
||
170 | * |
||
171 | * @param array $permissionDefinitions |
||
172 | * |
||
173 | * @return array |
||
174 | */ |
||
175 | 4 | private function getPermissions(array $permissionDefinitions) |
|
184 | |||
185 | //============================================================================================================== |
||
186 | //=============================================== HELPERS ==================================================== |
||
187 | //============================================================================================================== |
||
188 | |||
189 | /** |
||
190 | * @param BaseElementModel[] $mapping AssetSources or Sections |
||
191 | * @param string $permission |
||
192 | * @param bool $export is it an export or import |
||
193 | * |
||
194 | * @return string mapped permission |
||
195 | */ |
||
196 | private function mapPermissionSource(array $mapping, $permission, $export) |
||
214 | } |
||
215 |