Home
Random
Log in
Settings
About Micro Pedia
Disclaimers
Micro Pedia
Search
Editing
Module:Protected edit request
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
require('strict') local yesno = require('Module:Yesno') local makeMessageBox = require('Module: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() 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">Error: Protected edit requests can only be made on the talk page.</span>[[Category:Non-talk pages with an edit request template]]' 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', "This [[Wikipedia:Edit requests|edit request]]" .. pagesText .. " has been answered. Set the <code style=\"white-space: nowrap;\">|answered=</code> or <code style=\"white-space: nowrap;\">|ans=</code> parameter to '''no''' to reactivate your request.") 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, true) then if not activeBox then activeBox = require('Module: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('Module:Arguments').getArgs end return function (frame) return t._main(k, getArgs(frame, {wrappers = {'Template:Edit fully-protected', 'Template:Edit semi-protected', 'Template:Edit template-protected', 'Template:Edit extended-protected', 'Template:Edit interface-protected', 'Template:Edit protected'}})) end end return setmetatable(p, mt)
Summary:
Please note that all contributions to Micro Pedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Micro Pedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Protected edit request/doc
(
edit
)