Module:CountdownBanner

From 20R1
Revision as of 21:04, 19 November 2025 by Alex (talk | contribs)

Documentation for this module may be created at Module:CountdownBanner/doc

local p = {}

function p.show( frame )
    local currentTime = os.time()

 -- Use the normal DPL-style SMW query instead of mw.smw.ask
 local query = '{{#ask: [[Category:Events]] [[Event Date::>' .. os.date("!%Y-%m-%d", currentTime) .. ']] '
              .. '|?Event Date'
              .. '|?Event Name=Name'
              .. '|?Event Location=Location'
              .. '|?Event Flyer=Flyer'
              .. '|sort=Event Date'
              .. '|order=asc'
              .. '|limit=1'
              .. '|format=template'
              .. '|template=CountdownBannerHelper'
              .. '}}'

 local result = frame:preprocess( query )

 -- If nothing returned, show friendly message
 if result == '' or result:match'^%s*$' then
 	
  return '<pre>'..query..'<br>'..result..'</pre><div style="background:#b22234;color:white;padding:20px;text-align:center;font-size:18px;">No immediate upcoming events scheduled</div>'
 end

 return result
end

return p