Модуль: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