No edit summary |
mNo edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
function Sponsors.make(results, frame) | function Sponsors.make(results, frame) | ||
if type(results) | if type(results) == 'string' then results = Sponsors.encode(results) end | ||
local container = mw.html.create('div') | local container = mw.html.create('div') | ||
for r = 1, #results do | for r = 1, #results do | ||
local result = results[r] | local result = results[r] | ||
local id = string.gsub(result.id, 'Companies/', '') | |||
local sponsor = mw.html.create('div') | local sponsor = mw.html.create('div') | ||
:wikitext('[[' .. | :wikitext('[[Companies/' .. id .. '|' .. id .. ']]') | ||
if result.startRef or result.startRefName then | if result.startRef or result.startRefName then | ||
local startRefName = result.startRefName or '' | local startRefName = result.startRefName or '' | ||
Line 20: | Line 21: | ||
end | end | ||
function | function Sponsors.encode(jsonString) | ||
local decodedTables = {} | local decodedTables = {} | ||
Latest revision as of 21:28, 14 February 2024
Documentation for this module may be created at Module:Infobox/Widget/Sponsors/doc
local Sponsors = {}
function Sponsors.make(results, frame)
if type(results) == 'string' then results = Sponsors.encode(results) end
local container = mw.html.create('div')
for r = 1, #results do
local result = results[r]
local id = string.gsub(result.id, 'Companies/', '')
local sponsor = mw.html.create('div')
:wikitext('[[Companies/' .. id .. '|' .. id .. ']]')
if result.startRef or result.startRefName then
local startRefName = result.startRefName or ''
local startRef = result.startRef or ''
sponsor:wikitext(frame:preprocess('<ref name='.. startRefName .. '>' ..startRef.. '</ref>'))
end
container:node(sponsor)
end
return container
end
function Sponsors.encode(jsonString)
local decodedTables = {}
for objectString in jsonString:gmatch('{.-}') do
local decodedTable = {}
for key, value in objectString:gmatch('"(%w+)":"([^"]+)"') do
decodedTable[key] = value
end
table.insert(decodedTables, decodedTable)
end
return decodedTables
end
return Sponsors