第13行: |
第13行: |
| end | | end |
| pagename = title.prefixedText | | pagename = title.prefixedText |
− | if action ~= 'edit' and action ~= 'move' and action ~= 'create' and action ~= 'upload' then | + | if 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', 2 ) |
| end | | end |
| if title.namespace == 8 then -- MediaWiki namespace | | if title.namespace == 8 then -- MediaWiki namespace |
− | if title.contentModel == 'javascript' or title.contentModel == 'css' then -- site JS or CSS page | + | 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 |
| return 'interfaceadmin' | | return 'interfaceadmin' |
| else -- any non-JS/CSS MediaWiki page | | else -- any non-JS/CSS MediaWiki page |
第28行: |
第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] |
| if level == 'sysop' or level == 'editprotected' then | | if level == 'sysop' or level == 'editprotected' then |
| return 'sysop' | | return 'sysop' |
− | elseif title.cascadingProtection.restrictions['edit'] and title.cascadingProtection.restrictions['edit'][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 | | elseif level == 'templateeditor' then |
第42行: |
第45行: |
| 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' |
第50行: |
第55行: |
| if not blacklistentry.params.autoconfirmed then | | if not blacklistentry.params.autoconfirmed then |
| return 'sysop' | | return 'sysop' |
| + | elseif level == 'extendedconfirmed' then |
| + | return 'extendedconfirmed' |
| else | | else |
| return 'autoconfirmed' | | return 'autoconfirmed' |