モジュール:Protected edit request
このモジュールは{{半保護編集依頼}}や{{拡張半保護編集依頼}}といった保護編集依頼テンプレートの内部で使用されています。編集依頼が有効化されている場合に限り、サブモジュールであるモジュール:Protected edit request/activeが使用されます。
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">エラー: 保護されたページの編集依頼は、'
.. 'ここではなくノートで出してください。</span>[[Category:ノートでないページで出されている保護編集依頼]]'
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 = '「[[:' .. v .. ']]」'
else
pagesText = pagesText .. '、「[[:' .. v .. ']]」'
end
end
pagesText = pagesText .. "に対する"
end
self:setArg('smalltext', pagesText .. "こちらの編集依頼は" ..
"終了しました。この依頼を再度有効化するには、" ..
"引数<code style=\"white-space: nowrap;\">|answered=</code>もしくは" ..
"<code style=\"white-space: nowrap;\">|ans=</code>の値に'''no'''を指定してください。")
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:保護編集依頼', 'Template:半保護編集依頼', 'Template:Edit template-protected', 'Template:拡張半保護編集依頼', 'Template:Edit interface-protected'}}))
end
end
return setmetatable(p, mt)
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia