diff --git a/include/conversation.php b/include/conversation.php index 3707962576..7d0ec0b724 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -673,7 +673,11 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ $isstarred = "unstarred"; $lock = false; - $likebuttons = false; + $likebuttons = [ + 'like' => null, + 'dislike' => null, + 'share' => null, + ]; $body = Item::prepareBody($item, true, $preview); diff --git a/src/Object/Post.php b/src/Object/Post.php index 7b8f4b00d6..31cbe7a7e1 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -151,7 +151,11 @@ class Post ]; } $sparkle = ''; - $buttons = ''; + $buttons = [ + 'like' => null, + 'dislike' => null, + 'share' => null, + ]; $dropping = false; $pinned = ''; $pin = false; @@ -337,10 +341,8 @@ class Post } if ($conv->isWritable()) { - $buttons = [ - 'like' => [DI::l10n()->t("I like this \x28toggle\x29"), DI::l10n()->t("like")], - 'dislike' => [DI::l10n()->t("I don't like this \x28toggle\x29"), DI::l10n()->t("dislike")], - ]; + $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('Share this'), DI::l10n()->t('share')]; } @@ -372,18 +374,14 @@ class Post $owner_name_e = $this->getOwnerName(); // Disable features that aren't available in several networks - if (!in_array($item["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA]) && isset($buttons["dislike"])) { - unset($buttons["dislike"]); + if ($buttons["dislike"] && !in_array($item["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA])) { + $buttons["dislike"] = false; $isevent = false; $tagger = ''; } - if (($item["network"] == Protocol::FEED) && isset($buttons["like"])) { - unset($buttons["like"]); - } - - if (($item["network"] == Protocol::MAIL) && isset($buttons["like"])) { - unset($buttons["like"]); + if ($buttons["like"] && in_array($item["network"], [Protocol::FEED, Protocol::MAIL])) { + $buttons["like"] = false; } $tags = Term::populateTagsFromItem($item);