Module:Mailing list member
Revision as of 22:40, 23 February 2014 by blackwiki>Jackmcbarn (fix error)
Template:Template for discussion/dated Implements {{Mailing list member}}
local yesno = require('Module:Yesno')
local function htmlerror(text)
return '<span class="error">' .. mw.text.nowiki(text) .. '</span>'
end
local p = {}
function p.main(frame)
local pargs = frame:getParent().args
local lang = mw.getContentLanguage()
local page
if pargs.user then
page = 'User talk:' .. pargs.user
else
page = pargs.page
end
if yesno(pargs.blocked) then
if pargs.user then
return frame:expandTemplate{title = 'Userblocked', args = { pargs.user }} .. ' <span class="blocked-member" style="font-size: 0.95em; font-weight: bold; color: #E33;">(Blocked since: ' .. lang:formatDate('F Y', pargs.blocked) .. ')</span>'
else
return htmlerror('No user defined')
end
end
if not page then
return htmlerror('No user or page defined')
end
if yesno(pargs.inactive) ~= false then -- allow nil
local retval
if lang:formatDate('U', pargs.inactive) < formatDate('U', '-1 year') then
if pargs.user then
retval = frame.expandTemplate{title = 'User', args = { pargs.user }}
else
retval = '[[' .. page .. ']]'
end
else
retval = frame:callParserFunction('#target', page)
end
retval = retval .. '<span class="inactive-member" style="font-size: 0.95em; font-weight: bold; color: ' --'#{{#ifexpr:{{#time:U|{{{inactive}}}}}<{{#time:U|-2 years}}|F00|{{#ifexpr:{{#time:U|{{{inactive}}}}}<{{#time:U|-1 year}}|555|080}}}};">(Inactive since: {{#time:F Y|{{{inactive}}}}})</span>'\
return retval
else
return frame:callParserFunction('#target', page)
end
end
return p