Homepage
Games
News
News βΎ
All
Transfers
Drama
Business
Sponsors
Mergers
Investors
Hires
Companies
More
People
Tournaments
Brands
Brands βΎ
Companies
Organizations
Sponsors
Other
Locations
Search
Editing
Module:PageIsSponsoring
From TwogPedia
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!
local cargo = mw.ext.cargo local Flags = require('Module:Flags') local PageIsSponsoring = {} function PageIsSponsoring.main(frame) local currentTitle = mw.title.getCurrentTitle().text local empty = true -- Check if there are any interviews for this page local tables = 'Sponsors' local fields = '_pageName, id, type, start, startString, end, endString' local currentDate = os.date('%Y-%m-%d') local cargoArgs = { where = 'id ="' .. currentTitle .. '" AND (end is NULL OR end > "' .. currentDate .. '")', limit=30, orderBy = 'type, start' } local results = cargo.query(tables, fields, cargoArgs) local fullString = '' local sponsorshipsIconHtml = '[[File:sponsors-icon.png|30px|alt=Sponsorships Icon]]' local container = mw.html.create('div'):addClass('container') container:node(mw.html.create('div'):addClass('news-icon'):wikitext(sponsorshipsIconHtml .. ' <span>Sponsorships</span>')) -- local container = mw.html.create() -- :node(mw.html.create('h2'):wikitext('Sponsorships')) local hasMultipleTypes = hasMultipleUniqueTypes(results) if #results > 0 then empty = false local limit = 1 local type = results[1].type if hasMultipleTypes then fullString = fullString .. '<tabber>|-|' .. PageIsSponsoring.capitalizeFirstCharacter(type) .. 's=' end local Table = mw.html.create('table') :addClass('striped-table') local titleRow = mw.html.create('tr') :addClass('headerRow') local nameCell = mw.html.create('th') :wikitext('Name') local startCell = mw.html.create('th') :wikitext('Start') Table:node(titleRow:node(nameCell):node(startCell)) for r = 1, #results do local result = results[r] if results[r-1] and results[r-1].type ~= result.type then limit = 1 country = Flags.CountryName(result.country) if hasMultipleTypes then fullString = fullString .. tostring(mw.clone(Table)) .. '|-|' .. PageIsSponsoring.capitalizeFirstCharacter(result.type) .. 's=' else fullString = fullString .. tostring(mw.clone(Table)) end Table = mw.html.create('table') :addClass('striped-table') titleRow = mw.html.create('tr') :addClass('headerRow') nameCell = mw.html.create('th') :wikitext('Name') startCell= mw.html.create('th') :wikitext('Start') Table:node(titleRow:node(nameCell):node(startCell)) end if limit < 10 then local resultRow= mw.html.create('tr'):addClass('bodyRow') local name = mw.html.create('td'):wikitext('[[' .. result._pageName .. ']]') local start = mw.html.create('td') :node(result.startString or 'TBD' ) Table:node(resultRow:node(name):node(start)) end limit = limit + 1 end fullString = fullString .. tostring(Table) end if hasMultipleTypes then fullString = fullString .. '</tabber>' end if empty then return '<span class="d-none"></span>' else return container:wikitext(frame:preprocess(fullString)) end end function PageIsSponsoring.capitalizeFirstCharacter(str) return str:gsub('^%l', string.upper) end function hasMultipleUniqueTypes(results) if #results == 0 then return false end local uniqueTypes = {} for _, result in ipairs(results) do uniqueTypes[result.type] = true -- If there are already more than 1 unique types, return true if next(uniqueTypes, next(uniqueTypes)) then return true end end -- If we reached here, there's either 1 or 0 unique types return false end return PageIsSponsoring
Summary:
Please note that all contributions to TwogPedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
TwogPedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Preview page with this template
Template used on this page:
Module:PageIsSponsoring/doc
(
edit
)
No categories
Edit