X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fupload.ex;h=9f0adde5b1da66ad07b8b812774784e698f829a0;hb=a15b9cbef1b8b06f4fdbfb224f783ea78d1ce27a;hp=ae461d434532e099976d6c28f724181adc017a93;hpb=5a73cae2be8e9b490ed4a610347998f1120740f0;p=akkoma diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index ae461d434..9f0adde5b 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -4,7 +4,7 @@ defmodule Pleroma.Upload do @moduledoc """ - # Upload + Manage user uploads Options: * `:type`: presets for activity type (defaults to Document) and size limits from app configuration @@ -70,7 +70,7 @@ defmodule Pleroma.Upload do %{ "type" => "Link", "mediaType" => upload.content_type, - "href" => url_from_spec(opts.base_url, url_spec, upload.name) + "href" => url_from_spec(upload, opts.base_url, url_spec) } ], "name" => Map.get(opts, :description) || upload.name @@ -219,12 +219,25 @@ defmodule Pleroma.Upload do tmp_path end - defp url_from_spec(base_url, {:file, path}, name) do - path = URI.encode(path, &char_unescaped?/1) <> "?name=#{URI.encode(name, &char_unescaped?/1)}" + defp url_from_spec(%__MODULE__{name: name}, base_url, {:file, path}) do + path = + URI.encode(path, &char_unescaped?/1) <> + if Pleroma.Config.get([__MODULE__, :link_name], false) do + "?name=#{URI.encode(name, &char_unescaped?/1)}" + else + "" + end + + prefix = + if is_nil(Pleroma.Config.get([__MODULE__, :base_url])) do + "media" + else + "" + end - [base_url, "media", path] + [base_url, prefix, path] |> Path.join() end - defp url_from_spec(_base_url, {:url, url}, _name), do: url + defp url_from_spec(_upload, _base_url, {:url, url}), do: url end