- if ($receiver['url'] == ActivityPub::PUBLIC_COLLECTION) {
- $receivers[$receiver['type']][] = DI::l10n()->t('Public');
- } else {
- $apcontact = DBA::selectFirst('apcontact', ['name'], ['followers' => $receiver['url']]);
- if (!empty($apcontact['name'])) {
- $receivers[$receiver['type']][] = DI::l10n()->t('Followers (%s)', $apcontact['name']);
- } elseif ($apcontact = APContact::getByURL($receiver['url'], false)) {
- $receivers[$receiver['type']][] = $apcontact['name'];
- } else {
+ switch (Tag::getTargetType($receiver['url'], false)) {
+ case Tag::PUBLIC_COLLECTION:
+ $receivers[$receiver['type']][] = DI::l10n()->t('Public');
+ break;
+ case Tag::GENERAL_COLLECTION:
+ $receivers[$receiver['type']][] = DI::l10n()->t('Collection (%s)', $receiver['name']);
+ break;
+ case Tag::FOLLOWER_COLLECTION:
+ $apcontact = DBA::selectFirst('apcontact', ['name'], ['followers' => $receiver['url']]);
+ $receivers[$receiver['type']][] = DI::l10n()->t('Followers (%s)', $apcontact['name'] ?? $receiver['name']);
+ break;
+ case Tag::ACCOUNT:
+ $apcontact = APContact::getByURL($receiver['url'], false);
+ $receivers[$receiver['type']][] = $apcontact['name'] ?? $receiver['name'];
+ break;
+ default: