diff --git a/include/permissions.php b/include/permissions.php index 70724fe61..7005f0c83 100644 --- a/include/permissions.php +++ b/include/permissions.php @@ -516,7 +516,7 @@ function check_list_permissions($uid, $arr, $perm) return($result); } -function check_deliver_permissions($item, $arr) +function check_deliver_permissions($item, $arr, $includeMentions = false) { $result = []; $uid = $item['uid'] ?? 0; @@ -565,7 +565,7 @@ function check_deliver_permissions($item, $arr) } } // Send mentions even if you have no permission to do so. They might allow it. - if ($terms) { + if ($terms && $includeMentions) { foreach ($terms as $term) { $r = q("select * from hubloc where (hubloc_hash = '%s' or hubloc_id_url = '%s') and hubloc_deleted = 0", dbesc($term['url']), diff --git a/src/Daemon/Notifier.php b/src/Daemon/Notifier.php index 9c4242240..21bd5205a 100644 --- a/src/Daemon/Notifier.php +++ b/src/Daemon/Notifier.php @@ -497,7 +497,7 @@ class Notifier implements DaemonInterface foreach ($r as $rv) { self::$recipients[] = $rv['abook_xchan']; } - self::$recipients = check_deliver_permissions($target_item, self::$recipients); + self::$recipients = check_deliver_permissions($target_item, self::$recipients, true); } } elseif (($audience & AUDIENCE_SENDER) || ($audience & AUDIENCE_FOLLOWERS) @@ -524,7 +524,7 @@ class Notifier implements DaemonInterface } } } - self::$recipients = check_deliver_permissions($target_item, $sendto); + self::$recipients = check_deliver_permissions($target_item, $sendto, ($audience & AUDIENCE_FOLLOWERS)); } else { self::$private = false;