置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:权限申请按钮

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索
local module = {}

local getArgs = require('Module:Arguments').getArgs

local applicableUserGroups = {'巡查姬', '管理员', '行政员', '用户查核员', '监督员', '脚本编辑员', '界面管理员', '机器人', '机器用户', '文件维护员', '普通'}
local nomobileUserGroups = {'管理员', '行政员', '用户查核员', '监督员', '脚本编辑员', '界面管理员'}
local suffixText = {
    ['普通'] = '(用于申请优质编辑者、技术编辑员等)'
}
local function has_value(tab, val)
    for _, value in ipairs(tab) do
        if value == val then
            return true
        end
    end
    return false
end

function module.main(frame)
    local args = getArgs(frame)
    local htmlTable = {}
    local isFirstElement = true
    local userGroups = args.userGroups or table.concat(applicableUserGroups, ',')
    for _, userGroup in ipairs(mw.text.split(userGroups, ',', true)) do
        if has_value(applicableUserGroups, userGroup) then
            local element = mw.html.create('span')
            if (has_value(nomobileUserGroups, userGroup)) then
                element:addClass('nomobile')
            end
            if isFirstElement then
            	isFirstElement = false
            else 
            	element:wikitext('、')
            end
            element:wikitext(
                '[{{fullurl:萌娘百科_talk:讨论版/权限变更|action=edit&section=new&nosummary=1&preload=Template%3A权限申请%2F' ..
                    userGroup ..
                        '申请预载}} <span class="mw-ui-button mw-ui-progressive" role="button">' ..
                            userGroup .. '申请</span>]'
            )
            element:wikitext(suffixText[userGroup] or '')
            table.insert(htmlTable, tostring(element))
        end
    end
    return frame:preprocess(table.concat(htmlTable, ''))
end

return module