Модуль:Campaign
Вспомогательный модуль для шаблонов {{Campaign}} и {{Область}} .
Функция Point[]
Формирует содержимое элемента данных из параметров шаблона «ХХХ» (текст), «ХХХ ссылка» (URL для использования вместе с текстом), «ХХХ вп» (наименование статьи в Википедии) и «ХХХ доп» (дополнительные сведения).
Параметры:
- префикс группы параметров шаблона (т. е. собственно имя «ХХХ»)
internal— признак использования «ХХХ ссылка» (или «ХХХ», при отсутствии «ХХХ ссылка») как внутренней ссылкиnowiki— признак подавления ссылки на Википедию (ссылка будет сформирована только при явно заданном тексте «ХХХ вп»)geo = адрес— в конце будет показана стрелка, под которой будет ссылка на карту с указанным адресомlink = ссылка— указанная ссылка используется вместо значения параметра шаблона «ХХХ ссылка»
Функция RegElections[]
Формирует URL обращения к ГАС «Выборы» для указанного в параметре названия региона за период, начинающийся за 15 дней до текущей даты.
Функция RegSite[]
Формирует URL главной страницы сайта ИКСРФ (без завершающего «/») для указанного в параметре названия региона:
http://www.регион.izbirkom.ru
Функция RegGAS[]
Формирует URL региональной страницы сайта ГАС «Выборы» (без завершающего «/») для указанного в параметре названия региона:
http://www.регион.vybory.izbirkom.ru/region/регион
Функция RegGASnew[]
Формирует URL региональной страницы сайта ГАС «Выборы» (без завершающего «/») для указанного в параметре названия региона:
http://www.регион.vybory.izbirkom.ru/регион
Задавайте категории на странице документации, а не здесь! Показать подстраницы
local p = {}
--[[
{{#if: {{{МР|}}}
| <div style="float:right;">{{W|16px|{{{МР}}} в Википедии|вп:{{#if: {{{МР вп|}}} | {{{МР вп}}} | {{{МР|}}} }}}}</div>
{{#if: {{{МР ссылка|}}} | [{{{МР ссылка}}} {{{МР|}}}] | {{{МР|}}} }}<!-- {{вп | {{#if: {{{МР вп|}}} | {{{МР вп}}} | {{{МР|}}} }} }} -->
}}
{{#if: {{{МР доп|}}}| <p style="font-size:90%; line-height:90%;">{{{МР доп|}}}</p> }}
--]]
function p.Point (frame)
local para = frame:getParent().args;
local prefix = mw.text.trim(frame.args[1])
local geo = frame.args['geo']
local alt = frame.args['alt'] or ''
local fixlink = frame.args['link']
local internal
local nowiki
for i, v in ipairs (frame.args) do
local x = mw.text.trim (v)
if v == 'nowiki' then
nowiki = true
elseif v == 'internal' then
internal = true
end
end
local root, wp, link, app = para [prefix] or '', para [prefix..' вп'] or '', para [prefix..' ссылка'] or '', para [prefix..' доп'] or ''
if root ~= '' then
alt = root
end
local res = ''
if alt ~= '' then
if wp ~= '-' and (not nowiki or wp ~='') then
res = '<div style="float:right;">{{W|16px|' .. root .. ' в Википедии|вп:'
if wp ~= '' then
res = res .. wp
else
res = res .. root
end
res = res .. '}}</div>'
end
if geo then
res = res .. '{{геоадрес|'
end
if fixlink then
link = fixlink
end
if internal then
if link ~= '' then
res = res .. '[[' .. link .. '|'
else
res = res .. '[['
end
res = res .. alt .. ']]'
elseif link ~= '' then
res = res .. '[' .. link .. ' ' .. alt .. ']'
else
res = res .. root
end
if geo then
res = res .. '|' .. geo .. '}}'
end
if app ~= '' then
res = res .. '<p style="font-size:90%; line-height:90%;">' .. app .. '</p>'
end
return frame:preprocess (res)
end
end
function lenM (m,y)
return ({31,
(function ()
if y%4 == 0 then return 29 else return 28 end -- неверно для 2100 года :-)
end) (),
31, 30, 31, 30, 31, 31, 30, 31, 30, 31}) [m]
end
function p.RegElections (frame)
local q = mw.text.trim (frame.args [1])
local qq = require ('Module:GAS')
q = qq.Addr ({args={q}})
local curt = os.date ('*t')
curt.day = curt.day - 15
if curt.day <= 0 then
curt.month = curt.month - 1
if curt.month == 0 then
curt.month = 12
curt.year = curt.year - 1
end
curt.day = curt.day + lenM (curt.month, curt.year)
end
-- http://www.moscow_reg.vybory.izbirkom.ru/region/moscow_reg
--http://www.vybory.izbirkom.ru/region/izbirkom &urovproved=all&vidvibref=all&vibtype=all&sxemavib=all&action=search_by_calendar?s_day=1&s_month=05&s_year=2014&f_day=31&f_month=05&f_year=2014
-- http://www.yakut.vybory.izbirkom.ru/region/yakut?start_date=01.04.2016&urovproved=all&vidvibref=all&vibtype=all&end_date=30.08.2016&sxemavib=all&action=search_by_calendar®ion=14
return 'http://www.' .. q .. '.vybory.izbirkom.ru/region/' .. q .. '?urovproved=all&vidvibref=all&vibtype=all&sxemavib=all&action=search_by_calendar'
-- .. '&s_day=' .. curt.day .. '&s_month=' .. curt.month .. '&s_year=' .. curt.year
-- .. '&f_day=' .. curt.day .. '&f_month=' .. curt.month .. '&f_year=' .. curt.year+1
.. '&start_date=' .. curt.day .. '.' .. curt.month .. '.' .. curt.year
.. '&end_date=' .. curt.day .. '.' .. curt.month .. '.' .. curt.year+1
end
function p.RegSite (frame)
local q = mw.text.trim (frame.args [1])
local qq = require ('Module:GAS')
q = qq.Addr ({args={q}})
return 'http://www.' .. q .. '.izbirkom.ru'
end
function p.RegGAS (frame)
local q = mw.text.trim (frame.args [1])
local qq = require ('Module:GAS')
q = qq.Addr ({args={q}})
return 'http://www.' .. q .. '.vybory.izbirkom.ru/region/' .. q
end
function p.RegGASnew (frame)
local q = mw.text.trim (frame.args [1])
local qq = require ('Module:GAS')
q = qq.Addr ({args={q}})
return 'http://www.' .. q .. '.vybory.izbirkom.ru/' .. q
end
return p