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()
self._cfg = mw.loadData('Module:Protection banner/config')
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._cfg.msg[key]
return self._msg[key]
end
end


Line 172: Line 174:
self._params = params
self._params = params
end
end
return mw.message.newRawMessage(msg):params(self._params):plain()
 
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('pagetypeNamespaces')
local pagetypes = self._configObj:getConfigTable('bannerPagetypes')
local namespace = self._titleObj:getNamespace()
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