Module:Unsigned

From Path of Exile Wiki
Jump to navigation Jump to search
Module documentation[view] [edit] [history] [purge]


Lua logo

This module depends on the following other modules:

Implements {{Unsigned}}.

local getArgs = require('Module:Arguments').getArgs

local p = {}

function p.main(frame)
    local args = getArgs(frame)
    return p._main(args)
end

function p._main(args)
    if not args[1] then
        error('Argument "1" is required')
    end
    local username
    local timestamp = mw.ustring.match(args[1], '([^ ]+ [^ ]+ [^ ]+ [^ ]+) .+')
    if timestamp then -- Revision history format
        username = mw.ustring.match(args[1], '[^ ]+ [^ ]+ [^ ]+ [^ ]+ (.+)')
        timestamp = timestamp .. ' (UTC)'
    else -- Standard format
        username = args[1]
        timestamp = args[2] or ''
        if #timestamp > 0 and not mw.ustring.find(timestamp, '(UTC)', 1, true) then
            timestamp = timestamp .. ' (UTC)'
        end
    end
    local html = mw.html.create('small')
    html
        :wikitext(
            mw.ustring.format(
                '—Preceding [[Help:Signatures|unsigned]] comment added by %s (%s • %s) %s',
                mw.ustring.format('[[User:%s|%s]]', username, username),
                mw.ustring.format('[[User talk:%s#top|talk]]', username),
                mw.ustring.format('[[Special:Contributions/%s|contribs]]', username),
                timestamp
            )
        )
    return tostring(html)
end

return p