/** * addPermissions * * @param $roles * @param $resourceId * * @return mixed|void */ public function addPermissions($roles, $resourceId) { if (empty($roles)) { return; } $allRoles = $this->aclDataService->getAllRoles()->getData(); // If all roles are selected, then no roles should be set (all roles allowed) // This assumes that the current rules have been deleted or they are empty if (count($roles) == count($allRoles)) { return $allRoles; } foreach ($roles as $role) { $this->addPermission($role['roleId'], $resourceId); } if (count($roles) > 0) { $this->aclDataService->createRule($this->getAclRule('guest', $resourceId, 'deny')); } return $roles; }