Module:Tempnotice
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Tempnotice/doc
--<pre>Displays a notice for XX days -- based on the last date the page was saved/edited -- use in template or directly -- Syntax = {{#invoke:Tempnotice|main|days=2|notice="This message will self-destruct in ..."|template=true}} -- Syntax = {{#invoke:Tempnotice|main|days=2|notice=selfdestruct|template=true}} local p = {} local u = require("Module:Utility") function p.main(frame) local oArgTable = require("Module:Arguments").getArgs(frame) if (oArgTable) then local iDays = oArgTable["days"] local endDate = oArgTable["date"] local sArg1 = oArgTable[1] or oArgTable["notice"] local bTemplate = oArgTable["template"] return p.shownotice(iDays,sArg1,endDate,bTemplate) end end function p.shownotice(iDays,sArg1,endDate,bTemplate) local sCat ="" if (iDays or endDate) and sArg1 then local revDate =preprocess("{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}") local dFutureDate = u.addDays (revDate,iDays) local todayDate = os.date("%Y-%m-%d") local iDaysLeft = u.datediff(dFutureDate,todayDate) local isValidDate = u.checkdate(endDate) local sPrefix,sSuffix ="","" if isValidDate then iDaysLeft = u.datediff(endDate,os.date("%Y-%m-%d")) end if bTemplate then sPrefix = "{{" sSuffix = "}}" end if iDaysLeft and iDaysLeft>0 then sCat = sPrefix .. sArg1 .. sSuffix end end return sCat end function preprocess(sText) if mw.getCurrentFrame() then sText = mw.getCurrentFrame():preprocess(sText) end return sText end return p --[[Category:Lua modules]]