Line 14: |
Line 14: |
| pagename = title.prefixedText | | pagename = title.prefixedText |
| if action == 'autoreview' then | | if action == 'autoreview' then |
− | local level = mw.ext.FlaggedRevs.getStabilitySettings(title).autoreview | + | 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 26: |
Line 27: |
| end | | end |
| if title.namespace == 8 then -- MediaWiki namespace | | if title.namespace == 8 then -- MediaWiki namespace |
− | return 'sysop' | + | if 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' |
− | return 'sysop' | + | 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 | | end |
| local level = title.protectionLevels[action] and title.protectionLevels[action][1] | | local level = title.protectionLevels[action] and title.protectionLevels[action][1] |
Line 43: |
Line 52: |
| 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 60: |
| 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' |