Module:Protection banner: Difference between revisions

m
1 revision
m (1 revision)
 
m (1 revision)
(One intermediate revision by the same user not shown)
Line 892: Line 892:


function p.main(frame, cfg)
function p.main(frame, cfg)
getArgs = getArgs or require('Module:Arguments').getArgs
cfg = cfg or require(CONFIG_MODULE)
cfg = cfg or require(CONFIG_MODULE)
-- Find default args, if any.
local parentTitle = frame:getParent():getTitle()
local parentTitle = frame:getParent():getTitle()
parentTitle = parentTitle:gsub('/sandbox$', '')
parentTitle = parentTitle:gsub('/sandbox$', '')
local defaultArgs = cfg.wrappers[parentTitle] or {}
local defaultArgs = cfg.wrappers[parentTitle] or {}
local args = getArgs(frame, {parentOnly = defaultArgs and true})
 
-- Find user args, and use the parent frame if we are being called from a
-- wrapper template.
getArgs = getArgs or require('Module:Arguments').getArgs
local userArgs = getArgs(frame, {
parentOnly = defaultArgs,
frameOnly = not defaultArgs
})
 
-- Build the args table. User-specified args overwrite default args.
local args = {}
for k, v in pairs(defaultArgs) do
for k, v in pairs(defaultArgs) do
args[k] = v
end
for k, v in pairs(userArgs) do
args[k] = v
args[k] = v
end
end
14,061

edits