Модуль:AfD

Материал из Народные Сказки
Версия от 13:56, 1 мая 2024; Импортёр (обсуждение | вклад) (1 версия импортирована)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)



-- Модуль, организующий удаление статей. Будет изменяться и дополняться.

local M={}

function M.AfDday(f)
    local pf,ru = f:getParent(),mw.getLanguage('ru');--1 - день, 2 - номинации
    local d,cd,dm7,dm29,sn =
      tonumber(ru:formatDate('Ymd')),
      tonumber(ru:formatDate('Ymd',pf.args[1])),
      tonumber(ru:formatDate('Ymd','-7days')),
      tonumber(ru:formatDate('Ymd','-29days')),
      ru:formatDate('j xg Y',pf.args[1])
      
    local content = pf.args[2];
    if ( content == nil ) then
    	content = '';
    end

    if ( cd < tonumber(ru:formatDate('Ymd','-1month')) ) then
    	content = mw.ustring.gsub( content, '<s>[^<]*<\/s>[%s•]*', '' );
    	content = mw.ustring.gsub( content, '<small>[%s•]*</small>[%s•]*', '' );
    	content = mw.ustring.gsub( content, '[%s•]+</small>', '</small>' );
    	content = mw.ustring.gsub( content, '[%s•]+$', '' );
    end

    return table.concat{
        "<tr><td>'''[[РуСказки:К удалению/",sn,"|",sn,"]]'''",
        (cd>=dm7 and ru:formatDate('"<small> до&nbsp;"j"&nbsp;"M"</small>"',cd..'+7days') or ''),
        '</td><td>',string.gsub( content , "<s>(.-)</s>", "<s style='opacity:0.5;'><small>%1</small></s>") or '',
        (cd==dm7 and "</td><tr><td colspan=2 style=\"text-align:center;color:white;background:gray\">'''Обсуждения, в которых нужно подвести итог'''</td></tr>"
            or '</td>'),
        (cd==dm29 and "</td><tr><td colspan=2 style=\"text-align:center;color:white;background:gray\">'''Только обсуждения без итогов'''</td></tr>"
            or '</td>'),
    }
end

return M