Mô đun:Protected edit request

require('strict')

local yesno = require('Mô đun:Yesno')
local makeMessageBox = require('Mô đun:Message box').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()
	if not mw.title.getCurrentTitle().isTalkPage and not self.args.demo then
		return '<span class="error">Lỗi: Yêu cầu sửa đổi trang khóa chỉ có thể được thực hiện trên trang thảo luận.</span>[[Thể loại:Yêu cầu sửa đổi bản mẫu không phải trên trang thảo luận]]'
	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 = ' thành [[:' .. v .. ']]'
		    elseif i == #titles then
		        pagesText = pagesText .. ' và [[:' .. v .. ']]'
		    else
		        pagesText = pagesText .. ', [[:' .. v .. ']]'
		    end
		end
	end
	
	self:setArg('smalltext', "[[Wikipedia:Yêu cầu sửa đổi|Yêu cầu sửa đổi]] này" .. pagesText ..
		" đã được trả lời. Sửa tham số <code style=\"white-space: nowrap;\">&#124;answered&#61;</code> hoặc <code style=\"white-space: nowrap;\">&#124;ans&#61;</code> hoặc <code style=\"white-space: nowrap;\">&#124;xong&#61;</code> thành '''chưa''' để kích hoạt lại yêu cầu của bạn.")
	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.ans or args.xong, true) and (args.answered or args.ans or args.xong) ~= 'xong' then
		if not activeBox then
			activeBox = require('Mô đun:Protected edit request/active')(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('Mô đun:Arguments').getArgs
	end
	return function (frame)
		return t._main(k, getArgs(frame, {wrappers = {'Bản mẫu:Sửa trang khóa hẳn', 'Bản mẫu:Sửa trang hạn chế sửa đổi', 'Bản mẫu:Sửa trang nửa khóa', 'Bản mẫu:Sửa trang khóa bản mẫu', 'Bản mẫu:Sửa trang khóa mở rộng', 'Bản mẫu:Sửa trang khóa giao diện', 'Bản mẫu:Sửa trang khóa'}}))
	end
end

return setmetatable(p, mt)
Chúng tôi bán
Bài viết liên quan
Tam vị tương thể cấu thành nên một sinh vật trong Tensura
Tam vị tương thể cấu thành nên một sinh vật trong Tensura
Cơ thể của một sinh vật sống có xác thịt ví dụ như con người chẳng hạn, được cấu tạo bởi tam vị tương thể
Nhân vật Tokitou Muichirou - Kimetsu no Yaiba
Nhân vật Tokitou Muichirou - Kimetsu no Yaiba
Tokito Muichiro「時透 無一郎 Tokitō Muichirō​​」là Hà Trụ của Sát Quỷ Đội. Cậu là hậu duệ của Thượng Huyền Nhất Kokushibou và vị kiếm sĩ huyền thoại Tsugikuni Yoriichi.
Sinh vật mà Sam đã chiến đấu trong đường hầm của Cirith Ungol kinh khủng hơn chúng ta nghĩ
Sinh vật mà Sam đã chiến đấu trong đường hầm của Cirith Ungol kinh khủng hơn chúng ta nghĩ
Shelob tức Mụ Nhện là đứa con cuối cùng của Ungoliant - thực thể đen tối từ thời hồng hoang. Mụ Nhện đã sống từ tận Kỷ Đệ Nhất và đã ăn thịt vô số Con Người, Tiên, Orc
Cung mệnh và chòm sao của Kaveh - Genshin Impact
Cung mệnh và chòm sao của Kaveh - Genshin Impact
Hiện tại thì cả tên cung mệnh lẫn tên banner của Kaveh đều có liên quan đến thiên đường/bầu trời, tên banner lão là 天穹の鏡 (Thiên Khung chi Kính), bản Việt là Lăng kính vòm trời, bản Anh là Empryean Reflection (Heavenly reflection