模块:StatusBRFA
local p = {}
local error = require("Module:Error")
local data = {
--- {color, text, category, cat-key}
[""] = {"AAAAAA", "新申請", "在審核機械人作業申請", "A"},
["+"] = {"007DFF", "已批准", "已批准機械人作業申請", ""},
["app"] = {"007DFF", "已批准", "已批准機械人作業申請", ""},
["approved"] = {"007DFF", "已批准", "已批准機械人作業申請", ""},
["批准"] = {"007DFF", "已批准", "已批准機械人作業申請", ""},
["rfr"] = {"007DFF", "等待[[Special:用户列表/bureaucrat|行政員]]授權", "已批准機械人作業申請", ""},
["待授權"] = {"007DFF", "等待[[Special:用户列表/bureaucrat|行政員]]授權", "已批准機械人作業申請", ""},
["待授权"] = {"007DFF", "等待[[Special:用户列表/bureaucrat|行政員]]授權", "已批准機械人作業申請", ""},
["-"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["den"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["deny"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["denied"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["拒絕"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["拒绝"] = {"D11D13", "拒絕申請", "已拒絕機械人作業申請", ""},
["wit"] = {"D11D13", "撤回申請", "已撤回機械人作業申請", ""},
["withdraw"] = {"D11D13", "撤回申請", "已撤回機械人作業申請", ""},
["撤回"] = {"D11D13", "撤回申請", "已撤回機械人作業申請", ""},
["exp"] = {"D11D13", "已過期", "已過期機械人作業申請", ""},
["expire"] = {"D11D13", "已過期", "已過期機械人作業申請", ""},
["expired"] = {"D11D13", "已過期", "已過期機械人作業申請", ""},
["過期"] = {"D11D13", "已過期", "已過期機械人作業申請", ""},
["过期"] = {"D11D13", "已過期", "已過期機械人作業申請", ""},
["rev"] = {"D11D13", "撤銷許可", "已吊銷機械人作業許可", ""},
["revoke"] = {"D11D13", "撤銷許可", "已吊銷機械人作業許可", ""},
["revoked"] = {"D11D13", "撤銷許可", "已吊銷機械人作業許可", ""},
["撤銷"] = {"D11D13", "撤銷許可", "已吊銷機械人作業許可", ""},
["撤销"] = {"D11D13", "撤銷許可", "已吊銷機械人作業許可", ""},
["?"] = {"FFCC00", "討論中", "在審核機械人作業申請", "C"},
["dis"] = {"FFCC00", "討論中", "在審核機械人作業申請", "C"},
["discuss"] = {"FFCC00", "討論中", "在審核機械人作業申請", "C"},
["討論"] = {"FFCC00", "討論中", "在審核機械人作業申請", "C"},
["讨论"] = {"FFCC00", "討論中", "在審核機械人作業申請", "C"},
["tric"] = {"FFCC00", "測試已完成", "在審核機械人作業申請", "D"},
["trial complete"] = {"FFCC00", "測試已完成", "在審核機械人作業申請", "D"},
["測試完成"] = {"FFCC00", "測試已完成", "在審核機械人作業申請", "D"},
["测试完成"] = {"FFCC00", "測試已完成", "在審核機械人作業申請", "D"},
["tri"] = {"00AF89", "測試中", "在審核機械人作業申請", "B"},
["trial"] = {"00AF89", "測試中", "在審核機械人作業申請", "B"},
["測試"] = {"00AF89", "測試中", "在審核機械人作業申請", "B"},
["测试"] = {"00AF89", "測試中", "在審核機械人作業申請", "B"},
}
function p._getcolor( key, default )
if data[key] == nil then
if default then
return default
else
return key
end
end
return data[key][1]
end
function p._gettext( key )
if data[key] == nil then
return "新申請"
end
return data[key][2]
end
function p._getcategorykey(key)
if data[key] == nil then
return ""
end
if data[key][4] == nil or data[key][4] == "" then
return mw.getCurrentFrame():callParserFunction('#titleparts', {mw.title.getCurrentTitle().fullText, 1, 3})
end
return data[key][4]
end
function p._getcategory(key)
if key == "no" then
return ""
end
if data[key] == nil then
return error.error({message = "匿名參數1錯誤,請查看使用方法:[[Template:StatusBRFA]]"})
end
local title = mw.title.getCurrentTitle()
if title:isSubpageOf(mw.title.new("Wikipedia:机器人/申请")) == false then
return ""
end
if title:isSubpageOf(mw.title.new("Wikipedia:机器人/申请/存档")) == true then
return ""
end
if title.fullText == "Wikipedia:机器人/申请/topic list" then
return ""
end
if title.fullText == "Wikipedia:机器人/申请/header" then
return ""
end
local result = ""
if data[key][3] ~= "" then
result = "[[Category:" .. data[key][3]
local catkey = p._getcategorykey(key)
if catkey then
result = result .. "|" .. catkey
end
result = result .. "]]"
end
if key == "rfr" or key == "待授權" or key == "待授权" then
result = result .. "[[Category:行政员积压工作]]"
end
return result
end
function p.main( frame )
local args = frame:getParent().args
local arg1 = args[1] or ""
local color1 = p._getcolor(args["color1"]) or p._getcolor(args["color"]) or p._getcolor(arg1, "AAAAAA")
local color2 = p._getcolor(args["color2"]) or p._getcolor(args["color"]) or p._getcolor(arg1, "AAAAAA")
local text = args[2] or p._gettext(arg1)
local sign = args["sign"] or ""
local cat = ""
if args["cat"] then
cat = p._getcategory(args["cat"])
else
cat = p._getcategory(arg1)
end
return "<div>'''狀態''':"
.. "<span style=\"background:#" .. color1 .. "\"> </span>"
.. "<span style=\"background:#" .. color2 .. "\"> </span>"
.. " <b>" .. text .. "</b>" .. sign .. "</div>" .. cat
end
return p