Modul:FMIS
Utseende
Dokumentationen för denna modul kan skapas på Modul:FMIS/dok
local p = {}
function p.makeUrl( frame )
local pargs = frame:getParent().args
if pargs['lat'] == "" then
return 'koordinater saknas'
else
local url = '//geohack.toolforge.org/geohack.php?language=sv&pagename=' .. p.url_encode(mw.title.getCurrentTitle().text) ..'&title='
if pargs['namn'] and pargs['namn'] ~= "" then
titlestr = pargs['namn']
else
titlestr = pargs['raä-nr']
end
titlestr = titlestr .. ', ' .. pargs['plats'] .. ' ' .. pargs['id']
url = url .. p.url_encode(titlestr) .. '¶ms=' .. pargs['lat'] .. '_N_' .. pargs['long'] .. '_E_region:SE_type:landmark'
show = pargs['lat'] .. ', ' .. pargs['long']
return '[' .. url .. ' ' .. show .. '] ' .. mw.getCurrentFrame():preprocess("{{#coordinates:" .. pargs['lat'] .. '|' .. pargs['long'].. '|type:landmark_region:SW|name=' .. titlestr .."}}")
end
end
function p.campaignLink( frame )
local ppargs = frame:getParent().args
--as longitude naming isn't standardised
local lon = ppargs['lon']
if lon == nil then
lon = ppargs['long']
end
--
url = '//commons.wikimedia.org/wiki/special:uploadWizard?campaign=' .. ppargs['kampanj'] .. '&id=' .. p.url_encode(ppargs['id']) .. '&descriptionlang='
if ppargs['beskrivninglang'] == "" or ppargs['beskrivninglang'] == nil then
url = url .. 'sv'
else
url = url .. ppargs['beskrivninglang']
end
url = url .. '&description=' .. p.url_encode(ppargs['beskrivning'])
if ppargs['lat'] ~= "" and ppargs['lat'] ~= nil then
url = url .. '&lat=' .. ppargs['lat'] .. '&lon=' .. ppargs['lon']
end
if ppargs['commonscat'] ~= "" and ppargs['commonscat'] ~= nil then
url = url .. '&categories=' .. p.url_encode(ppargs['commonscat'])
elseif ppargs['kategorier'] ~= "" and ppargs['kategorier'] ~= nil then
url = url .. '&categories=' .. p.url_encode(ppargs['kategorier'])
end
return url
end
function p.url_encode(str)
if (str) then
str = string.gsub (str, "\n", "\r\n")
str = string.gsub (str, "([^%w %-%_%.%~])",
function (c) return string.format ("%%%02X", string.byte(c)) end)
str = string.gsub (str, " ", "+")
end
return str
end
return p