- if (!empty($requester) && $item['origin']) {
- $requester_id = Contact::getIdForURL($requester, $item['uid']);
- if (!empty($requester_id)) {
- $permissionSets = DI::permissionSet()->selectByContactId($requester_id, $item['uid']);
- if (!empty($permissionSets)) {
- $psid = array_merge($permissionSets->column('id'),
- [DI::permissionSet()->getIdFromACL($item['uid'], '', '', '', '')]);
- $validated = in_array($item['psid'], $psid);
- }
- }
- }
- }
-
- if ($validated) {
- // Valid items are original post or posted from this node (including in the case of a forum)
- $validated = ($item['origin'] || (parse_url($item['author-link'], PHP_URL_HOST) == parse_url(DI::baseUrl()->get(), PHP_URL_HOST)));
+ if (!empty($requester)) {
+ $receivers = Item::enumeratePermissions($item, false);
+ $receivers[] = $item['contact-id'];