X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FPermissionTooltip.php;h=dbfdd5ef26c63acdf7e9a14eb3721263c3dbce06;hb=e1dfcc35d7a93c54bf7b751b9c2a3654470f7b05;hp=c1ef4c2b4b794a5286cbd9d22ece63f98314d54e;hpb=2f3f41ed9cdb4229d78bdf2f91b0617403a8dd62;p=friendica.git diff --git a/src/Module/PermissionTooltip.php b/src/Module/PermissionTooltip.php index c1ef4c2b4b..dbfdd5ef26 100644 --- a/src/Module/PermissionTooltip.php +++ b/src/Module/PermissionTooltip.php @@ -1,6 +1,6 @@ $referenceId, 'uid' => [0, DI::userSession()->getLocalUserId()]]; if ($type == 'item') { - $fields = ['uid', 'psid', 'private', 'uri-id']; - $model = Post::selectFirst($fields, $condition); + $fields = ['uid', 'psid', 'private', 'uri-id', 'origin', 'network']; + $model = Post::selectFirst($fields, $condition, ['order' => ['uid' => true]]); + + if ($model['origin'] || ($model['network'] != Protocol::ACTIVITYPUB)) { + $permissionSet = DI::permissionSet()->selectOneById($model['psid'], $model['uid']); + $model['allow_cid'] = $permissionSet->allow_cid; + $model['allow_gid'] = $permissionSet->allow_gid; + $model['deny_cid'] = $permissionSet->deny_cid; + $model['deny_gid'] = $permissionSet->deny_gid; + } else { + $model['allow_cid'] = []; + $model['allow_gid'] = []; + $model['deny_cid'] = []; + $model['deny_gid'] = []; + } } else { $fields = ['uid', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']; $model = DBA::selectFirst($type, $fields, $condition); @@ -66,15 +79,7 @@ class PermissionTooltip extends \Friendica\BaseModule throw new HttpException\NotFoundException(DI::l10n()->t('Model not found')); } - if (isset($model['psid'])) { - $permissionSet = DI::permissionSet()->selectOneById($model['psid'], $model['uid']); - $model['allow_cid'] = $permissionSet->allow_cid; - $model['allow_gid'] = $permissionSet->allow_gid; - $model['deny_cid'] = $permissionSet->deny_cid; - $model['deny_gid'] = $permissionSet->deny_gid; - } - - // Kept for backwards compatiblity + // Kept for backwards compatibility Hook::callAll('lockview_content', $model); if ($type == 'item') { @@ -161,11 +166,10 @@ class PermissionTooltip extends \Friendica\BaseModule } if (!empty($l)) { - echo $o . implode(', ', $l); + System::httpExit($o . implode(', ', $l)); } else { - echo $o . $receivers; + System::httpExit($o . $receivers);; } - System::exit(); } /** @@ -186,7 +190,7 @@ class PermissionTooltip extends \Friendica\BaseModule } $receivers = []; - foreach (Tag::getByURIId($uriId, [Tag::TO, Tag::CC, Tag::BCC]) as $receiver) { + foreach (Tag::getByURIId($uriId, [Tag::TO, Tag::CC, Tag::BCC, Tag::AUDIENCE, Tag::ATTRIBUTED]) as $receiver) { // We only display BCC when it contains the current user if (($receiver['type'] == Tag::BCC) && ($receiver['url'] != $own_url)) { continue; @@ -232,6 +236,12 @@ class PermissionTooltip extends \Friendica\BaseModule case Tag::BCC: $output .= DI::l10n()->t('BCC: %s
', implode(', ', $receiver)); break; + case Tag::AUDIENCE: + $output .= DI::l10n()->t('Audience: %s
', implode(', ', $receiver)); + break; + case Tag::ATTRIBUTED: + $output .= DI::l10n()->t('Attributed To: %s
', implode(', ', $receiver)); + break; } }