Module:CountdownBanner: Difference between revisions

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



Revision as of 20:59, 19 November 2025

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 '<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