Actions
Feature #89983
openAllow comma separated list of roles in f:security.ifHasRole
Start date:
2019-12-18
Due date:
% Done:
0%
Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:
Description
Instead of
protected static function evaluateCondition($arguments = null) { $role = $arguments['role']; /** @var UserAspect $userAspect */ $userAspect = GeneralUtility::makeInstance(Context::class)->getAspect('frontend.user'); if (!$userAspect->isLoggedIn()) { return false; } if (is_numeric($role)) { $groupIds = $userAspect->getGroupIds(); return in_array((int)$role, $groupIds, true); } return in_array($role, $userAspect->getGroupNames(), true); }
use
// Code ist not tested. protected static function evaluateCondition($arguments = null) { $role = $arguments['role']; /** @var UserAspect $userAspect */ $userAspect = GeneralUtility::makeInstance(Context::class)->getAspect('frontend.user'); if (!$userAspect->isLoggedIn()) { return false; } if (is_numeric($role)) { $groupIds = $userAspect->getGroupIds(); $roles = array_filter( array_map('intval',explode(',',$role))); return ((array_sect(($roles, $groupIds) >0); } $roles = array_filter( array_map('trim',explode(',',$role))); return (array_sect($roles, $userAspect->getGroupNames())>0); }
Actions