Module:Football squad explained

-- This implements Template:Football squadlocal p =

local getArgs = require('Module:Arguments').getArgslocal Navbox = require('Module:Navbox')

local function buildList(args, listType) local list= for k, v in pairs(args) do if (type(k)

'string') and (mw.ustring.match((v or ),'%S') ~= nil) then local prefix, n = k:sub(1,string.len(listType)), k:sub(string.len(listType)+1) if prefix

listType and (tonumber(n) or n

) then if listType

'manager' then n = (args['manager_type' .. n] or "Manager") .. ':' end if k

listType then k = listType .. '1' end local row = string.format('*

%s %s', k, n, v) table.insert(list, row) end end end table.sort(list, function (x, y) return tonumber(string.match(x, 'fbsquad_' .. listType .. '(%d*)"')) < tonumber(string.match(y, 'fbsquad_' .. listType .. '(%d*)"')) end) return table.concat(list, "\n") .. "\n"end

function p.navbox(frame) local args = getArgs(frame)

args.name = args.name or "" args.state = args.state or "autocollapse" args.teamname = args.teamname or "" args.bgcolor = args.bgcolor or "#ccf" args.textcolor = args.textcolor or "#000" args.bordercolor = args.bordercolor or ""

args.list1 = buildList(args, 'p') .. (args.list1 or args.list or ) .. buildList(args, 'manager') if args.list1

then args.list1 = '' end

 - current squad"

return Navbox._navboxend

return p