| @@ 180-203 (lines=24) @@ | ||
| 177 | * |
|
| 178 | * @return bool |
|
| 179 | */ |
|
| 180 | protected function checkPermission(Utils\ArrayHash $element) : bool |
|
| 181 | { |
|
| 182 | // Check if element has permission parameter |
|
| 183 | if ($element->offsetExists('permission')) { |
|
| 184 | $permissions = (array) $element->offsetGet('permission'); |
|
| 185 | ||
| 186 | foreach ($permissions as $permission) { |
|
| 187 | // Parse resource & privilege from permission |
|
| 188 | list($resource, $privilege) = explode(Entities\IPermission::DELIMITER, $permission); |
|
| 189 | ||
| 190 | // Remove white spaces |
|
| 191 | $resource = Utils\Strings::trim($resource); |
|
| 192 | $privilege = Utils\Strings::trim($privilege); |
|
| 193 | ||
| 194 | if ($this->user->isAllowed($resource, $privilege)) { |
|
| 195 | return TRUE; |
|
| 196 | } |
|
| 197 | } |
|
| 198 | ||
| 199 | return FALSE; |
|
| 200 | } |
|
| 201 | ||
| 202 | return TRUE; |
|
| 203 | } |
|
| 204 | ||
| 205 | /** |
|
| 206 | * @param Utils\ArrayHash $element |
|
| @@ 188-216 (lines=29) @@ | ||
| 185 | * |
|
| 186 | * @return bool |
|
| 187 | */ |
|
| 188 | private function checkPermission($element) : bool |
|
| 189 | { |
|
| 190 | // Check if element has @Secured\Permission annotation |
|
| 191 | if ($element->hasAnnotation('Secured\Permission')) { |
|
| 192 | $permissions = $this->getElementAttribute($element, 'Secured\Permission'); |
|
| 193 | ||
| 194 | foreach ($permissions as $permission) { |
|
| 195 | // Check if parameters are defined |
|
| 196 | if ($permission === TRUE) { |
|
| 197 | continue; |
|
| 198 | } |
|
| 199 | ||
| 200 | // Parse resource & privilege from permission |
|
| 201 | list($resource, $privilege) = explode(Entities\IPermission::DELIMITER, $permission); |
|
| 202 | ||
| 203 | // Remove white spaces |
|
| 204 | $resource = Utils\Strings::trim($resource); |
|
| 205 | $privilege = Utils\Strings::trim($privilege); |
|
| 206 | ||
| 207 | if ($this->user->isAllowed($resource, $privilege)) { |
|
| 208 | return TRUE; |
|
| 209 | } |
|
| 210 | } |
|
| 211 | ||
| 212 | return FALSE; |
|
| 213 | } |
|
| 214 | ||
| 215 | return TRUE; |
|
| 216 | } |
|
| 217 | ||
| 218 | /** |
|
| 219 | * @param UI\ComponentReflection|UI\MethodReflection $element |
|