mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-30 14:57:59 +01:00
46 lines
1.3 KiB
Elixir
46 lines
1.3 KiB
Elixir
defmodule PhilomenaWeb.ImageView do
|
|
use PhilomenaWeb, :view
|
|
|
|
def thumb_urls(image, show_hidden) do
|
|
%{
|
|
thumb_tiny: thumb_url(image, show_hidden, :thumb_tiny),
|
|
thumb_small: thumb_url(image, show_hidden, :thumb_small),
|
|
thumb: thumb_url(image, show_hidden, :thumb),
|
|
small: thumb_url(image, show_hidden, :small),
|
|
medium: thumb_url(image, show_hidden, :medium),
|
|
large: thumb_url(image, show_hidden, :large),
|
|
full: thumb_url(image, show_hidden, :full)
|
|
}
|
|
end
|
|
|
|
def thumb_url(image, show_hidden, name) do
|
|
%{year: year, month: month, day: day} = image.created_at
|
|
deleted = image.hidden_from_users
|
|
format = image.image_format
|
|
root = image_url_root()
|
|
|
|
id_fragment =
|
|
if deleted and show_hidden do
|
|
"#{image.id}-#{image.hidden_image_Key}"
|
|
else
|
|
"#{image.id}"
|
|
end
|
|
|
|
"#{root}/#{year}/#{month}/#{day}/#{id_fragment}/#{name}.#{format}"
|
|
end
|
|
|
|
def pretty_url(image, _short, download) do
|
|
%{year: year, month: month, day: day} = image.created_at
|
|
root = image_url_root()
|
|
|
|
view = if download, do: "download", else: "view"
|
|
filename = "#{image.id}"
|
|
format = image.image_format
|
|
|
|
"#{root}/#{view}/#{year}/#{month}/#{day}/#{filename}.#{format}"
|
|
end
|
|
|
|
def image_url_root do
|
|
Application.get_env(:philomena, :image_url_root)
|
|
end
|
|
end
|