@@ 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 = UI\ComponentReflection::parseAnnotation($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 |
@@ 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 |