Module:Effective protection level: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
m 1 revision imported from wikipedia:Module:Effective_protection_level |
m Reverted edits by 2600:1010:B06E:8ABA:3C2F:311A:6FCA:8A5 (talk) to last version by Tegel |
||
Line 13: | Line 13: | ||
end |
end |
||
pagename = title.prefixedText |
pagename = title.prefixedText |
||
if action == ' |
if action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' then |
||
⚫ | |||
local level = mw.ext.FlaggedRevs.getStabilitySettings(title) |
|||
level = level and level.autoreview |
|||
if level == 'review' then |
|||
return 'reviewer' |
|||
elseif level ~= '' then |
|||
return level |
|||
else |
|||
return nil -- not '*'. a page not being PC-protected is distinct from it being PC-protected with anyone able to review. also not '', as that would mean PC-protected but nobody can review |
|||
end |
|||
elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' and action ~= 'undelete' then |
|||
⚫ | |||
end |
end |
||
if title.namespace == 8 then -- MediaWiki namespace |
if title.namespace == 8 then -- MediaWiki namespace |
||
if |
if title.contentModel == 'javascript' or title.contentModel == 'css' then -- site JS or CSS page |
||
return 'interfaceadmin' |
return 'interfaceadmin' |
||
else -- any non-JS/CSS MediaWiki page |
else -- any non-JS/CSS MediaWiki page |
||
Line 38: | Line 28: | ||
return 'sysop' |
return 'sysop' |
||
end |
end |
||
end |
|||
if action == 'undelete' then |
|||
return 'sysop' |
|||
end |
end |
||
local level = title.protectionLevels[action] and title.protectionLevels[action][1] |
local level = title.protectionLevels[action] and title.protectionLevels[action][1] |
||
Line 47: | Line 34: | ||
elseif title.cascadingProtection.restrictions[action] and title.cascadingProtection.restrictions[action][1] then -- used by a cascading-protected page |
elseif title.cascadingProtection.restrictions[action] and title.cascadingProtection.restrictions[action][1] then -- used by a cascading-protected page |
||
return 'sysop' |
return 'sysop' |
||
elseif level == 'templateeditor' then |
|||
return 'templateeditor' |
|||
elseif action == 'move' then |
elseif action == 'move' then |
||
local blacklistentry = mw.ext.TitleBlacklist.test('edit', pagename) -- Testing action edit is correct, since this is for the source page. The target page name gets tested with action move. |
local blacklistentry = mw.ext.TitleBlacklist.test('edit', pagename) -- Testing action edit is correct, since this is for the source page. The target page name gets tested with action move. |
||
if blacklistentry and not blacklistentry.params.autoconfirmed then |
if blacklistentry and not blacklistentry.params.autoconfirmed then |
||
return ' |
return 'sysop' |
||
elseif title.namespace == 6 then |
elseif title.namespace == 6 then |
||
return ' |
return 'sysop' |
||
elseif level == 'extendedconfirmed' then |
|||
return 'extendedconfirmed' |
|||
else |
else |
||
return 'autoconfirmed' |
return 'autoconfirmed' |
||
Line 64: | Line 47: | ||
if blacklistentry then |
if blacklistentry then |
||
if not blacklistentry.params.autoconfirmed then |
if not blacklistentry.params.autoconfirmed then |
||
return ' |
return 'sysop' |
||
elseif level == 'extendedconfirmed' then |
|||
return 'extendedconfirmed' |
|||
else |
else |
||
return 'autoconfirmed' |
return 'autoconfirmed' |
||
Line 75: | Line 56: | ||
return level |
return level |
||
elseif action == 'upload' then |
elseif action == 'upload' then |
||
return ' |
return 'uploader' |
||
elseif action == 'create' and title.namespace % 2 == 0 and title.namespace ~= 118 then -- You need to be registered, but not autoconfirmed, to create non-talk pages other than drafts |
|||
return 'user' |
|||
else |
else |
||
return '*' |
return '*' |