Модул:Корисник:Ђидо/Инфокутија

С Википедије, слободне енциклопедије
Документација модула[прикажи] [уреди] [историја] [освежи]

Овај модул имплементира шаблон Корисник:Ђидо/Инфокутија

local modul = {}; 

local funkcije = require('Модул:Корисник:Ђидо/Инфокутија/функције')

local parametriVarijante = {
	nadnaslov = { "наднаслов", "префикс", "prefix" },
	naslov = { "наслов", "naslov", "име", "title" },
	podnaslov = { "поднаслов", "суфикс", "suffix", "subtitle" },
	slika = { "слика", "picture" },
	opis = { "опис", "опис слике", "picture description", "picture desc", "desc", "description" },
	kategorizacija = { "категоризација", "кат", "categorization", "cat" }, 
} 

modul.infokutija = function(frame)
	local tekst = {}
	local parametri = funkcije.parseParams(frame:getParent().args, parametriVarijante)

	local p = parametri[1]
	local nepoznatiParametri = parametri[2]
	local redniParametri = parametri[3]

	-- Непознати параметри
	if mw.getCurrentFrame():preprocess('{{REVISIONID}}') == '' then
		for k, v in pairs(nepoznatiParametri) do
			table.insert(tekst, '<div class="hatnote" style="color:red"><strong>Упозорење:</strong> ' 
				.. 'Страница користи шаблон Инфокутија са непознатим параметром „<strong>' .. k .. '</strong>”.</div>')
		end
	end
	
	table.insert(tekst, '<div style="float: right; width: 300px; border: 1px solid #999999;">')
	table.insert(tekst, '<div style="padding: 6px;">')
	table.insert(tekst, '<div class="infokutija_pozadina" style="text-align:center;">')

	if p.nadnaslov then
		table.insert(tekst, p.nadnaslov .. '<br/>')
	end
	
	table.insert(tekst, '<span style="font-size:120%; font-weight:bold;">' 
		.. (p.naslov or mw.title.getCurrentTitle().text) 
		.. '</span>')	

	if p.podnaslov then
		table.insert(tekst, '<br/>' .. p.podnaslov)
	end

	table.insert(tekst, "</div>")
	table.insert(tekst, "</div>")

	if p.slika then
		table.insert(tekst, '<div style="padding-bottom: 6px; text-align:center;">')
		table.insert(tekst, '[[Датотека:' .. p.slika .. '|200px]]')
		if p.opis then
			table.insert(tekst, '<div style="font-size:90%;">' .. p.opis .. '</div>')
		end
		table.insert(tekst, "</div>")
	end

	for i, v in ipairs(redniParametri) do
		table.insert(tekst, '<div style="padding-left: 6px; padding-bottom: 6px; padding-right: 6px;">' .. v .. '</div>')
	end

	table.insert(tekst, "</div>")
	
	-- Категорије за праћење
	if funkcije.parseBoolean(p.kategorizacija, mw.title.getCurrentTitle().namespace == 0) then
		
		-- Сви чланци
		table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија]]')

		-- Наслов
		if p.naslov then
			if p.naslov == mw.title.getCurrentTitle().text then
				table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/наслов/исти као назив чланка]]')
			else
				table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/наслов/различит од назива чланка]]')
			end
		else 
			table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/наслов/недостаје]]')
		end

		-- Слика
		if not p.slika then
			table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/слика/недостаје]]')
		else
			if not p.opis then
				table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/опис/недостаје]]')
			end
		end

		-- Непознати параметри
		for k, v in pairs(nepoznatiParametri) do
			table.insert(tekst, '[[Категорија:Корисник:Ђидо:Инфокутија/параметар ' .. k .. '/непознат]]')
			break
		end
			
	end

	return table.concat(tekst)
end  

return modul