Moduł:Pdmix

Z Wikiźródeł, wolnej biblioteki
Przejdź do nawigacji Przejdź do wyszukiwania

Generuje komunikat dla Szablonu {{MixPD}}


function pdtext( frame )
	local args = frame.args
	local wynik = "''Tekst jest '''[[Wikiźródła:Prawa autorskie|własnością publiczną]]''' ('''public domain'''). Szczegóły licencji na "
	local aut={}
	local tlum={}
	for k,v in pairs(args) do
		if (k == 1 or string.sub(k,1,1) == 'a') and (v ~= '' and v ~= nil) then
			table.insert (aut,1,v)
		end
		if (k == 2 or string.sub(k,1,1) == 't') and (v ~= '' and v ~= nil) then
			table.insert (tlum,1,v)
		end
	end

	if (#aut + #tlum) > 1 then
		wynik = wynik .. "stronach "
	else
		wynik = wynik .. "stronie "		
	end
	
	if #aut > 1 then
		wynik = wynik .. "autorów:"
	elseif #aut == 1 then
		wynik = wynik .. "autora:"
	end
	
	for k,v in pairs(aut) do
		wynik = wynik .. " [[Autor:" .. v .. "|" .. v .. "]],"
	end
	
	if #aut > 0 then
	wynik = string.sub( wynik, 1, #wynik-1 )
	end

	if #tlum > 0 and #aut > 0 then
		wynik = wynik .. " i"
	else
		wynik = wynik .. " "
	end
	
	if #tlum > 1 then
		wynik = wynik .. " tłumaczy:"
	elseif #tlum == 1 then
		wynik = wynik .. " tłumacza:"
	end
	
	for k,v in pairs(tlum) do
		wynik = wynik .. " [[Autor:" .. v .. "|" .. v .. "]],"
	end

	wynik = string.sub( wynik, 1, #wynik-1 )
	wynik = wynik .. ".''"
	return wynik
end

function pdkod ( pdkomunikat )
	local div_image = mw.html.create( 'div' )
	div_image
		:css( 'float', 'left' )
		:wikitext( '[[Image:PD-icon.svg|20px|alt=|link=]]' )
	local div_main = mw.html.create( 'div' )
	div_main
		:css( {['text-align']='center', ['font-size']='90%'} )
		:node(div_image)	
		:wikitext( pdkomunikat )
	local div_ramka = mw.html.create( 'div' )
	div_ramka
		:attr('id', 'Template_law')
		:addClass( 'toccolours' )
		:css( 'border-width', '1px 0 0 0' )
		:node(div_main)
	local kod = '<br>' .. tostring(div_ramka:allDone())
    return kod

end
local p = {}
function p.pdtext( frame )
    return pdkod( pdtext( frame:getParent() ) )
end
return p