Jump to content
Main menu
Main menu
move to sidebar
hide
Panyanja
Tsamba lalikulu
Tsamba la anthu wonse
Current events
Kusintha kumene kwachitika posachedwa
mwachisawawa Tsamba
Chithandizo
Helpful Pages
Mafunso
Thandizo
Nkhani Zofuna Kukonza
Kalembedwe ka nkhani
Fufuzani
Fufuzani
Appearance
Perekani
Pangani akaunti
Lowani muakaunti
Zida zawekha
Perekani
Pangani akaunti
Lowani muakaunti
Pages for logged out editors
learn more
Contributions
Kulankhula
Editing
Module:Fb overview
Add languages
Module
Kukambirana
English
Read
Edit source
Onani mbiri
zida
Tools
move to sidebar
hide
Actions
Read
Edit source
Onani mbiri
General
Chimene chikugwirizanitsa apa
Related changes
Upload file
Zambiri za tsamba
Get shortened URL
Download QR code
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- This implements {{fb overview}} local p = {} -- Internationalisation local trackingcat = 'Category:Pages using sports overview with unknown parameters' local labels = { competition = 'Competition', firstmatch = 'First match', lastmatch = 'Last match', startinground = 'Starting round', finalposition = 'Final position', record = 'Record', total = 'Total', source = 'Source: ', lastupdated = 'Last updated: ', sourcedefault = '[[#Competitions|Competitions]]', unknownparameter = 'Unknown parameter: ', pld = '<abbr title="Games played">Pld</abbr>', w = '<abbr title="Games won">W</abbr>', d = '<abbr title="Games drawn">D</abbr>', l = '<abbr title="Games lost">L</abbr>', pf = '<abbr title="Points for">PF</abbr>', pa = '<abbr title="Points against">PA</abbr>', pd = '<abbr title="Point difference">PD</abbr>', gf = '<abbr title="Goals for">GF</abbr>', ga = '<abbr title="Goals against">GA</abbr>', gd = '<abbr title="Goal difference">GD</abbr>', wp = '<abbr title="Winning percentage">Win %</abbr>', winner = 'Winner', runnerup = 'Runner-up', runnersup = 'Runners-up' } -- Main function function p.main(frame) local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) -- Get the row numbers and check for invalid input local rownumbers = {} local unknown = {} local showdates, showrounds, showpos = false, false, false local maxrow = -1 local rowlimit = 99 local function addrownumber(num, flag) if num <= rowlimit then table.insert(rownumbers, num) maxrow = (num > maxrow) and num or maxrow return true end return flag end for k, v in pairs(args) do k = tostring(k) local n = tonumber(k:match('^[a-z]+(%d+)$') or '-1') if k == 'u' or k == 'c' or k == 's' or k == 'pts' then -- These are valid elseif k:match('^[cwdlfa]%d+$') then local added = addrownumber(n, false) elseif k:match('[dfl]m%d%d*$') then showdates = addrownumber(n, showdates) elseif k:match('sr%d%d*$') then showrounds = addrownumber(n, showrounds) elseif k:match('fp%d%d*$') then showpos = addrownumber(n, showpos) else table.insert(unknown, k) end end -- Sort the row numbers table.sort(rownumbers) -- Remove duplicates for i=#rownumbers,2,-1 do if rownumbers[i-1] == rownumbers[i] then table.remove(rownumbers,i) end end local root = {} if maxrow > -1 then local WDL = require('Module:WDL').main -- Make the table table.insert(root,'{| class="wikitable" style="text-align:center"') -- Add the headers table.insert(root,'|-') table.insert(root,'! rowspan=2 | ' .. labels['competition']) local totspan = 1 if showdates then table.insert(root,'! rowspan=2 | ' .. labels['firstmatch']) table.insert(root,'! rowspan=2 | ' .. labels['lastmatch']) totspan = totspan + 2 end if showrounds then table.insert(root,'! rowspan=2 | ' .. labels['startinground']) totspan = totspan + 1 end if showpos then table.insert(root,'! rowspan=2 | ' .. labels['finalposition']) totspan = totspan + 1 end table.insert(root,'! colspan=8 | ' .. labels['record']) table.insert(root,'|-') table.insert(root,'! ' .. labels['pld']) table.insert(root,'! ' .. labels['w']) table.insert(root,'! ' .. labels['d']) table.insert(root,'! ' .. labels['l']) local pg = args.pts and args.pts == 'y' and 'p' or 'g' table.insert(root,'! ' .. labels[pg .. 'f']) table.insert(root,'! ' .. labels[pg .. 'a']) table.insert(root,'! ' .. labels[pg .. 'd']) table.insert(root,'! ' .. labels['wp']) local evenodd = 'odd' -- Now add the rows local wtot, dtot, ltot, ftot, atot = 0, 0, 0, 0, 0 for i=1,#rownumbers do local r = rownumbers[i] if evenodd == 'even' then table.insert(root,'|- style="background-color:#EEE"') evenodd = 'odd' else table.insert(root,'|-') evenodd = 'even' end table.insert(root,'| ' .. (args['c' .. r] or '')) if showdates then if args['dm' .. r] then table.insert(root,'| colspan=2 | ' .. args['dm' .. r]) else table.insert(root,'| ' .. (args['fm' .. r] or '')) table.insert(root,'| ' .. (args['lm' .. r] or '')) end end if showrounds then table.insert(root,'| ' .. (args['sr' .. r] or '')) end if showpos then local fp = args['fp' .. r] or '' local bg = (fp:match('^' .. labels['winner']) and 'gold') or (fp:match('^' .. labels['runnersup']) and 'silver') or (fp:match('^' .. labels['runnerup']) and 'silver') or nil if bg then table.insert(root,'| style="background-color:' .. bg .. '" | ' .. fp) else table.insert(root,'| ' .. fp) end end wtot = wtot + (tonumber(args['w' .. r]) or 0) dtot = dtot + (tonumber(args['d' .. r]) or 0) ltot = ltot + (tonumber(args['l' .. r]) or 0) ftot = ftot + (tonumber(args['f' .. r]) or 0) atot = atot + (tonumber(args['a' .. r]) or 0) table.insert(root, WDL(frame, {nil, args['w' .. r], args['d' .. r], args['l' .. r], ['for'] = args['f' .. r], ['against'] = args['a' .. r], ['diff'] = 'yes'}) ) end table.insert(root,'|-') if totspan > 1 then table.insert(root,'! colspan=' .. totspan .. ' | ' .. labels['total']) else table.insert(root,'! ' .. labels['total']) end table.insert(root, WDL(frame, {wtot+dtot+ltot, wtot, dtot, ltot, ['total'] = 'y', ['for'] = ftot, ['against'] = atot, ['diff'] = 'yes'}) ) table.insert(root, '|} \n<div style="font-size: 90%; margin-bottom: 0.5em;">\n') if args.u then table.insert(root, labels['lastupdated'] .. args.u .. '<br>') end table.insert(root, labels['source'] .. (args.s or labels['sourcedefault']) .. '\n</div>') end if #unknown > 0 then local unknown_params = require('Module:If preview')._warning({ labels['unknownparameter'] .. '<code>' .. table.concat(unknown, '</code>, <code>') .. '</code>.' }) .. '[[' .. trackingcat .. '|' .. unknown[1] .. ' ]]' table.insert(root, unknown_params) end return table.concat(root, '\n') end return p
Summary:
By saving changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Preview page with this template
Wikidata entities used in this page
Module:Fb overview
: Sitelink, Description: en
Template used on this page:
Module:Fb overview/doc
(
edit
)
Fufuzani
Fufuzani
Editing
Module:Fb overview
Add languages
Add topic