Line 23: |
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 |