Module:Documentation: Difference between revisions

    m (1 revision imported from w:en:Module:Documentation)
    m>MSGJ
    (show padlock in other namespaces, e.g. userspace)
    Line 136: Line 136:
    :attr('id', message('main-div-id'))
    :attr('id', message('main-div-id'))
    :addClass(message('main-div-classes'))
    :addClass(message('main-div-classes'))
    :css('padding', '12px')
    :newline()
    :newline()
    :wikitext(p._startBox(args, env))
    :wikitext(p._startBox(args, env))
    Line 405: Line 404:
    -- '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
    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.
    return nil
    end
    protectionLevels = env.protectionLevels
    protectionLevels = env.protectionLevels
    if not protectionLevels then
    if not protectionLevels then
    return nil
    return nil
    end
    end
    local editLevels = protectionLevels.edit
    local editProt = protectionLevels.edit and protectionLevels.edit[1]
    local moveLevels = protectionLevels.move
    local moveProt = protectionLevels.move and protectionLevels.move[1]
    if moveLevels and moveLevels[1] == 'sysop' or editLevels and editLevels[1] then
    if editProt then
    -- The page is full-move protected, or full, template, or semi-protected.
    -- The page is edit-protected.
    local frame = mw.getCurrentFrame()
    mProtectionBanner = require('Module:Protection banner')
    return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')}
    local reason = message('protection-reason-edit')
    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