Modul:Commonscat

Z Enviwiki
Skočit na navigaci Skočit na vyhledávání

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, limit = 1, property = 'P373' }
	if params[1] and params[1] ~= '' then
		link = 'Category:' .. params[1]
		if (
			(namespace == 0 or namespace == 14) and
			(not params['lokální'] or params['lokální'] ~= 'ano')
		) then
			if not property then
				cats = cats .. '[[Kategorie:Údržba:Commonscat není na Wikidatech|' .. pagename .. ']]'
			end
		--	local Check = require 'Modul:WikidataCheck'
		--	cats = cats .. Check.wikidatacheck({ args =
		--		{ value = link, category = 'Commonscat', property = 'P373', namespaces = '0,14' }
		--	}) or ''
		end
	else
		if property then
			link = 'Category:' .. property -- upřednostni vlastnost
		else
			link = sitelink -- vlastnost není, zkus odkaz z Wikidat
			if not (link and mw.ustring.find(link, 'Category:')) then
				link = 'Category:' .. pagename -- nebo název stránky
			end
		end
	end
	-- pokud dostupné, srovnej vlastnost i odkaz
	if (
		sitelink and mw.ustring.find(sitelink, 'Category:')
		and property and sitelink ~= ('Category:' .. 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í popis
	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\">Obrázky, zvuky či videa k tématu "
	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