only include mentions when evaluating AUDIENCE_FOLLOWERS

This commit is contained in:
Mike Macgirvin 2024-06-16 11:19:12 +10:00
parent 1c2075a1c0
commit bba34a23d0
2 changed files with 4 additions and 4 deletions

View file

@ -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']),

View file

@ -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;