Modul:Commons: Porovnání verzí

Z Enviwiki
Skočit na navigaci Skočit na vyhledávání
*>Matěj Suchánek
m (zjednodušení)
(Žádný rozdíl)

Verze z 29. 8. 2015, 07:56

Věci přenesené přes šablony z cs:wiki


--require 'Modul:No globals'

local p = {}

function p.print(frame)
	local parent = frame:getParent()
	local params = parent and parent.args or {}
	local title = mw.title.getCurrentTitle()
	local pagename = title.text
	local namespace = title.namespace
	local link, show, cats = '', '', ''
	local Wikidata = require 'Modul:Wikidata'
	local entity = mw.wikibase.getEntity()
	local sitelink = Wikidata.getSitelinkFromLua{ entity = entity, site = 'commonswiki' }
	local property = Wikidata.formatStatementsFromLua{ entity = entity, property = 'P935', limit = 1 }
	if params[1] and params[1] ~= '' then
		link = params[1]
		if (namespace == 0 or namespace == 14) and not property then
			cats = cats .. '[[Kategorie:Údržba:Commons není na Wikidatech|' .. pagename .. ']]'
		end
	--	local Check = require 'Modul:WikidataCheck'
	--	cats = cats .. Check.wikidatacheck({ args =
	--		{ value = link, category = 'Commons', property = 'P935', namespaces = '0,14' }
	--	}) or ''
	else
		link = property -- upřednostni vlastnost
		if not link then
			link = sitelink -- vlastnost není, zkus odkaz z Wikidat
			if not link or mw.ustring.find(link, "Category:") then
				link = pagename -- nebo název stránky
			end
		end
	end
	-- pokud dostupné, srovnej vlastnost i odkaz
	if (
		sitelink and not mw.ustring.find(sitelink, 'Category:')
		and property and sitelink ~= property
	) then
		cats = cats .. '[[Kategorie:Údržba:Vlastnost a odkaz na Wikidatech se liší|' .. pagename .. ']]'
	end
	if params[2] and params[2] ~= '' then
		show = params[2] -- zobraz lokální hodnotu
	elseif namespace ~= 0 then
		show = pagename
	else
		show = Wikidata.getLabel() -- nebo štítek
		if not show or show == '' then
			show = pagename -- nebo název stránky
			cats = cats .. '[[Kategorie:Údržba:Doplnit štítek na Wikidatech|' .. pagename .. ']]'
		end
	end

	local output = ""

	output = output .. "<span class=\"sisterproject sisterproject-commons\">"
	output = output .. "<span class=\"sisterproject_image\">[[Soubor:Commons-logo.svg|16x16px|alt=Logo Wikimedia Commons|link=Wikimedia Commons]]</span> "
	output = output .. "<span class=\"sisterproject_text\">Galerie "
	output = output .. "<span class=\"sisterproject_text_target\">[[c:" .. link .. "|" .. show .. "]]</span>"
	output = output .. " ve [[Wikimedia Commons]]</span>"
	output = output .. "</span>" .. cats

	output = frame:preprocess(output)

	return output
end

return p