Modulo:Kiddaw ti nasalakniban a panagurnos/pagipadasan

Dokumentasion ti modulo


Daytoy a modulo ket agpataud ti kahon ti mensahe nga inus-usar a panagkiddaw ti panagurnos kadagiti nasalakniban a panid. Ti kiddaw ti panagurnos ket mabalin a maaramid para kadagiti panid ti napno a nasalakniban, nasalakniban-bassit, ken mabalin ti maminsan nga agkiddaw kadagiti nadumaduma a panid.

Daytoy a modulo ket nasken a mausar iti tungtungan a panid ti maurnosto a panid. No saan a mabalin ti dagus nga agikabil iti tungtungan a panid, mabalin met ti manginagan iti maurnosto a panid babaen kadagiti panangipuesto a parametro. Mabalin pay ti manginagan kadagiti maurnosto a nadumaduma a panid, no daytoy ket nasaysayaat ngem ti panagaramid kadagiti nadumaduma a kiddaw ti panagurnos kadagiti sabali a lokasion.

Eskritu urnosen

Ti modulo ket addaan kadagiti dua nga annong, maysa para iti tunggal maysa a magun-od nga agpang ti panagsalaknib:

Annong Agpang ti panagsalaknib Plantilia
interface nasalakniban-interface {{urnosen ti nasalakniban-interface}}
full Napno a nasalakniban {{urnosen ti nasalakniban-napno}}
template agdama a saan a maus-usar {{urnosen ti nasalakniban-plantilia}}
semi Nasalakniban-bassit {{urnosen ti nasalakniban-bassit}}
Batayan a panagusar
{{#invoke:kiddaw ti nasalakniban a panagurnos|annong}}
Inaganan dagiti maurnosto a panid
{{#invoke:kiddaw ti nasalakniban a panagurnos|annong|Umuna a maurnosto a panid|Maikadua a maurnosto a panid|...}}
Nasungbatan a kiddaw
{{#invoke:kiddaw ti nasalakniban a panagurnos|annong|nasungbatan=wen}}
Piliten ti agpang ti salaknib ti kiddaw imbes a palubosan ti automatiko a panagduktal
{{#invoke:kiddaw ti nasalakniban a panagurnos|annong|force=yes}}
Amin dagiti parametro
{{#invoke:kiddaw ti nasalakniban a panagurnos|annong
| Umuna a maurnosto a panid|Maikadua a maurnosto a panid|Maikatlo a maurnosto a panid|...
| nasungbatan = 
| answered    = 
| ans         = 
| demo        = 
| force       = 
}}

Katkategoria urnosen

Ti plantilia ket ikategoriana ti panid depende iti agang ti salaknib dagiti maurnosto a panid.

Annong Kategoria
interface Kategoria:Dagiti kiddaw ti panagurnos ti nasalakniban-interface ti Wikipedia
full Kategoria:Dagiti kiddaw ti panagurnos ti nasalakniban-napno ti Wikipedia
template agdama a saan a maus-usar
semi Kategoria:Dagiti kiddaw ti panagurnos ti nasalakniban-bassit ti Wikipedia

Ti modulo ket padasenna ti mangduktal ti agpang ti salaknib dagiti maus-usar a panid. No maysa wenno ad-adu a pampanid ket saan a nasalakniban, wenno nadumaduma a pampanid nga addan kadagiti sabali nga agpang ti salaknib ti nainaganan, ti panid ket maikategoria iti Kategoria:Dagiti kiddaw ti panagurnos a mabalin nga agus-usar kadagiti saan a husto a plantilia. Wenno saan, no saan a naisaad ti parametro ti |force=, automatiko daytoy a maikategoria iti husto nga agpang ti salaknib.

require('strict')

local yesno = require('Modulo:Wensaan')
local makeMessageBox = require('Modulo:Kahon ti mensahe').main
local getArgs

local activeBox -- lazily initialized if we get an active request

----------------------------------------------------------------------
-- Box class definition
----------------------------------------------------------------------

local box = {}
box.__index = box

function box.new(protectionType, args)
	local obj = {}
	obj.args = args
	setmetatable(obj, box)
	obj.tmboxArgs = {} -- Used to store arguments to be passed to tmbox by the box:export method.
	-- Set data fields.
	obj.tmboxArgs.attrs = { ['data-origlevel'] = protectionType }
	return obj
end

function box:setArg(key, value)
	-- This sets a value to be passed to tmbox.
	if key then
		self.tmboxArgs[key] = value
	end
end

function box:export()
	local title = mw.title.getCurrentTitle()
	local skipCheck = yesno(self.args.demo) or yesno(self.args.skiptalk)
	if not title.isTalkPage and not skipCheck then
		return '<span class="error">Biddut: Dagiti kiddaw ti nasalakniban a panagurnos ket mabalin laeng a maaramid iti tungtungan a panid.</span>[[Kategoria:Pampanid a saan a tungtungan nga agraman iti plantilia ti nasalakniban a panagurnos]]'
	end

	-- String together page names provided
	local titles = {}
	for k, v in pairs(self.args) do
		if type(k) == 'number' then
			table.insert(titles, self.args[k])
		end
	end
	local pagesText
	if #titles == 0 then
		pagesText = ''
	elseif #titles == 1 and mw.title.getCurrentTitle().subjectPageTitle.fullText == titles[1] then
		pagesText = ''
	else 
		for i, v in pairs(titles) do
		    if i == 1 then
		        pagesText = ' to [[:' .. v .. ']]'
		    elseif i == #titles then
		        pagesText = pagesText .. ' and [[:' .. v .. ']]'
		    else
		        pagesText = pagesText .. ', [[:' .. v .. ']]'
		    end
		end
	end
	
	self:setArg('smalltext', "Daytoy a [[Wikipedia:Dagiti kiddaw ti panagurnos|kiddaw ti panagurnos]]" .. pagesText ..
		" ket nasungbatanen. Isaad ti parametro ti <code style=\"white-space: nowrap;\">&#124;nasungbatan&#61;</code> wenno <code style=\"white-space: nowrap;\">&#124;ans&#61;</code> iti '''saan''' tapno maipasubli ti kiddawmo.")
	self:setArg('small', true)
	self:setArg('class', 'editrequest')
	return makeMessageBox('tmbox', self.tmboxArgs)
end

----------------------------------------------------------------------
-- Process arguments and initialise objects
----------------------------------------------------------------------

local p = {}

function p._main(protectionType, args)
	local boxType = box
	if not yesno(args.answered or args.nasungbatan or args.ans, true) then
		if not activeBox then
			activeBox = require('Modulo:Kiddaw ti nasalakniban a panagurnos/aktibo')(box, yesno, makeMessageBox)
		end
		boxType = activeBox
	end
	local requestBox = boxType.new(protectionType, args)
	return requestBox:export()
end

local mt = {}

function mt.__index(t, k)
	if not getArgs then
		getArgs = require('Modulo:Dagiti argumento').getArgs
	end
	return function (frame)
		return t._main(k, getArgs(frame, {wrappers = {'Plantilia:Urnosen ti nasalakniban-napno', 'Plantilia:Urnosen ti nasalakniban-bassit', 'Plantilia:Urnosen ti nasalakniban-plantilia', 'Plantilia:Urnosen ti nasalakniban-naipaatiddog', 'Plantilia:Urnosen ti nasalakniban-interface'}}))
	end
end

return setmetatable(p, mt)