Module:Protection banner: Difference between revisions

    (add expiry automatically for actions other than 'autoreview' using new {{PROTECTIONEXPIRY:action}} magic word implemented through Module:Effective protection expiry)
    (add support for upload protection, and make some formatting tweaks)
    Line 74: Line 74:
    while true do
    while true do
    -- Can't use pairs() since we're adding and removing things as we're iterating
    -- Can't use pairs() since we're adding and removing things as we're iterating
    local k = next(toWalk)
    local k = next(toWalk) -- This always gets the "first" key
    if k == nil then break end
    if k == nil then break end
    toWalk[k] = nil
    toWalk[k] = nil
    Line 97: Line 97:
    edit = true,
    edit = true,
    move = true,
    move = true,
    autoreview = true
    autoreview = true,
    upload = true
    }
    }


    Line 874: Line 875:
    local ret = {}
    local ret = {}


    -- If a page's edit protection is equally or more restrictive than its protection from some other action,
    -- If a page's edit protection is equally or more restrictive than its
    -- then don't bother displaying anything for the other action (except categories).
    -- protection from some other action, then don't bother displaying anything
    if protectionObj.action == 'edit' or args.demolevel or not walkHierarchy(cfg.hierarchy, protectionObj.level)[effectiveProtectionLevel('edit', protectionObj.title)] then
    -- for the other action (except categories).
    if protectionObj.action == 'edit' or
    args.demolevel or
    not walkHierarchy(
    cfg.hierarchy,
    protectionObj.level
    )[effectiveProtectionLevel('edit', protectionObj.title)]
    then
    -- Initialise the blurb object
    -- Initialise the blurb object
    local blurbObj = Blurb.new(protectionObj, args, cfg)
    local blurbObj = Blurb.new(protectionObj, args, cfg)