Module:Attached KML and Module:Attached KML/sandbox: Difference between pages

(Difference between pages)
Jump to navigation Jump to search
Page 1
Page 2
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] = {  
externalLinks[1] = {  
-- short = "Bing",
short = "Bing",
-- long  = "Display on Bing Maps",
long  = "Display on Bing Maps",
-- link  = "http://www.bing.com/maps/?mapurl=__KML_URL__"
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] = mw.ustring.format( "[%s %s]", v.link , v.short)
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\">\'\'\'%s\'\'\': %s</span>",
"<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]][[Category:Pages using gadget WikiMiniAtlas]]</div>',
'<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 (pcall_result and kml_entity) then return nil, nil, nil, makeError(L10n.str.err.no_item, L10n.str.cat.error_noitem) end -- Error if entity doesn't exist
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"