2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

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