$shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != Item::PRIVATE;
$announceable = $shareable && in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::TWITTER]);
+ // On Diaspora only toplevel posts can be reshared
+ if ($announceable && ($item['network'] == Protocol::DIASPORA) && ($item['gravity'] != GRAVITY_PARENT)) {
+ $announceable = false;
+ }
+
$edpost = false;
if (local_user()) {
$responses = [];
foreach ($response_verbs as $value => $verb) {
$responses[$verb] = [
- 'self' => $conv_responses[$verb][$item['uri'] . '-self'] ?? 0,
- 'output' => !empty($conv_responses[$verb][$item['uri']]) ? format_like($conv_responses[$verb][$item['uri']], $conv_responses[$verb][$item['uri'] . '-l'], $verb, $item['uri']) : '',
+ 'self' => $conv_responses[$verb][$item['uri']]['self'] ?? 0,
+ 'output' => !empty($conv_responses[$verb][$item['uri']]) ? format_activity($conv_responses[$verb][$item['uri']]['links'], $verb, $item['uri']) : '',
];
}
$buttons['like'] = [DI::l10n()->t("I like this \x28toggle\x29") , DI::l10n()->t("like")];
$buttons['dislike'] = [DI::l10n()->t("I don't like this \x28toggle\x29"), DI::l10n()->t("dislike")];
if ($shareable) {
- $buttons['share'] = [DI::l10n()->t('Quote and share this'), DI::l10n()->t('Quoted Share')];
+ $buttons['share'] = [DI::l10n()->t('Quote and share this'), DI::l10n()->t('Quote Share')];
}
if ($announceable) {
$buttons['announce'] = [DI::l10n()->t('Share this'), DI::l10n()->t('Share')];