Модуль:Песочница/Jaguar K: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Jaguar K (обсуждение | вклад) мНет описания правки Метка: ручная отмена |
Нет описания правки |
||
Строка 75: | Строка 75: | ||
moment = arg2 |
moment = arg2 |
||
end |
end |
||
⚫ | |||
end |
end |
||
agent = mw.text.trim(agent) |
agent = mw.text.trim(agent) |
||
⚫ | |||
if agent == nil or agent == '' then |
if agent == nil or agent == '' then |
||
return '<span class="error">Unsigned: введены некорректные параметры</span>' |
return '<span class="error">Unsigned: введены некорректные параметры</span>' |
Версия от 06:48, 4 мая 2021
Документация
local p = {}
function p.main( frame )
local args=frame:getParent().args a=args[1] b="|азербайджанка|башкирка|белоруска|марийка|чувашка|немка|гречанка|англичанка|испанка|эстонка|басконка|финка|француженка|еврейка|армянка|японка|грузинка|казашка|лезгинка|литовка|латышка|полячка|румынка|цыганка|русская|славянка|сербка|татарка|украинка|американка|узбечка|китаянка|аргынка|казачка|крымская татарка|" c="" r="|"
local x=args["гендер"] or args["gender"] or args["sex"] or args["пол"] or args[2] or ""
local d=frame:expandTemplate{ title = 'gender switch', args = { x, '1', '0' } }
if mw.ustring.find(b, r..mw.ustring.lower(a)..r,_, plain) then c="itsstring" end
if d=="1" then c="itsstring" end
return c
end
function p.ret( frame )
local a=frame.args[1]
return a
end
function p.ret2( frame )
local a=frame.args[1] c="поль|немка|гречанка|паль"
if a then c=c..a end
return c
end
function p.gender( frame )
return frame:expandTemplate{ title = 'gender switch', args = { frame.args[1], '1', '0' } }
end
function p.flag( frame )
local d="de немец немка" dd="Coat of arms of Germany.svg" f=""
if mw.ustring.find(d, frame.args[1],_, plain) then f=dd end
return f
end
function p.wiki( frame )
local d="de немец немка" dd="Немцы|" f=""
if mw.ustring.find(d, frame.args[1],_, plain) then f=dd end
if p.main(frame) == "" then f=f.."немец" else f=f.."немка" end
return f
end
function p.indent( frame )
local d="</dd></dl>" f="" v= {} i=1 v[0]=d x=frame.args[1] c=tonumber(x)
while i<33 do v[i]=v[i-1]..d i=i+1 end
if c then f=v[c-1] else f=v[#x-1] end
return f
end
function p.osdate( frame )
local x=frame.args[1]
return os.date(x)
end
function p.date( frame )
local x=frame.args[1] -- y=mw.language.new("ru")
return mw.getContentLanguage():formatDate(x)
end
function p.recintro ( frame )
return "<charinsert><nowiki>{{Рецензирование| Название статьи | Статус | {{subst:REVISIONUSER}} | "..mw.getContentLanguage():formatDate('d.m.Y').." |режим={{{режим|}}}}}</nowiki></charinsert>"
end
function p.main2 (frame)
local arg1 = mw.ustring.gsub(frame:getParent().args[1] or '', '\226\128\142', '') -- invisible ‎ mark
local arg2 = mw.ustring.gsub(frame:getParent().args[2] or '', '\226\128\142', '') -- invisible ‎ mark
local agent, moment
if arg2 == nil or arg2 == '' then
agent = arg1
else
if mw.ustring.match(arg1, '[0-9]+ [а-я]+ 20[0-9]+') then
agent = arg2
moment = arg1
else
agent = arg1
moment = arg2
end
moment = mw.text.trim(moment)
end
agent = mw.text.trim(agent)
if agent == nil or agent == '' then
return '<span class="error">Unsigned: введены некорректные параметры</span>'
end
local res = '<small class="autosigned"> — \'\'Эта [[ВП:Подписывайтесь на страницах обсуждения|реплика]] добавлена '
if mw.ustring.match(agent, '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$')
or mw.ustring.match(agent, '^[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+$')
or mw.ustring.match(agent, '^[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+:[0-9a-fA-F]+$') then
res = res .. 'с IP [[Special:Contributions/' .. agent .. '|' .. agent .. ']] ({{фиттс|User talk:' .. agent .. '|о}})'
else
res = res .. 'участником [[User:' .. agent .. '|' .. agent .. ']] ({{фиттс|User talk:'
.. agent .. '|о}} • {{фиттс|Special:Contributions/' .. agent .. '|в}})'
end
if moment ~= nil and moment ~= '' then
if not mw.ustring.match(moment, '(UTC)') then
moment = moment .. ' (UTC)'-- два пробела ломают «Инструменты обсуждения»
end
res = res .. ' ' .. moment
end
res = res .. '\'\'</small>'
return frame:preprocess(res)
end
return p