Module:ContactManager/ConversationsNavigation: Difference between revisions

From Wikisphere
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
(No difference)

Latest revision as of 18:49, 24 May 2025

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