Module:Documentation: Difference between revisions

m
Reverted edits by Bgwhite (talk) to last revision by Tito Dutta
(Reverted to revision 18690 by Tito Dutta (talk): Test. (TW))
m (Reverted edits by Bgwhite (talk) to last revision by Tito Dutta)
Line 170: Line 170:
--
--
-- Data includes:
-- Data includes:
-- env.protectionLevels - the protection levels table of the title object.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docSpace - the number of the namespace the title puts its documentation in.
Line 269: Line 270:
--]]
--]]
return env.templateTitle:subPageTitle(message('print-subpage'))
return env.templateTitle:subPageTitle(message('print-subpage'))
end
function envFuncs.protectionLevels()
-- The protection levels table of the title object.
return env.title.protectionLevels
end
end


Line 381: Line 387:
text = text .. makeCategoryLink(message('sandbox-category'))
text = text .. makeCategoryLink(message('sandbox-category'))
omargs.text = text
omargs.text = text
return messageBox.main('ombox', omargs)
local ret = '<div style="clear: both;"></div>'
ret = ret .. messageBox.main('ombox', omargs)
return ret
end
end


Line 391: Line 399:
-- 'protection-template-args' --> {docusage = 'yes'}
-- 'protection-template-args' --> {docusage = 'yes'}
local title = env.title
local title = env.title
local protectionLevels
local protectionTemplate = message('protection-template')
local protectionTemplate = message('protection-template')
local namespace = title.namespace
local namespace = title.namespace
Line 397: Line 406:
return nil
return nil
end
end
local frame = mw.getCurrentFrame()
protectionLevels = env.protectionLevels
local function getProtectionLevel(protectionType, page)
local editLevels = protectionLevels.edit
-- Gets the protection level for page, or for the current page if page is not specified.
local moveLevels = protectionLevels.move
local level = frame:callParserFunction('PROTECTIONLEVEL', protectionType, page)
if moveLevels and moveLevels[1] == 'sysop' or editLevels and editLevels[1] then
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.
-- 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')}
return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')}
else
return nil
end
end
return nil
end
end