/** * * @param PermissionUpdated $info */ public function handle(PermissionUpdated $info) { $type = $info->getType(); $id = $info->getId(); if (strpos($type, 'group') !== false) { $groupMembers = Sentinel::getUserGroupProvider()->getMembersGroups($id); if (!empty($groupMembers)) { if (strpos($type, 'management') !== false) { $provider = Sentinel::getPermissionManagementProvider(); } else { $provider = Sentinel::getPermissionProvider(); } foreach ($groupMembers as $userID => $userGroups) { $provider->updateUserGroupPermissions($userID, $userGroups); } } } }
public function handle(PermissionUpdated $info) { $type = $info->getType(); $id = $info->getId(); if (strpos($type, 'management') !== false) { $entity = '%s_permission_management_%d'; } else { $entity = '%s_permissions_%d'; } if ($type == "group" || $type == "group_management") { $groupMembers = Sentinel::getUserGroupProvider()->getMembers($id)->get(['users.id']); if ($groupMembers->count() > 0) { foreach ($groupMembers as $member) { Cache::forget(sprintf($entity, 'user', $member->id)); Cache::forget(sprintf($entity, 'group', $member->id)); Cache::forget('backend_menu_' . $member->id); } } } else { Cache::forget(sprintf($entity, 'user', $id)); Cache::forget(sprintf($entity, 'group', $id)); Cache::forget('backend_menu_' . $id); } }