Module:Documentation: Difference between revisions

use title.protectionLevels instead of {{PROTECTIONLEVEL}} in p.protectionTemplate
(add the equivalent of {{clear}} before the sandbox notice - this was in the old {{documentation}} template, but somehow didn't find its way into the module before)
(use title.protectionLevels instead of {{PROTECTIONLEVEL}} in p.protectionTemplate)
Line 170:
--
-- Data includes:
-- env.protectionLevels - the protection levels table of the title object.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
Line 269 ⟶ 270:
--]]
return env.templateTitle:subPageTitle(message('print-subpage'))
end
 
function envFuncs.protectionLevels()
-- The protection levels table of the title object.
return env.title.protectionLevels
end
 
Line 393 ⟶ 399:
-- 'protection-template-args' --> {docusage = 'yes'}
local title = env.title
local protectionLevels
local protectionTemplate = message('protection-template')
local namespace = title.namespace
Line 399 ⟶ 406:
return nil
end
protectionLevels = env.protectionLevels
local frame = mw.getCurrentFrame()
local editLevels = protectionLevels.edit
local function getProtectionLevel(protectionType, page)
local moveLevels = protectionLevels.move
-- Gets the protection level for page, or for the current page if page is not specified.
if moveLevels and moveLevels[1] == 'sysop' or editLevels and editLevels[1] then
local level = frame:callParserFunction('PROTECTIONLEVEL', protectionType, page)
if level ~= '' then
return level
else
return nil -- The parser function returns the blank string if there is no match.
end
end
local prefixedTitle = title.prefixedText
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then
-- The page is full-move protected, or full, template, or semi-protected.
local frame = mw.getCurrentFrame()
return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')}
else
return levelnil
end
return nil
end
 
Anonymous user