From 69d157c3190d41d62a8973d1b9871506bc63edf2 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 10 Apr 2017 00:08:14 -0400 Subject: [PATCH] Add spoiler tags for Mastodon Content Warning --- include/ostatus.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/ostatus.php b/include/ostatus.php index 9b78495093..73fcb47572 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -353,14 +353,21 @@ class ostatus { continue; } - $item["body"] = add_page_info_to_body(html2bbcode($xpath->query('atom:content/text()', $entry)->item(0)->nodeValue)); $item["object-type"] = $xpath->query('activity:object-type/text()', $entry)->item(0)->nodeValue; - if (($item["object-type"] == ACTIVITY_OBJ_BOOKMARK) OR ($item["object-type"] == ACTIVITY_OBJ_EVENT)) { + if ($item["object-type"] == ACTIVITY_OBJ_NOTE && $xpath->evaluate('boolean(atom:summary)', $entry)) { + // Mastodon Content Warning + $clear_text = $xpath->query('atom:summary/text()', $entry)->item(0)->nodeValue; + $hidden_text = $xpath->query('atom:content/text()', $entry)->item(0)->nodeValue; + + $item["body"] = add_page_info_to_body(html2bbcode($clear_text) . '[spoiler]' . html2bbcode($hidden_text) . '[/spoiler]'); + } elseif (($item["object-type"] == ACTIVITY_OBJ_BOOKMARK) OR ($item["object-type"] == ACTIVITY_OBJ_EVENT)) { $item["title"] = $xpath->query('atom:title/text()', $entry)->item(0)->nodeValue; $item["body"] = $xpath->query('atom:summary/text()', $entry)->item(0)->nodeValue; } elseif ($item["object-type"] == ACTIVITY_OBJ_QUESTION) { $item["title"] = $xpath->query('atom:title/text()', $entry)->item(0)->nodeValue; + } else { + $item["body"] = add_page_info_to_body(html2bbcode($xpath->query('atom:content/text()', $entry)->item(0)->nodeValue)); } $item["object"] = $xml; $item["verb"] = $xpath->query('activity:verb/text()', $entry)->item(0)->nodeValue;