Module:CountdownBanner: Difference between revisions
From 20R1
No edit summary |
No edit summary |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 28: | Line 28: | ||
function p.query( frame ) | function p.query( frame ) | ||
local currentTime = os.time() | local currentTime = os.time() | ||
local lb = ' [[' | local lb = '[[' --' [[' | ||
local rb = ']] ' | local rb = ']]' --']] ' | ||
local query = '{{#ask: '..lb..'Club Name::+'..rb..' '..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb | local query = '{{#ask: '..lb..'Club Name::+'..rb..' '..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb | ||
.. '|?Start Date' | .. '|?Start Date' | ||
.. '|?Event Name=Name' | .. '|?Event Name=Name' | ||
.. '|?Event Location=Location' | .. '|?Event Location=Location' | ||
.. '|?Event | .. '|?Event Photo=Flyer' | ||
.. '|sort=Start Date' | .. '|sort=Start Date' | ||
.. '|order=asc' | .. '|order=asc' | ||
| Line 46: | Line 46: | ||
function p.result( frame ) | function p.result( frame ) | ||
local currentTime = os.time() | local currentTime = os.time() | ||
local lb = ' [[' | local lb = '[[' --' [[' | ||
local rb = ']] ' | local rb = ']]' --']] ' | ||
local | local filter = lb..'Club Name::+'..rb..' '..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb | ||
local query = --'{{#ask: '.. | |||
.. '|?Event Name=Name' | '\n|?Start Date' | ||
.. '|?Event Location=Location' | .. '\n|?Event Name=Name' | ||
.. '|?Event Flyer=Flyer' | .. '\n|?Event Location=Location' | ||
.. '|sort=Start Date' | .. '\n|?Event Flyer=Flyer' | ||
.. '|order=asc' | .. '\n|sort=Start Date' | ||
.. '|limit=1' | .. '\n|order=asc' | ||
.. '|}}' | .. '\n|limit=1' | ||
--.. '\n||}}' | |||
return frame:preprocess( | local result=frame:preprocess( '{{Query|query=' .. query .. '|filter='..filter..'|}}' ) | ||
return frame:preprocess( '{{CountdownBannerDisplay|'..result..'|}}' ) | |||
end | end | ||
return p | return p | ||
Latest revision as of 04:19, 20 November 2025
Documentation for this module may be created at Module:CountdownBanner/doc
local p = {}
function p.show( frame )
local currentTime = os.time()
local lb = ' [['
local rb = ']] '
local query = '{{#ask: '..lb..'Club Name::+'..rb..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb
.. '|?Start Date'
.. '|?Event Name=Name'
.. '|?Event Location=Location'
.. '|?Event Flyer=Flyer'
.. '|sort=Start Date'
.. '|order=asc'
.. '|limit=1'
.. '|}}'
local result = frame:preprocess( query )
if result == '' or result:match'^%s*$' then
local banner = '<div style="background:#b22234;color:white;padding:20px;text-align:center;font-size:18px;">No upcoming events scheduled</div>'
banner = 'QUERY:'..query..'<br><pre>RESULT:'..result..'<hr>'..banner
return query
end
return frame:preprocess( '{{CountdownBannerDisplay|' .. query .. '}}' )
end
function p.query( frame )
local currentTime = os.time()
local lb = '[[' --' [['
local rb = ']]' --']] '
local query = '{{#ask: '..lb..'Club Name::+'..rb..' '..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb
.. '|?Start Date'
.. '|?Event Name=Name'
.. '|?Event Location=Location'
.. '|?Event Photo=Flyer'
.. '|sort=Start Date'
.. '|order=asc'
.. '|limit=1'
.. '|}}'
return '<pre>'..query..'</pre>'
--return frame:preprocess( '{{CountdownBannerDisplay|' .. query .. '}}' )
end
function p.result( frame )
local currentTime = os.time()
local lb = '[[' --' [['
local rb = ']]' --']] '
local filter = lb..'Club Name::+'..rb..' '..lb..'Start Date::> '..os.date("!%Y-%m-%d", currentTime)..rb
local query = --'{{#ask: '..
'\n|?Start Date'
.. '\n|?Event Name=Name'
.. '\n|?Event Location=Location'
.. '\n|?Event Flyer=Flyer'
.. '\n|sort=Start Date'
.. '\n|order=asc'
.. '\n|limit=1'
--.. '\n||}}'
local result=frame:preprocess( '{{Query|query=' .. query .. '|filter='..filter..'|}}' )
return frame:preprocess( '{{CountdownBannerDisplay|'..result..'|}}' )
end
return p
