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
Chân dung Drew Gilpin Faust - Hiệu trưởng Đại học Harvard
Chân dung Drew Gilpin Faust - Hiệu trưởng Đại học Harvard
Đó là những lời khẳng định đanh thép, chắc chắn và đầy quyền lực của người phụ nữ đang gánh trên vai ngôi trường đại học hàng đầu thế giới
Nguồn gốc của mâu thuẫn lịch sử giữa hồi giáo, do thái và thiên chúa giáo
Nguồn gốc của mâu thuẫn lịch sử giữa hồi giáo, do thái và thiên chúa giáo
Mâu thuẫn giữa Trung Đông Hồi Giáo, Israel Do Thái giáo và Phương Tây Thiên Chúa Giáo là một mâu thuẫn tính bằng thiên niên kỷ và bao trùm mọi mặt của đời sống
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
Anime Super Cup Vietsub
Anime Super Cup Vietsub
Tự do trong sự cô đơn, Koguma tìm thấy một chiếc xe máy