<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ARugby_box_collapsible</id>
	<title>Module:Rugby box collapsible - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ARugby_box_collapsible"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Rugby_box_collapsible&amp;action=history"/>
	<updated>2026-05-26T13:45:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Rugby_box_collapsible&amp;diff=144954&amp;oldid=prev</id>
		<title>imported&gt;PotatoNerd: Undid revision 1117335541 by Banku (talk)</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Rugby_box_collapsible&amp;diff=144954&amp;oldid=prev"/>
		<updated>2022-10-21T23:37:06Z</updated>

		<summary type="html">&lt;p&gt;Undid revision 1117335541 by &lt;a href=&quot;/research/Special:Contributions/Banku&quot; title=&quot;Special:Contributions/Banku&quot;&gt;Banku&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:Banku&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Banku (page does not exist)&quot;&gt;talk&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Implements [[Template:Rugbybox collapsible]]&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local labels = {&lt;br /&gt;
	[&amp;#039;try&amp;#039;] = &amp;quot;Try:&amp;quot;,&lt;br /&gt;
	[&amp;#039;con&amp;#039;] = &amp;quot;Con:&amp;quot;,&lt;br /&gt;
	[&amp;#039;pen&amp;#039;] = &amp;quot;Pen:&amp;quot;,&lt;br /&gt;
	[&amp;#039;drop&amp;#039;] = &amp;quot;Drop:&amp;quot;,&lt;br /&gt;
	[&amp;#039;cards&amp;#039;] = &amp;quot;Cards:&amp;quot;,&lt;br /&gt;
	[&amp;#039;aet&amp;#039;] = &amp;quot;([[Overtime (sports)#Rugby union|a.e.t.]])&amp;quot;,&lt;br /&gt;
	[&amp;#039;attendance&amp;#039;] = &amp;quot;Attendance:&amp;quot;,&lt;br /&gt;
	[&amp;#039;referee&amp;#039;] = &amp;quot;Referee:&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
local colors = {&lt;br /&gt;
	[&amp;quot;W&amp;quot;] = &amp;quot;CCFFCC&amp;quot;,&lt;br /&gt;
	[&amp;quot;L&amp;quot;] = &amp;quot;FFCCCC&amp;quot;,&lt;br /&gt;
	[&amp;quot;T&amp;quot;] = &amp;quot;FFFFCC&amp;quot;, &lt;br /&gt;
	[&amp;quot;D&amp;quot;] = &amp;quot;FFFFCC&amp;quot;,&lt;br /&gt;
	[&amp;quot;V&amp;quot;] = &amp;quot;CCCCCC&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function isnotempty(s)&lt;br /&gt;
	return s and s:match( &amp;#039;^%s*(.-)%s*$&amp;#039; ) ~= &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trim(s)&lt;br /&gt;
	if isnotempty(s) then&lt;br /&gt;
		s = s:match(&amp;#039;^[\&amp;#039;&amp;quot;%s]*(.-)[\&amp;#039;&amp;quot;%s]*$&amp;#039;)&lt;br /&gt;
		return isnotempty(s) and s or nil&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getbackground(result, bg)&lt;br /&gt;
	result = result or &amp;#039;&amp;#039;&lt;br /&gt;
	local color = colors[result:upper()]&lt;br /&gt;
	if color then&lt;br /&gt;
		color = &amp;#039;#&amp;#039; .. color&lt;br /&gt;
	elseif isnotempty(bg) then&lt;br /&gt;
		color = &amp;#039;#&amp;#039; .. bg&lt;br /&gt;
	else&lt;br /&gt;
		color = &amp;#039;transparent&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return color&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getscore(score, other)&lt;br /&gt;
	if not score then&lt;br /&gt;
		local details = {}&lt;br /&gt;
		for i, k in ipairs({&amp;#039;try&amp;#039;, &amp;#039;con&amp;#039;, &amp;#039;pen&amp;#039;, &amp;#039;drop&amp;#039;, &amp;#039;cards&amp;#039;}) do&lt;br /&gt;
			if other[k] then&lt;br /&gt;
				table.insert(details, &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. labels[k] .. &amp;quot;&amp;#039;&amp;#039;&amp;#039; &amp;quot; .. other[k])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(details, &amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	return score or &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getextra(attendance, referee)&lt;br /&gt;
	local extra = {}&lt;br /&gt;
	if attendance then&lt;br /&gt;
		table.insert(extra, labels[&amp;#039;attendance&amp;#039;] .. &amp;#039; &amp;#039; .. attendance)&lt;br /&gt;
	end&lt;br /&gt;
	if referee then&lt;br /&gt;
		table.insert(extra, labels[&amp;#039;referee&amp;#039;] .. &amp;#039; &amp;#039; .. referee)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(extra, &amp;#039;&amp;lt;br /&amp;gt;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	-- Defaults and arg processing&lt;br /&gt;
	local class = trim(args.class or &amp;#039;mw-collapsible mw-collapsed&amp;#039;)&lt;br /&gt;
	local width = trim(args.width or &amp;#039;100%&amp;#039;)&lt;br /&gt;
	local note_width = trim(args[&amp;#039;note-width&amp;#039;] or &amp;#039;8%&amp;#039;)&lt;br /&gt;
	local date_width = trim(args[&amp;#039;date-width&amp;#039;] or &amp;#039;15%&amp;#039;)&lt;br /&gt;
	local team_width = trim(args[&amp;#039;team-width&amp;#039;] or &amp;#039;22%&amp;#039;)&lt;br /&gt;
	local score_width = trim(args[&amp;#039;score-width&amp;#039;] or &amp;#039;11%&amp;#039;)&lt;br /&gt;
	local stadium_width = trim(args[&amp;#039;stadium-width&amp;#039;] or &amp;#039;18%&amp;#039;)&lt;br /&gt;
	local team1 = args[&amp;#039;team1&amp;#039;] and args[&amp;#039;team1&amp;#039;] or args[&amp;#039;home&amp;#039;] or &amp;#039;&amp;#039;&lt;br /&gt;
	local team2 = args[&amp;#039;team2&amp;#039;] and args[&amp;#039;team2&amp;#039;] or args[&amp;#039;away&amp;#039;] or &amp;#039;&amp;#039;&lt;br /&gt;
	local score = args[&amp;#039;score&amp;#039;] and args[&amp;#039;score&amp;#039;] or &amp;#039;v&amp;#039;&lt;br /&gt;
	if args[&amp;#039;score&amp;#039;] and args[&amp;#039;aet&amp;#039;] then&lt;br /&gt;
		score = score .. &amp;#039; &amp;#039; .. labels[&amp;#039;aet&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	local score1 = getscore(args[&amp;#039;homescore&amp;#039;], {&lt;br /&gt;
		[&amp;#039;try&amp;#039;] = args[&amp;#039;try1&amp;#039;],&lt;br /&gt;
		[&amp;#039;con&amp;#039;] = args[&amp;#039;con1&amp;#039;],&lt;br /&gt;
		[&amp;#039;pen&amp;#039;] = args[&amp;#039;pen1&amp;#039;],&lt;br /&gt;
		[&amp;#039;drop&amp;#039;] = args[&amp;#039;drop1&amp;#039;],&lt;br /&gt;
		[&amp;#039;cards&amp;#039;] = args[&amp;#039;cards1&amp;#039;]})&lt;br /&gt;
	local score2 = getscore(args[&amp;#039;awayscore&amp;#039;], {&lt;br /&gt;
		[&amp;#039;try&amp;#039;] = args[&amp;#039;try2&amp;#039;],&lt;br /&gt;
		[&amp;#039;con&amp;#039;] = args[&amp;#039;con2&amp;#039;],&lt;br /&gt;
		[&amp;#039;pen&amp;#039;] = args[&amp;#039;pen2&amp;#039;],&lt;br /&gt;
		[&amp;#039;drop&amp;#039;] = args[&amp;#039;drop2&amp;#039;],&lt;br /&gt;
		[&amp;#039;cards&amp;#039;] = args[&amp;#039;cards2&amp;#039;]})&lt;br /&gt;
	local extra = getextra(args[&amp;#039;attendance&amp;#039;], args[&amp;#039;referee&amp;#039;])&lt;br /&gt;
&lt;br /&gt;
	-- Styles&lt;br /&gt;
	local small = &amp;#039;font-size:85%;&amp;#039;&lt;br /&gt;
	local left = &amp;#039;text-align:left;&amp;#039;&lt;br /&gt;
	local right = &amp;#039;text-align:right;&amp;#039;&lt;br /&gt;
	local center = &amp;#039;text-align:center;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Start box&lt;br /&gt;
	local t = {}&lt;br /&gt;
	table.insert(t, &amp;#039;{| cellspacing=0&amp;#039;)&lt;br /&gt;
	if isnotempty(class) then&lt;br /&gt;
		table.insert(t, &amp;#039; class=&amp;quot;&amp;#039; .. class .. &amp;#039;&amp;quot;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	-- Start table style&lt;br /&gt;
	table.insert(t, &amp;#039; style=&amp;quot;&amp;#039;)&lt;br /&gt;
	if ((not args[&amp;#039;nobars&amp;#039;]) and (not args[&amp;#039;stack&amp;#039;])) then&lt;br /&gt;
		table.insert(t, &amp;#039;border-bottom: 1px solid #e0e0e0;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if isnotempty(width) then&lt;br /&gt;
		table.insert(t, &amp;#039;width: &amp;#039; .. width .. &amp;#039;;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(t, &amp;#039;background:&amp;#039; .. getbackground(args.result, args.bg) .. &amp;#039;&amp;quot;\n&amp;#039;)&lt;br /&gt;
	-- End table style&lt;br /&gt;
	-- First row&lt;br /&gt;
	table.insert(t, &amp;#039;|- style=&amp;quot;vertical-align:top;&amp;quot;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. note_width .. &amp;#039;;&amp;#039; .. left .. small .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. (args[&amp;#039;note&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. date_width .. &amp;#039;;&amp;#039; .. right .. small .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. (args[&amp;#039;date&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. team_width .. &amp;#039;;&amp;#039; .. right .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. team1 .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. score_width .. &amp;#039;;&amp;#039; .. center .. &amp;#039;font-weight:bold;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. score .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. team_width .. &amp;#039;;&amp;#039; .. left .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. team2 .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;width:&amp;#039; .. stadium_width .. &amp;#039;;&amp;#039; .. small .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		.. &amp;#039; | &amp;#039; .. (args[&amp;#039;stadium&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;! style=&amp;quot;width:4%&amp;quot; rowspan=&amp;quot;2&amp;quot; |&amp;amp;nbsp;\n&amp;#039;) -- show/hide spacer&lt;br /&gt;
	-- Second row&lt;br /&gt;
	table.insert(t, &amp;#039;|- style=&amp;quot;vertical-align:top;&amp;#039; .. small .. &amp;#039;&amp;quot;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;&amp;#039; .. left .. &amp;#039;&amp;quot; | &amp;#039; &lt;br /&gt;
		.. (args[&amp;#039;note2&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;&amp;#039; .. right .. &amp;#039;&amp;quot; | &amp;#039; &lt;br /&gt;
		.. (args[&amp;#039;time&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;&amp;#039; .. right .. &amp;#039;&amp;quot; | &amp;#039; &lt;br /&gt;
		.. (score1 or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;&amp;#039; .. center .. &amp;#039;&amp;quot; | &amp;#039; &lt;br /&gt;
		.. (args[&amp;#039;report&amp;#039;] or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| style=&amp;quot;&amp;#039; .. left .. &amp;#039;&amp;quot; | &amp;#039; &lt;br /&gt;
		.. (score2 or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;&amp;#039; .. left .. &amp;#039;&amp;quot; | &amp;#039;&lt;br /&gt;
		.. (extra or &amp;#039;&amp;#039;) .. &amp;#039;\n&amp;#039;)&lt;br /&gt;
	table.insert(t, &amp;#039;|}&amp;#039;)&lt;br /&gt;
	return table.concat(t)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;PotatoNerd</name></author>
	</entry>
</feed>