Module:ContactManager/ConversationsNavigation

From Wikisphere
Revision as of 09:04, 5 May 2025 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:ContactManager/ConversationsNavigation/doc

local p = {}

function p.fn(frame)
    local args = (type(frame.getParent) == "function") and frame:getParent().args or frame

local months = {
    { name = "January", value = 1 },
    { name = "February", value = 2 },
    { name = "March", value = 3 },
    { name = "April", value = 4 },
    { name = "May", value = 5 },
    { name = "June", value = 6 },
    { name = "July", value = 7 },
    { name = "August", value = 8 },
    { name = "September", value = 9 },
    { name = "October", value = 10 },
    { name = "November", value = 11 },
    { name = "December", value = 12 }
}


local monthRet = {}
for i, month in ipairs(months) do
     table.insert(monthRet, '{{#querylink:{{FULLPAGENAME}}|' .. month.name .. '|class=item-{{#ifeq:' .. month.value .. '|{{#if: {{#urlget:month}}|{{#urlget:month}}|{{CURRENTMONTH}} }}||un}}selected|month=' .. month.value .. '|year={{#if: {{#urlget:year}}|{{#urlget:year}}|{{CURRENTYEAR}} }}|hash={{#urldecode:{{#urlget:hash}}}}|mailbox={{#urlget:mailbox}} }}')
end

local ret = ''
ret = ret .. table.concat(monthRet, " | ")
ret = ret .. ' – '
ret = ret .. '{{#querylink:{{FULLPAGENAME}}|previous year|month={{#if: {{#urlget:month}}|{{#urlget:month}}|{{CURRENTMONTH}} }}|year={{#expr:{{#if: {{#urlget:year}}|{{#urlget:year}}|{{CURRENTYEAR}} }} -1}}|hash={{#urldecode:{{#urlget:hash}}}}|mailbox={{#urlget:mailbox}} }}'
ret = ret .. ' | '
ret = ret .. '{{#querylink:{{FULLPAGENAME}}|next year|month={{#if: {{#urlget:month}}|{{#urlget:month}}|{{CURRENTMONTH}} }}|year={{#expr:{{#if: {{#urlget:year}}|{{#urlget:year}}|{{CURRENTYEAR}} }} +1}}|hash={{#urldecode:{{#urlget:hash}}}}|mailbox={{#urlget:mailbox}} }}'
ret = ret .. ' | '
ret = ret .. '{{#querylink:{{FULLPAGENAME}}|show all|hash={{#urldecode:{{#urlget:hash}}}}|mailbox={{#urlget:mailbox}}|show=all|month=-1|class=item-{{#ifeq:{{#urlget:show}}|all||un}}selected}}'

     return frame:preprocess(ret)
end
-- =p.fn({"add\ndfdd","b","c","text"})
return p