Module:CountdownBanner: Difference between revisions

From 20R1
No edit summary
No edit summary
Line 5: Line 5:


  -- Use the normal DPL-style SMW query instead of mw.smw.ask
  -- 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) .. ']] '
  local query = '{{#ask: [[Category:Events]] [[Event Date::>=' .. os.date("!%Y-%m-%d", currentTime) .. ']] '
               .. '|?Event Date'
               .. '|?Event Date'
               .. '|?Event Name=Name'
               .. '|?Event Name=Name'
Line 22: Line 22:
  if result == '' or result:match'^%s*$' then
  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>'
   return 'Query:<pre>'..query..'<br><br>Result:'..result..'</pre><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 21:08, 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 'Query:<pre>'..query..'<br><br>Result:'..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