Sari la conținut

Modul:Wikiproject

Permanently protected module
De la Wikipedia, enciclopedia liberă
(dif) ← Versiunea anterioară | afișează versiunea curentă (dif) | Versiunea următoare → (dif)
local getArgs = require('Modul:Arguments').getArgs

local p = {}

local classes = {
	['a'] = {
		['background'] = '66ffff',
		['image'] = 'Symbol a class.svg',
		['classname'] = 'A',
		['classcat'] = 'Articole de clasa „A”'
	},
	['ab'] = {
		['background'] = '66ff66',
		['image'] = 'Symbol support vote.svg',
		['classname'] = 'AB',
		['classcat'] = 'Articole bune (clasament)'
	},
	['ac'] = {
		['background'] = '6699ff',
		['image'] = 'LinkFA-star.png',
		['classname'] = 'AC',
		['classcat'] = 'Articole de calitate (clasament)'
	},
	['b'] = {
		['background'] = 'c2ff66',
		['classname'] = 'B',
		['classcat'] = 'Articole de clasa „B”'
	},
	['c'] = {
		['background'] = 'ffff66',
		['classname'] = 'C',
		['classcat'] = 'Articole de clasa „C”'
	},
	['ciot'] = {
		['background'] = 'ff6666',
		['classname'] = 'Ciot',
		['classcat'] = 'Cioturi (clasament)'
	},
	['format'] = {
		['background'] = 'fbceb1',
		['classname'] = 'Format',
		['classcat'] = 'Articole de clasa „format”'
	},
	['început'] = {
		['background'] = 'ffaa66',
		['classname'] = 'Început',
		['classcat'] = 'Articole de clasa „început”'
	},
	['lc'] = {
		['background'] = 'aa88ff',
		['classname'] = 'LC',
		['image'] = 'Vista-keditbookmarks.png',
		['clascat'] = 'Liste de calitate (clasament)'
	},
	['listă'] = {
		['background'] = 'aa88ff',
		['classname'] = 'Listă',
		['clascat'] = 'Articole de clasa „listă”'
	},
	['portal'] = {
		['background'] = 'cc8899',
		['classname'] = 'Portal',
		['clascat'] = 'Articole de clasa „portal”'
	},
	['viitor'] = {
		['background'] = '8a95c9',
		['classname'] = 'Viitor',
		['clascat'] = 'Viitor (clasament)'
	}
}

local noclass = {
	['background'] = 'transparent',
	['classname'] = 'Neclasificat'
}

local function clasament(class)
	
end

p.fromArgs = function(project, display, evaluation) 
	local tableSpan = mw.html.create('span')
	tableSpan:attr('lang', 'x-sic')
	local mainTable = tableSpan:tag('table')
	mainTable:addClass('messagebox')
	if display.nested then
		mainTable
			:addClass('collapsible')
			:addClass('collapsed')
			:addClass('nested-talk')
	elseif display.small then
		mainTable:addClass('small-talk')
	else
		mainTable:addClass('standard-talk')
	end
	
	if display.nested then
		mainTable
			:tag('tr')
				:tag('th')
					:attr('colspan', '2')
					:css('text-align', 'center')
					:wikitext('[[' .. project.page .. '|Proiect ' .. project.name .. ']]', evaluation.class and (' (evaluat ca făcând parte din grupa ' .. evaluation.class) or nil)
	end
	
	mainTable
		:tag('tr')
			:tag('td')
				:attr('valign', 'center')
				:attr('align', 'center')
				:wikitext('[[Fișier:' .. project.image .. '|60px]]')
				:done()
			:tag('td')
				:wikitext('Articolul ', "'''" .. mw.title.getCurrentTitle() .. "'''", " este un subiect de care se ocupă '''''[[" .. project.page .. "|Proiectul" .. project.name .. "]]'''''", project.description)
				:newline()
				:tag('small')
					:wikitext("''Dacă doriți să participați la acest proiect, vă rugăm să vă înscrieți [[' .. project.page .. '/Participanți|aici]].''", '[[Categorie:Articole din domeniul proiectului ' .. project.name .. ']]')
					
	local classData = evaluation.class and classes[mw.ustring.lower(evaluation.class)] or noclass
	
end

p.fromFrame = function(frame)
	local args = getArgs(frame)
	
	local project = {}
	project.name = args['nume_proiect']
	project.page = args['pagina_proiect']
	project.image = args['imagine_proiect']
	project.description = args['descriere_proiect']
	
	local display = {}
	display.nested = args['nested'] == 'yes' or args['nested'] == 'da'
	display.small = args['small'] == 'yes' or args['small'] == 'da'
	local evaluation = {}
	evaluation.class = args['class'] or args['clasament']
	evaluation.importance = args['importanță'] or args['importanţă']
	
	return p.fromArgs(project, display, evaluation)
end

return p