| @@ 78-100 (lines=23) @@ | ||
| 75 | * @param string $permission |
|
| 76 | * @param array $acls |
|
| 77 | */ |
|
| 78 | protected function processPermission( |
|
| 79 | AclManager $aclManager, |
|
| 80 | SecurityIdentityInterface $sid, |
|
| 81 | $permission, |
|
| 82 | array $acls |
|
| 83 | ) { |
|
| 84 | $oid = $aclManager->getOid(str_replace('|', ':', $permission)); |
|
| 85 | ||
| 86 | $extension = $aclManager->getExtensionSelector()->select($oid); |
|
| 87 | $maskBuilders = $extension->getAllMaskBuilders(); |
|
| 88 | ||
| 89 | foreach ($maskBuilders as $maskBuilder) { |
|
| 90 | $mask = $maskBuilder->reset()->get(); |
|
| 91 | ||
| 92 | foreach ($acls as $acl) { |
|
| 93 | if ($maskBuilder->hasMask('MASK_' . $acl)) { |
|
| 94 | $mask = $maskBuilder->add($acl)->get(); |
|
| 95 | } |
|
| 96 | } |
|
| 97 | ||
| 98 | $aclManager->setPermission($sid, $oid, $mask); |
|
| 99 | } |
|
| 100 | } |
|
| 101 | } |
|
| 102 | ||
| @@ 89-113 (lines=25) @@ | ||
| 86 | * @param string $permission |
|
| 87 | * @param array $acls |
|
| 88 | */ |
|
| 89 | protected function processPermission( |
|
| 90 | AclManager $aclManager, |
|
| 91 | SecurityIdentityInterface $sid, |
|
| 92 | $permission, |
|
| 93 | array $acls |
|
| 94 | ) { |
|
| 95 | $oid = $aclManager->getOid(str_replace('|', ':', $permission)); |
|
| 96 | ||
| 97 | $extension = $aclManager->getExtensionSelector()->select($oid); |
|
| 98 | $maskBuilders = $extension->getAllMaskBuilders(); |
|
| 99 | ||
| 100 | foreach ($maskBuilders as $maskBuilder) { |
|
| 101 | $mask = $maskBuilder->reset()->get(); |
|
| 102 | ||
| 103 | if (!empty($acls)) { |
|
| 104 | foreach ($acls as $acl) { |
|
| 105 | if ($maskBuilder->hasMask('MASK_' . $acl)) { |
|
| 106 | $mask = $maskBuilder->add($acl)->get(); |
|
| 107 | } |
|
| 108 | } |
|
| 109 | } |
|
| 110 | ||
| 111 | $aclManager->setPermission($sid, $oid, $mask); |
|
| 112 | } |
|
| 113 | } |
|
| 114 | } |
|
| 115 | ||