Module:Protection banner: Difference between revisions

    (add half-finished category sorting code)
    (convert categories back to a flat table scheme)
    Line 3: Line 3:


    local categories = {
    local categories = {
    {
    ['edit-autoconfirmed-user-all-all'] = 'Wikipedia semi-protected user and user talk pages',
    name = 'Wikipedia semi-protected user and user talk pages',
    ['edit-autoconfirmed-project-all-all'] = 'Semi-protected project pages',
    type = 'edit',
    ['edit-autoconfirmed-file-all-all'] = 'Semi-protected images',
    level = 'autoconfirmed',
    ['edit-autoconfirmed-template-all-all'] = 'Wikipedia semi-protected templates',
    ns = {[2] = true, [3] = true} -- User and user talk
    ['edit-autoconfirmed-portal-all-all'] = 'Semi-protected portals',
    },
    ['edit-autoconfirmed-talk-all-all'] = 'Semi-protected talk pages',
    {
    ['edit-autoconfirmed-all-vandalism-all'] = 'Wikipedia pages semi-protected against vandalism',
    name = 'Semi-protected project pages',
    ['edit-sysop-user-all-all'] = 'Wikipedia protected user and user talk pages',
    type = 'edit',
    ['edit-sysop-file-all-all'] = 'Protected images',
    level = 'autoconfirmed',
    ['edit-sysop-project-all-all'] = 'Protected project pages',
    ns = {[4] = true} -- Project
    ['edit-sysop-template-all-all'] = 'Wikipedia protected templates',
    },
    ['edit-sysop-talk-all-all'] = 'Protected talk pages',
    {
    ['edit-sysop-all-vandalism-all'] = 'Wikipedia pages protected against vandalism',
    name = 'Semi-protected images',
    ['edit-autoconfirmed-all-dispute-all'] = 'Wikipedia pages semi-protected due to dispute',
    type = 'edit',
    ['edit-sysop-all-dispute-all'] = 'Wikipedia pages protected due to dispute',
    level = 'autoconfirmed',
    ['move-sysop-all-dispute-all'] = 'Wikipedia pages move-protected due to dispute',
    ns = {[6] = true} -- File
    ['move-sysop-user-all-all'] = 'Wikipedia move-protected user and user talk pages',
    },
    ['move-sysop-user-all-all'] = 'Wikipedia move-protected project pages',
    {
    ['move-sysop-portal-all-all'] = 'Wikipedia move-protected portals',
    name = 'Wikipedia semi-protected templates',
    ['edit-autoconfirmed-template-all-all'] = 'Wikipedia semi-protected templates',
    type = 'edit',
    ['move-sysop-template-all-all'] = 'Wikipedia move-protected templates',
    level = 'autoconfirmed',
    ['edit-all-template-all-all'] = 'Wikipedia protected templates',
    ns = {[10] = true} -- Template
    ['move-sysop-template-all-all'] = 'Wikipedia move-protected portals',
    },
    ['edit-autoconfirmed-all-sock-all'] = 'Wikipedia pages semi-protected from banned users',
    {
    ['edit-sysop-all-sock-all'] = 'Wikipedia pages protected from banned users',
    name = 'Semi-protected portals',
    ['edit-autoconfirmed-all-blp-temp'] = 'Wikipedia temporarily semi-protected biographies of living people',
    type = 'edit',
    ['edit-sysop-all-blp-temp'] = 'Wikipedia temporarily protected biographies of living people',
    level = 'autoconfirmed',
    ['edit-autoconfirmed-all-blp-indef'] = 'Wikipedia indefinitely semi-protected biographies of living people',
    ns = {[100] = true} -- Portal
    ['edit-sysop-all-blp-indef'] = 'Wikipedia indefinitely protected biographies of living people',
    },
    ['edit-autoconfirmed-all-all-indef'] = 'Wikipedia indefinitely semi-protected pages',
    {
    ['move-sysop-talk-all-all'] = 'Wikipedia move-protected talk pages',
    name = 'Semi-protected talk pages',
    ['move-sysop-all-all-indef'] = 'Wikipedia indefinitely move-protected pages',
    type = 'edit',
    ['edit-autoconfirmed-all-all-all'] = 'Wikipedia semi-protected pages',
    level = 'autoconfirmed',
    ['all-all-all-all-all'] = 'Wikipedia protected pages',
    ns = {talk = true}
    ['edit-autoconfirmed-category-all-all'] = 'Wikipedia semi-protected categories',
    },
    ['edit-sysop-all-all-all'] = 'Wikipedia protected categories',
    {
    ['move-sysop-all-all-all'] = 'Wikipedia move-protected pages',
    name = 'Wikipedia pages semi-protected against vandalism',
    ['all-all-all-office-all'] = 'Wikipedia Office-protected pages',
    type = 'edit',
    ['pc-autoconfirmed-all-all-all'] = 'Wikipedia pending changes protected pages (level 1)',
    level = 'autoconfirmed',
    ['pc-reviewer-all-all-all'] = 'Wikipedia pending changes protected pages (level 2)',
    reason = 'vandalism'
    },
    {
    name = 'Wikipedia protected user and user talk pages',
    type = 'edit',
    level = 'sysop',
    ns = {[2] = true, [3] = true} -- User and user talk
    },
    {
    name = 'Protected images',
    type = 'edit',
    level = 'sysop',
    ns = {[6] = true} -- File
    },
    {
    name = 'Protected project pages',
    type = 'edit',
    level = 'sysop',
    ns = {[4] = true, [12] = true} -- Project and Help
    },
    {
    name = 'Wikipedia protected templates',
    type = 'edit',
    level = 'sysop',
    ns = {[10] = true}, -- Template
    },
    {
    name = 'Protected talk pages',
    type = 'edit',
    level = 'sysop',
    ns = {talk = true}
    },
    {
    name = 'Wikipedia pages protected against vandalism',
    type = 'edit',
    level = 'sysop',
    reason = 'vandalism'
    },
    {
    name = 'Wikipedia pages semi-protected due to dispute',
    type = 'edit',
    level = 'autoconfirmed',
    reason = 'dispute'
    },
    {
    name = 'Wikipedia pages protected due to dispute',
    type = 'edit',
    level = 'sysop',
    reason = 'dispute'
    },
    {
    name = 'Wikipedia pages move-protected due to dispute',
    type = 'move',
    level = 'sysop',
    reason = 'dispute'
    },
    {
    name = 'Wikipedia move-protected user and user talk pages',
    type = 'move',
    level = 'sysop',
    ns = {[2] = true, [3] = true} -- User and user talk
    },
    {
    name = 'Wikipedia move-protected project pages',
    type = 'move',
    level = 'sysop',
    ns = {[4] = true} -- Project
    },
    {
    name = 'Wikipedia move-protected portals',
    type = 'move',
    level = 'sysop',
    ns = {[100] = true} -- Portal
    },
    {
    name = 'Wikipedia semi-protected templates',
    type = 'edit',
    level = 'autoconfirmed',
    ns = {[10] = true} -- Template
    },
    {
    name = 'Wikipedia move-protected templates',
    type = 'move',
    level = 'sysop',
    ns = {[10] = true} -- Template
    },
    {
    name = 'Wikipedia protected templates',
    type = 'edit',
    ns = {[10] = true} -- Template
    },
    {
    name = 'Wikipedia move-protected portals',
    type = 'move',
    level = 'sysop',
    ns = {[100] = true} -- Portal
    },
    {
    name = 'Wikipedia pages semi-protected from banned users',
    type = 'edit',
    level = 'autoconfirmed',
    reason = 'sock'
    },
    {
    name = 'Wikipedia pages protected from banned users',
    type = 'edit',
    level = 'sysop',
    reason = 'sock'
    },
    {
    name = 'Wikipedia temporarily semi-protected biographies of living people',
    type = 'edit',
    level = 'autoconfirmed',
    reason = 'blp',
    expiry = 'temp'
    },
    {
    name = 'Wikipedia temporarily protected biographies of living people',
    type = 'edit',
    level = 'sysop',
    reason = 'blp',
    expiry = 'temp'
    },
    {
    name = 'Wikipedia indefinitely semi-protected biographies of living people',
    type = 'edit',
    level = 'autoconfirmed',
    reason = 'blp',
    expiry = 'indef'
    },
    {
    name = 'Wikipedia indefinitely protected biographies of living people',
    type = 'edit',
    level = 'sysop',
    reason = 'blp',
    expiry = 'indef'
    },
    {
    name = 'Wikipedia indefinitely semi-protected pages',
    type = 'edit',
    level = 'autoconfirmed',
    expiry = 'indef'
    },
    {
    name = 'Wikipedia move-protected talk pages',
    type = 'move',
    level = 'sysop',
    ns = {talk = true}
    },
    {
    name = 'Wikipedia indefinitely move-protected pages',
    type = 'move',
    level = 'sysop',
    expiry = 'indef'
    },
    {
    name = 'Wikipedia semi-protected pages',
    type = 'edit',
    level = 'autoconfirmed'
    },
    {
    name = 'Wikipedia protected pages',
    },
    {
    name = 'Wikipedia semi-protected categories',
    type = 'edit',
    level = 'autoconfirmed',
    ns = {[14] = true}
    },
    {
    name = 'Wikipedia protected categories',
    type = 'edit',
    ns = {[14] = true} -- Category
    },
    {
    name = 'Wikipedia move-protected pages',
    type = 'move',
    level = 'sysop'
    },
    {
    name = 'Wikipedia Office-protected pages',
    reason = 'office'
    },
    {
    name = 'Wikipedia pending changes protected pages (level 1)',
    type = 'pc',
    level = 'autoconfirmed'
    },
    {
    name = 'Wikipedia pending changes protected pages (level 2)',
    type = 'pc',
    level = 'reviewer'
    },
    }
    }