Code Duplication    Length = 24-29 lines in 2 locations

src/IPub/Permissions/Access/AnnotationChecker.php 1 location

@@ 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

src/IPub/Permissions/Access/LatteChecker.php 1 location

@@ 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