Module:Attached KML and Module:Attached KML/sandbox: Difference between pages
(Difference between pages)
imported>Hike395 protect against nil kml_entity |
No edit summary |
||
| Line 62: | Line 62: | ||
-- Instead of kml file's raw url or encoded raw url, use __KML_URL__ or __KML_URL_E__ | -- Instead of kml file's raw url or encoded raw url, use __KML_URL__ or __KML_URL_E__ | ||
local externalLinks = {} | local externalLinks = {} | ||
externalLinks[1] = { | |||
short = "Bing", | |||
long = "Display on Bing Maps", | |||
link = "http://www.bing.com/maps/?mapurl=__KML_URL__" | |||
} | |||
--externalLinks[2] = { | |||
-- short = "Google", | |||
-- long = "Display on Google Maps", | |||
-- link = "https://tools.wmflabs.org/wp-world/googlmaps-proxy.php?page=__KML_URL_E__&output=classic" | |||
--} | --} | ||
| Line 114: | Line 119: | ||
local function makeTitleWikitext(titletext, err) | local function makeTitleWikitext(titletext, err) | ||
if #externalLinks<=0 then | |||
titletext = "" | |||
else | |||
titletext = "\'\'\'" .. titletext .. "\'\'\': " | |||
end | |||
if err and L10n.str.err_prepend then | if err and L10n.str.err_prepend then | ||
err = mw.ustring.gsub( err, ">", ">" .. L10n.str.err_prepend .. " ", 1 ) | err = mw.ustring.gsub( err, ">", ">" .. L10n.str.err_prepend .. " ", 1 ) | ||
| Line 120: | Line 131: | ||
local titleLinks = {} | local titleLinks = {} | ||
for i, v in ipairs( externalLinks ) do | for i, v in ipairs( externalLinks ) do | ||
titleLinks[i] = | titleLinks[i] = mw.ustring.format( "[%s %s]", v.link , v.short) | ||
end | end | ||
return mw.getCurrentFrame():extensionTag{ | return mw.getCurrentFrame():extensionTag{ | ||
| Line 126: | Line 137: | ||
args = { name = 'attached-kml' }, | args = { name = 'attached-kml' }, | ||
content = mw.ustring.format( | content = mw.ustring.format( | ||
"<span id=\"coordinates\"> | "<span id=\"coordinates\">%s%s</span>", | ||
titletext, | titletext, | ||
err or table.concat(titleLinks, " / ") | err or table.concat(titleLinks, " / ") | ||
| Line 178: | Line 189: | ||
local function makeKmldataDiv(link, s_index) | local function makeKmldataDiv(link, s_index) | ||
return mw.ustring.format( | return mw.ustring.format( | ||
'<div class="kmldata" data-server="%s" title="%s">[[%s%s | '<div class="kmldata" data-server="%s" title="%s">[[%s%s]]</div>', | ||
sites[s_index][2], link, sites[s_index][3], link | sites[s_index][2], link, sites[s_index][3], link | ||
) | ) | ||
| Line 193: | Line 204: | ||
local function getUrlFromQid( kml_qid ) | local function getUrlFromQid( kml_qid ) | ||
local pcall_result, kml_entity = pcall(mw.wikibase.getEntity, kml_qid) | local pcall_result, kml_entity = pcall(mw.wikibase.getEntity, kml_qid) | ||
if not | if not pcall_result then return nil, nil, nil, makeError(L10n.str.err.no_item, L10n.str.cat.error_noitem) end -- Error if entity doesn't exist | ||
local p31_claim = kml_entity:getBestStatements("P31") -- P31 is property "instance of" | local p31_claim = kml_entity:getBestStatements("P31") -- P31 is property "instance of" | ||