From: Evan Prodromou Date: Fri, 23 Mar 2012 16:55:39 +0000 (-0400) Subject: Make blocks work for non-subscription deliveries X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=3e46a9b164be89cfb8de45c1b1ad9f5272446704;p=quix0rs-gnu-social.git Make blocks work for non-subscription deliveries --- diff --git a/classes/Notice.php b/classes/Notice.php index a0b2e91065..a84dcf6ed3 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1008,10 +1008,7 @@ class Notice extends Managed_DataObject $users = $ptag->getUserSubscribers(); foreach ($users as $id) { if (!array_key_exists($id, $ni)) { - $user = User::staticGet('id', $id); - if (!$user->hasBlocked($profile)) { - $ni[$id] = NOTICE_INBOX_SOURCE_PROFILE_TAG; - } + $ni[$id] = NOTICE_INBOX_SOURCE_PROFILE_TAG; } } } @@ -1020,23 +1017,24 @@ class Notice extends Managed_DataObject if (!array_key_exists($recipient, $ni)) { $ni[$recipient] = NOTICE_INBOX_SOURCE_REPLY; } + } - // Exclude any deleted, non-local, or blocking recipients. - $profile = $this->getProfile(); - $originalProfile = null; - if ($this->repeat_of) { - // Check blocks against the original notice's poster as well. - $original = Notice::staticGet('id', $this->repeat_of); - if ($original) { - $originalProfile = $original->getProfile(); - } + // Exclude any deleted, non-local, or blocking recipients. + $profile = $this->getProfile(); + $originalProfile = null; + if ($this->repeat_of) { + // Check blocks against the original notice's poster as well. + $original = Notice::staticGet('id', $this->repeat_of); + if ($original) { + $originalProfile = $original->getProfile(); } - foreach ($ni as $id => $source) { - $user = User::staticGet('id', $id); - if (empty($user) || $user->hasBlocked($profile) || - ($originalProfile && $user->hasBlocked($originalProfile))) { - unset($ni[$id]); - } + } + + foreach ($ni as $id => $source) { + $user = User::staticGet('id', $id); + if (empty($user) || $user->hasBlocked($profile) || + ($originalProfile && $user->hasBlocked($originalProfile))) { + unset($ni[$id]); } }