Module:Protection banner: Difference between revisions
use gsub instead of the mw.message library for substituting parameters, as mw.message:params doesn't work with metatables; also, a few bug fixes
(remove the Image class from _exportClasses) |
(use gsub instead of the mw.message library for substituting parameters, as mw.message:params doesn't work with metatables; also, a few bug fixes) |
||
Line 76: | Line 76: | ||
function Config:initialize() | function Config:initialize() | ||
local data = mw.loadData('Module:Protection banner/config') | |||
self._cfg = data.cfg | |||
self._msg = data.msg | |||
end | end | ||
Line 103: | Line 105: | ||
function Config:getMessage(key) | function Config:getMessage(key) | ||
return self. | return self._msg[key] | ||
end | end | ||
Line 172: | Line 174: | ||
self._params = params | self._params = params | ||
end | end | ||
local function getParameter(match) | |||
match = tonumber(match) | |||
return self._params[match] | |||
end | |||
msg = msg:gsub('$([1-9][0-9]*)', getParameter) | |||
return msg | |||
end | end | ||
Line 224: | Line 233: | ||
function Blurb:_makePagetypeParameter() | function Blurb:_makePagetypeParameter() | ||
-- parameter $4 | -- parameter $4 | ||
local pagetypes = self._configObj:getConfigTable(' | local pagetypes = self._configObj:getConfigTable('bannerPagetypes') | ||
local namespace = self._titleObj | local namespace = self._titleObj.namespace | ||
return pagetypes[namespace] or pagetypes.default or 'page' | return pagetypes[namespace] or pagetypes.default or 'page' | ||
end | end | ||
Line 419: | Line 428: | ||
self._configObj:getMessage('deletion-log-link-display') | self._configObj:getMessage('deletion-log-link-display') | ||
) | ) | ||
end | |||
function Blurb:makeReasonText() | |||
local msg = self._bannerConfig.text | |||
return self:_substituteParameters(msg) | |||
end | end | ||