Moduł:Grafika

Z Nonsensopedii, polskiej encyklopedii humoru
Wersja z dnia 21:45, 21 cze 2020 autorstwa Ostrzyciel (dyskusja • edycje) (dobra, elo, najwyżej walnie)

Moduł dla {{Grafika}}.


local tools = require('Moduł:Narzędzia')
local p = {}

function p.grafika(frame)
	local args = tools.getArgs(frame)
	local file = args['1']
	if not file then return '' end
	file = mw.text.trim(file)
	
	local fileLowerPrefix = mw.ustring.sub(mw.ustring.lower(file), 1, 5)
	if fileLowerPrefix ~= 'plik:' and fileLowerPrefix ~= 'file:' then
		file = 'Plik:' .. file
	end
	
	local smwResult = mw.smw.getQueryResult{
		'[[' .. file .. ']]',
		'?Ma podpis pliku',
		'?Ma autora'
	}
	
	local podpis = args['2'] or args['podpis'] or nil
	if not podpis then
		if #smwResult.results == 1 then
			podpis = smwResult.results[1].printouts['Ma podpis pliku'][1] or ''
		else
			podpis = ''
		end
	end
	
	local autor = nil
	if #smwResult.results == 1 then
		autor = smwResult.results[1].printouts['Ma autora']
	end
	
	local rozmiar = args['rozmiar'] or '350x350px'
	local s = '<div class="center" style="font-size: 0.9em">[[' .. file ..
		'|center|' .. rozmiar .. ']] ' .. podpis
	
	if autor then
		s = s .. '<br><i>' .. mw.language.new('pl'):gender(autor, 'Autor: ', 'Autorka: ')
			.. autor .. '</i>'
	end
		
	s = s .. '<div style="margin: 0.5em auto 0 auto; max-width: 250px;">{{#ratepage:' ..
		file .. '||250px}}</div></div>'
		
	
	return frame:preprocess(s)
end

return p