Changes

Jump to navigation Jump to search

Module:Effective protection level

10 bytes added, 00:24, 27 May 2014
make the metatable work with the change coming June 5th
-- Returns the permission required to perform a given action on a given title.
-- If no title is specified, the title of the page being displayed is used.
function p.main_main(frame, action, pagename) frame = frame or mw.getCurrentFrame() action = action or frame.args.action or frame.args[1] pagename = pagename or frame.args.pagename or frame.args[2]
local title
if type(pagename) == 'table' then
title = pagename
pagename = title.prefixedText
else
title = pagename and mw.title.new(pagename) or mw.title.getCurrentTitle()
end
pagename = title.prefixedText
if action == 'autoreview' then
local level = framemw.getCurrentFrame():callParserFunction('PENDINGCHANGELEVEL', pagename)
if level == 'review' then
return 'reviewer'
if level == 'sysop' then
return 'sysop'
elseif framemw.getCurrentFrame():callParserFunction('CASCADINGSOURCES', pagename) ~= '' then -- used by a cascading-protected page
return 'sysop'
elseif level == 'templateeditor' then
setmetatable(p, { __index = function(t, k)
return function(frame, frameOrPagename) if type(frameOrPagename) == 'table' and frameOrPagename.args then return t._main(k, frame.args[1]) else return t.main_main(frame, k, ...frameOrPagename) end
end
end })
return p
Anonymous user

Navigation menu