<?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%3ASandbox%2FB2project%2FWLT</id>
	<title>Module:Sandbox/B2project/WLT - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FB2project%2FWLT"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/B2project/WLT&amp;action=history"/>
	<updated>2026-04-17T18:46:29Z</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:Sandbox/B2project/WLT&amp;diff=145176&amp;oldid=prev</id>
		<title>imported&gt;B2project at 13:05, 11 June 2016</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/B2project/WLT&amp;diff=145176&amp;oldid=prev"/>
		<updated>2016-06-11T13:05:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Style for football tables&lt;br /&gt;
local pp = {}&lt;br /&gt;
 &lt;br /&gt;
function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt)&lt;br /&gt;
	-- Load relevant modules&lt;br /&gt;
	local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Create table header&lt;br /&gt;
	-- Pre stuff&lt;br /&gt;
	local team_width = Args[&amp;#039;teamwidth&amp;#039;] or &amp;#039;190&amp;#039;&lt;br /&gt;
	local sort_text = &amp;#039;&amp;#039;&lt;br /&gt;
	local sort_table_val = Args[&amp;#039;sortable_table&amp;#039;] 	or &amp;#039;no&amp;#039;&lt;br /&gt;
	if yesno(sort_table_val) then sort_text = &amp;#039;sortable&amp;#039; end&lt;br /&gt;
	table.insert(t,&amp;#039;{|class=&amp;quot;wikitable &amp;#039;..sort_text..&amp;#039;&amp;quot; style=&amp;quot;text-align:center;&amp;quot;\n&amp;#039;)            			-- Open table&lt;br /&gt;
	&lt;br /&gt;
	-- Custom header options&lt;br /&gt;
	-- Table header&lt;br /&gt;
	local table_header = Args[&amp;#039;table_header&amp;#039;]&lt;br /&gt;
	if table_header then&lt;br /&gt;
		table.insert(t,&amp;#039;|+&amp;#039;..table_header..&amp;#039;\n&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	--Column headers&lt;br /&gt;
	local pld_head_text = Args[&amp;#039;pld_header&amp;#039;] or &amp;#039;&amp;lt;abbr title=&amp;quot;Played&amp;quot;&amp;gt;Pld&amp;lt;/abbr&amp;gt;&amp;#039;&lt;br /&gt;
	local OTloss_head_text = Args[&amp;#039;OTloss_header&amp;#039;] or &amp;#039;&amp;lt;abbr title=&amp;quot;Lost in overtime&amp;quot;&amp;gt;OTL&amp;lt;/abbr&amp;gt;&amp;#039;&lt;br /&gt;
	local tiebr_head_text = Args[&amp;#039;tiebr_header&amp;#039;] or &amp;#039;&amp;lt;abbr title=&amp;quot;Tiebreaker&amp;quot;&amp;gt;TBR&amp;lt;/abbr&amp;gt;&amp;#039;&lt;br /&gt;
	local group_head_text = Args[&amp;#039;group_header&amp;#039;] or &amp;#039;&amp;lt;abbr title=&amp;quot;Group&amp;quot;&amp;gt;Grp&amp;lt;/abbr&amp;gt;&amp;#039;&lt;br /&gt;
	-- Use points instead of goals for/against&lt;br /&gt;
	local for_against_style = Args[&amp;#039;for_against_style&amp;#039;] 	or &amp;#039;goals&amp;#039;&lt;br /&gt;
	local fa_letter, fa_word_sing, fa_word_plur&lt;br /&gt;
	-- First convert to lower case if it is a string&lt;br /&gt;
	for_against_style = string.lower(for_against_style)&lt;br /&gt;
	if for_against_style==&amp;#039;g&amp;#039; or for_against_style==&amp;#039;goal&amp;#039; or for_against_style==&amp;#039;goals&amp;#039; then&lt;br /&gt;
		fa_letter = &amp;#039;G&amp;#039;&lt;br /&gt;
		fa_word_sing = &amp;#039;Goal&amp;#039;&lt;br /&gt;
		fa_word_plur = &amp;#039;Goals&amp;#039;&lt;br /&gt;
	elseif for_against_style==&amp;#039;p&amp;#039; or for_against_style==&amp;#039;point&amp;#039; or for_against_style==&amp;#039;points&amp;#039; then&lt;br /&gt;
		fa_letter = &amp;#039;P&amp;#039;&lt;br /&gt;
		fa_word_sing = &amp;#039;Point&amp;#039;&lt;br /&gt;
		fa_word_plur = &amp;#039;Points&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		fa_letter = &amp;#039;G&amp;#039;&lt;br /&gt;
		fa_word_sing = &amp;#039;Goal&amp;#039;&lt;br /&gt;
		fa_word_plur = &amp;#039;Goals&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	-- Whether to use goal ratio (goal average) instead&lt;br /&gt;
	local use_ratio_val = Args[&amp;#039;use_goal_ratio&amp;#039;] 	or &amp;#039;no&amp;#039;&lt;br /&gt;
	local do_ratio = false&lt;br /&gt;
	-- True if exist, false otherwise&lt;br /&gt;
	if yesno(use_ratio_val) then do_ratio = true end&lt;br /&gt;
	&lt;br /&gt;
	-- Whether to use tiebreak&lt;br /&gt;
	local use_tiebr_val = Args[&amp;#039;use_tiebreak&amp;#039;] or &amp;#039;yes&amp;#039;&lt;br /&gt;
	local do_tiebr = false&lt;br /&gt;
	if yesno(use_tiebr_val) then do_tiebr = true end&lt;br /&gt;
 &lt;br /&gt;
 	-- Ties and OTL&lt;br /&gt;
	local use_tieOTL_val = Args[&amp;#039;use_ties&amp;#039;] or &amp;#039;no&amp;#039;&lt;br /&gt;
	local do_ties = false&lt;br /&gt;
	if yesno(use_tieOTL_val) then do_ties = true end&lt;br /&gt;
 &lt;br /&gt;
	-- Initialize&lt;br /&gt;
	local tt = {}&lt;br /&gt;
	tt.count = 0 		-- Up by one after every call&lt;br /&gt;
	tt.tab_text = t		-- Actual text&lt;br /&gt;
	-- Actual headers&lt;br /&gt;
	tt = p_sub.colhead(tt,32,pos_label)											-- Position col&lt;br /&gt;
	-- Add group header&lt;br /&gt;
	if full_table and group_col then&lt;br /&gt;
		tt = p_sub.colhead(tt,32,group_head_text)								-- Group/division col&lt;br /&gt;
	end&lt;br /&gt;
	tt = p_sub.colhead(tt,team_width,&amp;#039;Team&amp;#039;..VTE_text)							-- Team col&lt;br /&gt;
	tt = p_sub.colhead(tt,32,pld_head_text)										-- Matches played col&lt;br /&gt;
	if full_table then&lt;br /&gt;
		tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;Won&amp;quot;&amp;gt;W&amp;lt;/abbr&amp;gt;&amp;#039;)					-- Win col&lt;br /&gt;
		tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;Lost&amp;quot;&amp;gt;L&amp;lt;/abbr&amp;gt;&amp;#039;)					-- Loss col&lt;br /&gt;
		if do_ties then&lt;br /&gt;
			tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;Ties&amp;quot;&amp;gt;T&amp;lt;/abbr&amp;gt;&amp;#039;)				-- Ties&lt;br /&gt;
		end&lt;br /&gt;
		tt = p_sub.colhead(tt,32,OTloss_head_text)&lt;br /&gt;
		if do_tiebr then&lt;br /&gt;
		tt = p_sub.colhead(tt,32,tiebr_head_text)&lt;br /&gt;
		end&lt;br /&gt;
		tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;&amp;#039;..fa_word_plur..&amp;#039; for&amp;quot;&amp;gt;&amp;#039;..fa_letter..&amp;#039;F&amp;lt;/abbr&amp;gt;&amp;#039;)		-- For col&lt;br /&gt;
		tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;&amp;#039;..fa_word_plur..&amp;#039; against&amp;quot;&amp;gt;&amp;#039;..fa_letter..&amp;#039;A&amp;lt;/abbr&amp;gt;&amp;#039;)	-- Against col&lt;br /&gt;
		if not do_ratio then&lt;br /&gt;
			tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;&amp;#039;..fa_word_sing..&amp;#039; difference&amp;quot;&amp;gt;&amp;#039;..fa_letter..&amp;#039;D&amp;lt;/abbr&amp;gt;&amp;#039;)	-- Difference col&lt;br /&gt;
		else&lt;br /&gt;
			tt = p_sub.colhead(tt,36,&amp;#039;&amp;lt;abbr title=&amp;quot;&amp;#039;..fa_word_sing..&amp;#039; ratio&amp;quot;&amp;gt;&amp;#039;..fa_letter..&amp;#039;R&amp;lt;/abbr&amp;gt;&amp;#039;)	-- Ratio col&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	tt = p_sub.colhead(tt,32,&amp;#039;&amp;lt;abbr title=&amp;quot;Points&amp;quot;&amp;gt;Pts&amp;lt;/abbr&amp;gt;&amp;#039;)					-- Points col&lt;br /&gt;
	if full_table then&lt;br /&gt;
		tt.count = tt.count+1&lt;br /&gt;
		table.insert(tt.tab_text,results_header_txt)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	return tt&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show)&lt;br /&gt;
	-- Build the inner parts of individual rows&lt;br /&gt;
	&lt;br /&gt;
	-- Sub-module usage&lt;br /&gt;
	local mm = require(&amp;#039;Module:Math&amp;#039;)&lt;br /&gt;
	local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	-- Get custom/default options for in table&lt;br /&gt;
	local win_points = tonumber(Args[&amp;#039;winpoints&amp;#039;])				or 2&lt;br /&gt;
	local loss_points = tonumber(Args[&amp;#039;losspoints&amp;#039;])			or 0&lt;br /&gt;
	local OTloss_points = tonumber(Args[&amp;#039;OTlosspoints&amp;#039;])		or 1&lt;br /&gt;
	local ties_points = tonumber(Args[&amp;#039;tiepoints&amp;#039;])				or 1&lt;br /&gt;
 &lt;br /&gt;
	-- Get some input&lt;br /&gt;
	local wins = tonumber(Args[&amp;#039;win_&amp;#039;..team_code_ii])			or 0&lt;br /&gt;
	local losses = tonumber(Args[&amp;#039;loss_&amp;#039;..team_code_ii])		or 0&lt;br /&gt;
	local OTlosses = tonumber(Args[&amp;#039;OTloss_&amp;#039;..team_code_ii])	or 0&lt;br /&gt;
	local ties = tonumber(Args[&amp;#039;ties_&amp;#039;..team_code_ii])			or 0&lt;br /&gt;
	local tiebr_val = tonumber(Args[&amp;#039;tiebr_&amp;#039;..team_code_ii])	or 0&lt;br /&gt;
	local gfor = tonumber(Args[&amp;#039;gf_&amp;#039;..team_code_ii]) or	tonumber(Args[&amp;#039;pf_&amp;#039;..team_code_ii]) or 0&lt;br /&gt;
	local gaig = tonumber(Args[&amp;#039;ga_&amp;#039;..team_code_ii]) or	tonumber(Args[&amp;#039;pa_&amp;#039;..team_code_ii]) or 0&lt;br /&gt;
	local s_pts = tonumber(Args[&amp;#039;adjust_points_&amp;#039;..team_code_ii]) or tonumber(Args[&amp;#039;startpoints_&amp;#039;..team_code_ii]) or 0&lt;br /&gt;
	local hth_local = Args[&amp;#039;hth_&amp;#039;..team_code_ii]				or nil&lt;br /&gt;
	-- Then calculate some values&lt;br /&gt;
	local matches = wins + losses + OTlosses + ties&lt;br /&gt;
	local points = win_points*wins + loss_points*losses + OTloss_points*OTlosses + s_pts + ties_points*ties&lt;br /&gt;
	&lt;br /&gt;
	-- Comparison of for against&lt;br /&gt;
	local gcomp&lt;br /&gt;
	-- Whether to use goal ratio (goal average) instead&lt;br /&gt;
	local use_ratio_val = Args[&amp;#039;use_goal_ratio&amp;#039;] 	or &amp;#039;no&amp;#039;&lt;br /&gt;
	local skip_sign&lt;br /&gt;
	if yesno(use_ratio_val) then&lt;br /&gt;
		-- Now it is the goal ratio/goal average&lt;br /&gt;
		if gaig == 0 then&lt;br /&gt;
			gcomp = &amp;#039;&amp;amp;mdash;&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			gcomp = mm._precision_format(gfor / gaig, 3)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- It&amp;#039;s goal difference&lt;br /&gt;
		gcomp = gfor - gaig&lt;br /&gt;
		-- Formatting with signs&lt;br /&gt;
		if gcomp&amp;gt;0 then&lt;br /&gt;
			gcomp=&amp;#039;+&amp;#039;..gcomp&lt;br /&gt;
		elseif gcomp &amp;lt; 0 then&lt;br /&gt;
			gcomp=&amp;#039;&amp;amp;minus;&amp;#039;..-gcomp&lt;br /&gt;
		end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
	-- Whether to use tiebreak&lt;br /&gt;
	local use_tiebr_val = Args[&amp;#039;use_tiebreak&amp;#039;] or &amp;#039;yes&amp;#039;&lt;br /&gt;
	local do_tiebr = false&lt;br /&gt;
	if yesno(use_tiebr_val) then do_tiebr = true end&lt;br /&gt;
	&lt;br /&gt;
 	-- Ties and OTL&lt;br /&gt;
	local use_tieOTL_val = Args[&amp;#039;use_ties&amp;#039;] or &amp;#039;no&amp;#039;&lt;br /&gt;
	local do_ties = false&lt;br /&gt;
	if yesno(use_tieOTL_val) then do_ties = true end&lt;br /&gt;
 &lt;br /&gt;
	-- Some local vars	&lt;br /&gt;
	local hth_string&lt;br /&gt;
	local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val)&lt;br /&gt;
	hth_string = tt_return.str&lt;br /&gt;
	hth_id_list = tt_return.list&lt;br /&gt;
	notes_exist = tt_return.notes_exist&lt;br /&gt;
 &lt;br /&gt;
	-- Row building&lt;br /&gt;
	table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..matches..&amp;#039;\n&amp;#039;) 		-- Played&lt;br /&gt;
	if full_table then&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..wins..&amp;#039;\n&amp;#039;) 		-- Won&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..losses..&amp;#039;\n&amp;#039;) 	-- Lost&lt;br /&gt;
		if do_ties then&lt;br /&gt;
			table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..ties..&amp;#039;\n&amp;#039;)	-- Ties&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..OTlosses..&amp;#039;\n&amp;#039;) 	-- Lost in OT&lt;br /&gt;
		if do_tiebr then&lt;br /&gt;
			table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..tiebr_val..&amp;#039;\n&amp;#039;) 	-- Tiebreaker value&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..gfor..&amp;#039;\n&amp;#039;) 		-- GF&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..gaig..&amp;#039;\n&amp;#039;)		-- GA&lt;br /&gt;
		table.insert(t,&amp;#039;| style=&amp;quot;&amp;#039;..ii_fw..bg_col..&amp;#039;&amp;quot; |&amp;#039;..gcomp..&amp;#039;\n&amp;#039;)      -- Goal comparison&lt;br /&gt;
	end&lt;br /&gt;
	-- Add &amp;amp;minus; for negative point totals&lt;br /&gt;
	table.insert(t,&amp;#039;| style=&amp;quot;font-weight: bold;&amp;#039;..bg_col..&amp;#039;&amp;quot; | &amp;#039;)&lt;br /&gt;
	if points&amp;lt;0 then&lt;br /&gt;
		table.insert(t,&amp;#039;&amp;amp;minus;&amp;#039;..-points..hth_string)&lt;br /&gt;
	else&lt;br /&gt;
		table.insert(t,points..hth_string)&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(t,&amp;#039;\n&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
	return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list}&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function pp.status(Args)&lt;br /&gt;
	-- Declare status options&lt;br /&gt;
	-- ------------------------------------------------------------&lt;br /&gt;
	-- NOTE: If you add to status_code, also add to status_called and status_letters!!&lt;br /&gt;
	-- Or functionality will be compromised&lt;br /&gt;
	-- ------------------------------------------------------------&lt;br /&gt;
	local status_code, status_called = {}&lt;br /&gt;
	status_code = {	E=&amp;#039;Eliminated from playoff contention&amp;#039;, P=&amp;#039;Clinched Presidents Trophy&amp;#039;,&lt;br /&gt;
		X=&amp;#039;Clinched playoff spot&amp;#039;, Y=&amp;#039;Clinched division&amp;#039;, Z=&amp;#039;Clinched conference&amp;#039;}&lt;br /&gt;
	status_called = {E=false, P=false, X=false, Y=false, Z=false}&lt;br /&gt;
	local status_letters = &amp;#039;EPXYZ&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Status position (before or after read and default)&lt;br /&gt;
	local stat_pos_val = Args[&amp;#039;status_pos&amp;#039;] or &amp;#039;&amp;#039;&lt;br /&gt;
	local status_position = &amp;#039;before&amp;#039; 	-- Default location&lt;br /&gt;
	stat_pos_val = string.lower(stat_pos_val)&lt;br /&gt;
	if stat_pos_val==&amp;#039;before&amp;#039; then&lt;br /&gt;
		status_position = &amp;#039;before&amp;#039;&lt;br /&gt;
	elseif stat_pos_val==&amp;#039;after&amp;#039; then&lt;br /&gt;
		status_position = &amp;#039;after&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return {code=status_code, called=status_called, letters=status_letters, position=status_position}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return pp&lt;/div&gt;</summary>
		<author><name>imported&gt;B2project</name></author>
	</entry>
</feed>