Module:Documentation: Difference between revisions

    No edit summary
    (Testing)
    Line 405: Line 405:
    -- 'protection-template' --> 'pp-template'
    -- 'protection-template' --> 'pp-template'
    -- 'protection-template-args' --> {docusage = 'yes'}
    -- 'protection-template-args' --> {docusage = 'yes'}
    local protectionLevels, mProtectionBanner
    local title = env.title
    local title = env.title
    if title.namespace ~= 10 and title.namespace ~= 828 then
    local protectionLevels
    local protectionTemplate = message('protection-template')
    local namespace = title.namespace
    if not (protectionTemplate and (namespace == 10 or namespace == 828)) then
    -- Don't display the protection template if we are not in the template or module namespaces.
    -- Don't display the protection template if we are not in the template or module namespaces.
    return nil
    return nil
    Line 415: Line 417:
    return nil
    return nil
    end
    end
    local editProt = protectionLevels.edit and protectionLevels.edit[1]
    local editLevels = protectionLevels.edit
    local moveProt = protectionLevels.move and protectionLevels.move[1]
    local moveLevels = protectionLevels.move
    if editProt then
    if moveLevels and moveLevels[1] == 'sysop' or editLevels and editLevels[1] then
    -- The page is edit-protected.
    -- The page is full-move protected, or full, template, or semi-protected.
    mProtectionBanner = require('Module:Protection banner')
    local frame = mw.getCurrentFrame()
    local reason = message('protection-reason-edit')
    return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')}
    return mProtectionBanner._main{reason, small = true}
    elseif moveProt and moveProt ~= 'autoconfirmed' then
    -- The page is move-protected but not edit-protected. Exclude move
    -- protection with the level "autoconfirmed", as this is equivalent to
    -- no move protection at all.
    mProtectionBanner = require('Module:Protection banner')
    return mProtectionBanner._main{action = 'move', small = true}
    else
    else
    return nil
    return nil