跳转到内容

模組:AFC submission/RejectReasonSheet

维基百科,自由的百科全书

这是本页的一个历史版本,由Hotaru Natsumi留言 | 贡献2022年10月27日 (四) 12:46 (// Edited with W+ (Entire))编辑。这可能和当前版本存在着巨大的差异。

local p = {}

local seriousRejectReasons = {}
local rejectReasons = {}
local possibleRejectReasons = {}
local fixNeeded = {}

local function catWikitext(prefix, arr, color) 
	local str = '<div style="padding-bottom: 0.5em;"><span style="color:'.. color  ..';">' .. prefix .. '</span>:'
	if arr[1] == nil or arr[1] == '' then
		return ''
	end
	for k, v in pairs(arr) do 
		str = str .. '\n*' .. arr[k]
	end
	return str .. '</div>\n'
end

local function assignArgs(t) 
	local i = 1
	while true do 
		local iStr = tostring(i)
		if t['srr'..iStr] == nil then
			break
		end
		seriousRejectReasons[i] = t['srr'..iStr]
		i = i + 1
	end
	i = 1
	while true do 
		local iStr = tostring(i)
		if t['rr'..iStr] == nil then
			break
		end
		rejectReasons[i] = t['rr'..iStr]
		i = i + 1
	end
	i = 1
	while true do 
		local iStr = tostring(i)
		if t['prr'..iStr] == nil then
			break
		end
		possibleRejectReasons[i] = t['prr'..iStr]
		i = i + 1
	end
	i = 1
	while true do 
		local iStr = tostring(i)
		if t['fn'..iStr] == nil then
			break
		end
		fixNeeded[i] = t['fn'..iStr]
		i = i + 1
	end
end

function p.main(frame)
	assignArgs(frame:getParent().args)
	srrStr = catWikitext('以下项目严重阻止条目审核通过', seriousRejectReasons, 'darkred')
	rrStr = catWikitext('以下项目阻止条目审核通过', rejectReasons, 'red')
	prrStr = catWikitext('以下项目可能影响条目审核通过', possibleRejectReasons, 'orange')
	fnStr = catWikitext('以下项目建议修正', fixNeeded, 'blue')
	footer = ''
	if srrStr == '' and rrStr == '' then
		footer = '注意:此次拒绝不代表此审核员认为该版本不可发布,但仍可能被其他审核员拒绝,您若确实无念修正上述问题,可直接重新提交。'
	end
	if srrStr == '' and rrStr == '' and prrStr == '' then
		footer = '注意:此次拒绝不代表此审核员认为该版本不可发布,仅作为修改意见,您若不愿接受该修改意见,可直接重新提交。'
	end
	if srrStr ~= '' then 
		sideBarColor = '#ff0000'
		bgColor = '#ffeded'
	elseif rrStr ~= '' then
		sideBarColor = '#ff9b4a'
		bgColor = '#fff1e6'
	elseif prrStr ~= '' then
		sideBarColor = '#66ccff'
		bgColor = '#dcfdff'
	elseif fnStr ~= '' then
		sideBarColor = '#39c5bb'
		bgColor = '#c4fffb'
	else
		return '<span style="color:#f00;font-size:125%;font-weight:bold;">错误:没有拒绝理据</span>'
	end
	if frame:getParent().args['suffix'] ~= nil then
		if footer == '' then
			footer = frame:getParent().args['suffix']
		else
			footer = footer .. '\n\n' .. frame:getParent().args['suffix']
		end
	end
	local div = mw.html.create( 'div' )
	div
	     :css('width', 'auto')
	     :css('border-left', '4px solid ' .. sideBarColor)
	     :css('background', bgColor)
	     :css('padding', '10px')
	     :wikitext(srrStr .. rrStr .. prrStr .. fnStr .. footer)
	return div
end

return p