Changes

Jump to navigation Jump to search
m
1 revision imported
Line 14: Line 14:  
pagename = title.prefixedText
 
pagename = title.prefixedText
 
if action == 'autoreview' then
 
if action == 'autoreview' then
local level = mw.getCurrentFrame():callParserFunction('PENDINGCHANGELEVEL', pagename)
+
local level = mw.ext.FlaggedRevs.getStabilitySettings(title)
 +
level = level and level.autoreview
 
if level == 'review' then
 
if level == 'review' then
 
return 'reviewer'
 
return 'reviewer'
Line 22: Line 23:  
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
 
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
 
end
elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' then
+
elseif action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' and action ~= 'undelete' then
error( 'First parameter must be one of edit, move, create, upload, autoreview', 2 )
+
error( 'First parameter must be one of edit, move, create, upload, undelete, autoreview', 2 )
 
end
 
end
 
if title.namespace == 8 then -- MediaWiki namespace
 
if title.namespace == 8 then -- MediaWiki namespace
return 'sysop'
+
if title.text:sub(-3) == '.js' or title.text:sub(-4) == '.css' or title.contentModel == 'javascript' or title.contentModel == 'css' then -- site JS or CSS page
elseif title.namespace == 2 and title.isSubpage and ( title.contentModel == 'javascript' or title.contentModel == 'css' ) then -- user JS or CSS page
+
return 'interfaceadmin'
 +
else -- any non-JS/CSS MediaWiki page
 +
return 'sysop'
 +
end
 +
elseif title.namespace == 2 and title.isSubpage then
 +
if title.contentModel == 'javascript' or title.contentModel == 'css' then -- user JS or CSS page
 +
return 'interfaceadmin'
 +
elseif title.contentModel == 'json' then -- user JSON page
 +
return 'sysop'
 +
end
 +
end
 +
if action == 'undelete' then
 
return 'sysop'
 
return 'sysop'
 
end
 
end
Line 43: Line 55:  
elseif title.namespace == 6 then
 
elseif title.namespace == 6 then
 
return 'filemover'
 
return 'filemover'
 +
elseif level == 'extendedconfirmed' then
 +
return 'extendedconfirmed'
 
else
 
else
 
return 'autoconfirmed'
 
return 'autoconfirmed'
Line 49: Line 63:  
local blacklistentry = mw.ext.TitleBlacklist.test(action, pagename)
 
local blacklistentry = mw.ext.TitleBlacklist.test(action, pagename)
 
if blacklistentry then
 
if blacklistentry then
return blacklistentry.params.autoconfirmed and 'autoconfirmed' or 'templateeditor'
+
if not blacklistentry.params.autoconfirmed then
 +
return 'templateeditor'
 +
elseif level == 'extendedconfirmed' then
 +
return 'extendedconfirmed'
 +
else
 +
return 'autoconfirmed'
 +
end
 
elseif level == 'editsemiprotected' then -- create-semiprotected pages return this for some reason
 
elseif level == 'editsemiprotected' then -- create-semiprotected pages return this for some reason
 
return 'autoconfirmed'
 
return 'autoconfirmed'

Navigation menu