Přeskočit na obsah

Modul:Commons

Tuto stránku mohou editovat jen zavedení uživatelé a správci.
Z Wikipedie, otevřené encyklopedie

function makeFormat(frame)
	local parent = frame:getParent()
	local params = parent and parent.args or {}
	local pagename = mw.title.getCurrentTitle().text
	local link, show, cats = '', '', ''
	local Wikidata = require 'Modul:Wikidata'
	local sitelink = Wikidata.getSitelink({ args = { site = 'commonswiki' } })
	local property = Wikidata.formatStatementsFromLua({ property = 'P935', limit = 1 })
	if params[1] and params[1] ~= '' then
		link = params[1]
	--	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 link == '' then
			link = sitelink -- vlastnost není, zkus odkaz z Wikidat
			if link == '' or string.find(link,"Category:") then
				link = pagename -- nebo název stránky
			end
		end
	end
	-- pokud dostupné, srovnej vlastnost i odkaz
	if (
		sitelink ~= '' and not string.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
	else
		show = Wikidata.getLabel() -- nebo štítek
		if 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

local p = {}

function p.print(frame)
	return makeFormat(frame)
end

return p