Module:Protection banner: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
m (check the right action variable)
(start converting the blurb class to the new parameter system)
Line 39:
'tooltip',
'alt',
'image',
'categoryOrder',
'categoryReason'
}
local configTables = {}
Line 51 ⟶ 49:
configTables[#configTables + 1] = cfg.defaultBanners[action].default
end
configTables[#configTables + 1] = cfg.masterBanner
for i, field in ipairs(fields) do
for j, t in ipairs(configTables) do
Line 67 ⟶ 66:
local blacklist = {
banners = true,
defaultBanners = true,
masterBanner = true
}
if not blacklist[key] then
Line 190:
self._titleObj = titleObj
end
 
-- Static methods --
 
function Blurb.makeFullUrl(page, query, display)
Line 198 ⟶ 200:
 
function Blurb.formatDate(num)
-- Formats a Unix timestamp into dd MMonth, YYYY format.
lang = lang or mw.language.getContentLanguage()
local success, date = pcall(
Line 211 ⟶ 213:
end
 
-- Private methods --
function Blurb:setDeletionDiscussionPage(page)
self._deletionDiscussionPage = page
end
 
function Blurb:setUsername(username)
self._username = username
end
 
function Blurb:setSection(section)
self._section = section
end
 
function Blurb:_substituteParameters(msg)
Line 237 ⟶ 229:
end
})
 
parameterFuncs[1].CURRENTVERSION = self._makeIntroParameter_makeCurrentVersionParameter
parameterFuncs[2].DELETIONDISCUSSION = self._makeUntilParameter_makeDeletionDiscussionParameter
parameterFuncs[3].DISPUTESECTION = self._makeDisputesParameter
parameterFuncs[4].EDITREQUEST = self._makePagetypeParameter_makeEditRequestParameter
parameterFuncs[5].EXPIRY = self._makeProtectionDateParameter_makeExpiryParameter
parameterFuncs[6].EXPLANATIONBLURB = self._makeVandalTemplateParameter_makeExplanationBlurbParameter
parameterFuncs[7].INTROBLURB = self._makeProtectionLevelParameter_makeIntroBlurbParameter
parameterFuncs[8].PAGETYPE = self._makeExpiryParameter_makePagetypeParameter
parameterFuncs[9].PROTECTIONDATE = self._makeDisputeLinkParameter -- A link to the page history or the move log_makeProtectionDateParameter
parameterFuncs[10].PROTECTIONLEVEL = self._makeProtectionLogParameter_makeProtectionLevelParameter
parameterFuncs[11].PROTECTIONLOG = self._makeTalkLinkParameter_makeProtectionLogParameter
parameterFuncs[12].TALKPAGE = self._makeEditRequestParameter_makeTalkPageParameter
parameterFuncs[13].VANDAL = self._makeRequestUnprotectionParameter_makeVandalTemplateParameter
parameterFuncs[14] = self._makeSubjectPageLinksParameter -- Adds links to edit requests and the talk page if we are on a subject page
parameterFuncs[15] = self._makeDeletionBlurbParameter
parameterFuncs[16] = self._makeDeletionDiscussionLinkParameter
parameterFuncs[17] = self._makeDeletionLogParameter
parameterFuncs[18] = self._makeExplanationTextParameter
self._params = params
end
 
msg = msg:gsub('${([1-9][0-9]*%u+)}', getParameterself._params)
local function getParameter(match)
match = tonumber(match)
return self._params[match]
end
 
msg = msg:gsub('$([1-9][0-9]*)', getParameter)
return msg
end
 
function Blurb:_makeIntroParameter_makeIntroBlurbParameter()
-- parameter $1
local key
Line 287 ⟶ 269:
end
 
function Blurb:_makeUntilParameter_makeDisputeSectionParameter()
-- parameter $2
-- "until" or "or until" depending on the expiry
local expiry = self._protectionStatusObj:getExpiry()
if expiry then
return 'or until'
else
return 'until'
end
end
 
function Blurb:_makeDisputesParameter()
-- parameter $3
-- "disputes", with or without a section link
Line 379 ⟶ 350:
end
 
function Blurb:_makeDisputeLinkParameter_makeCurrentVersionParameter()
-- parameter $9
-- A link to the page history or the move log, depending on the kind of
Line 423 ⟶ 394:
end
 
function Blurb:_makeTalkLinkParameter_makeTalkPageParameter()
-- parameter $11
local section = self._section
Line 513 ⟶ 484:
end
 
function Blurb:_makeExplanationTextParameter_makeExplanationBlurbParameter()
-- parameter $18
local action = self._protectionStatusObj:getAction()
Line 529 ⟶ 500:
local msg = self._configObj:getMessage(key)
return self:_substituteParameters(msg)
end
 
-- Public methods --
 
function Blurb:setDeletionDiscussionPage(page)
self._deletionDiscussionPage = page
end
 
function Blurb:setUsername(username)
self._username = username
end
 
function Blurb:setSection(section)
self._section = section
end