alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.MediaProxy
alias Pleroma.Repo
+ alias Pleroma.HTML
# TODO: Add cached version.
defp get_replied_to_activities(activities) do
"status.json",
Map.put(opts, :replied_to_activities, replied_to_activities)
)
+ |> Enum.filter(fn x -> not is_nil(x) end)
end
def render(
content: reblogged[:content],
created_at: created_at,
reblogs_count: 0,
+ replies_count: 0,
favourites_count: 0,
reblogged: false,
favourited: false,
emojis =
(activity.data["object"]["emoji"] || [])
|> Enum.map(fn {name, url} ->
- name = HtmlSanitizeEx.strip_tags(name)
+ name = HTML.strip_tags(name)
url =
- HtmlSanitizeEx.strip_tags(url)
+ HTML.strip_tags(url)
|> MediaProxy.url()
- %{shortcode: name, url: url, static_url: url}
+ %{shortcode: name, url: url, static_url: url, visible_in_picker: false}
end)
+ content =
+ render_content(object)
+ |> HTML.filter_tags(User.html_filter_policy(opts[:for]))
+
%{
id: to_string(activity.id),
uri: object["id"],
in_reply_to_id: reply_to && to_string(reply_to.id),
in_reply_to_account_id: reply_to_user && to_string(reply_to_user.id),
reblog: nil,
- content: render_content(object),
+ content: content,
created_at: created_at,
reblogs_count: announcement_count,
+ replies_count: 0,
favourites_count: like_count,
reblogged: !!repeated,
favourited: !!favorited,
}
end
+ def render("status.json", _) do
+ nil
+ end
+
def render("attachment.json", %{attachment: attachment}) do
- [attachment | _] = attachment["url"]
- media_type = attachment["mediaType"] || attachment["mimeType"]
- href = attachment["href"]
+ [attachment_url | _] = attachment["url"]
+ media_type = attachment_url["mediaType"] || attachment_url["mimeType"] || "image"
+ href = attachment_url["href"]
type =
cond do
end
end
+ def render_content(%{"type" => "Video"} = object) do
+ name = object["name"]
+
+ content =
+ if !!name and name != "" do
+ "<p><a href=\"#{object["id"]}\">#{name}</a></p>#{object["content"]}"
+ else
+ object["content"]
+ end
+
+ content
+ end
+
def render_content(%{"type" => "Article"} = object) do
summary = object["name"]
object["content"]
end
- HtmlSanitizeEx.basic_html(content)
+ content
end
- def render_content(object) do
- HtmlSanitizeEx.basic_html(object["content"])
- end
+ def render_content(object), do: object["content"]
end