Modul:Våpenskjold
Hopp til navigering
Hopp til søk
Dokumentasjon for denne modulen kan opprettes på Modul:Våpenskjold/dok
local p = {} local lang = mw.getContentLanguage() function p.coat_of_arms( frame ) -- -- sjekker om området er angitt vha en ISO 3166-1 alfa-2 eller alfa-3-kode -- hvis det er det, og ISO-koden er registrert, finner den automatisk det fulle navnet local ISO = require("Modul:Land") local ISOname = ISO.ISO(frame) if ISOname == nil or ISOname == "" then ISOname = "" else frame.args[1] = ISOname end -- sjekker om området er angitt vha en alternativ skrivemåte -- hvis det er det, og den alternative skrivemåten er registrert, finner den automatisk riktig navn local ALT = require("Modul:Våpenskjold/Altnavn") local ALTname = ALT[frame.args[1]] if ALTname == nil or ALTname == "" then ALTname = "" else frame.args[1] = ALT[frame.args[1]] end -- Henter ut nødvendige data fra undersider basert på første bokstav i områdets fulle navn local datap = require("Modul:Våpenskjold/Data") local datapage = datap.areaname(frame) -- velger størrelsen på våpenskjoldet local size; if frame.args[6] ~= "" then size = frame.args[6] elseif frame.args[6] == nil or frame.args[6] == "" then size = "20px" end -- hvis det ikke er angitt våpenskjold for ønsket område, vises et grått våpenskjold DataPage = datapage.coat_of_armsdata[frame.args[1]] if DataPage == nil or DataPage == "" then return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>" end if DataPage.coat_of_arms == nil or DataPage.coat_of_arms == "" then if DataPage.weapon == nil or DataPage.weapon == "" then return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>" end end -- Henter ut nødvendige parametere fra datasiden Coat_Of_Arms = DataPage.coat_of_arms HistYear1 = DataPage.histyear1 HistCoat_Of_Arms1 = DataPage.histcoat_of_arms1 HistYear2 = DataPage.histyear2 HistCoat_Of_Arms2 = DataPage.histcoat_of_arms2 HistYear3 = DataPage.histyear3 HistCoat_Of_Arms3 = DataPage.histcoat_of_arms3 HistYear4 = DataPage.histyear4 HistCoat_Of_Arms4 = DataPage.histcoat_of_arms4 HistYear5 = DataPage.histyear5 HistCoat_Of_Arms5 = DataPage.histcoat_of_arms5 -- Henter ut de nødvendige data fra datasiden, basert på angitt parameter local Coat_Of_ArmsName; Coat_Of_ArmsVar = frame.args[2] if frame.args[1] ~= "" then if Coat_Of_ArmsVar == nil or Coat_Of_ArmsVar == "" or Coat_Of_ArmsVar == "lenke" then Coat_Of_ArmsName = Coat_Of_Arms elseif HistYear1 then if tonumber(Coat_Of_ArmsVar) <= HistYear1 then Coat_Of_ArmsName = HistCoat_Of_Arms1 elseif HistYear2 then if tonumber(Coat_Of_ArmsVar) <= HistYear2 then Coat_Of_ArmsName = HistCoat_Of_Arms2 elseif HistYear3 then if tonumber(Coat_Of_ArmsVar) <= HistYear3 then Coat_Of_ArmsName = HistCoat_Of_Arms3 elseif HistYear4 then if tonumber(Coat_Of_ArmsVar) <= HistYear4 then Coat_Of_ArmsName = HistCoat_Of_Arms4 elseif HistYear5 then if tonumber(Coat_Of_ArmsVar) <= HistYear5 then Coat_Of_ArmsName = HistCoat_Of_Arms5 end end end end end end else return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>" end -- Hvis det ikke er angitt noen form for våpenskjoldvariant, vises standard våpenskjold if Coat_Of_ArmsName == nil then Coat_Of_ArmsName = Coat_Of_Arms else Coat_Of_ArmsName = Coat_Of_ArmsName end if Coat_Of_ArmsName == nil then return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>" end -- avgjør hvilken side som våpenskjoldet, og evt. synlig lenke, skal lenke til local LinkedPage = DataPage.pagelink local Name = DataPage.name if LinkedPage == nil then LinkedPage = Name else LinkedPage = LinkedPage end local PageLink; if frame.args[4] == "" or frame.args[4] == nil then PageLink = LinkedPage elseif frame.args[4] ~= "" or frame.args[4] ~= nil then PageLink = frame.args[4] else PageLink = Name end -- hva skal vises? local DisplayName = DataPage.dispname if DisplayName == nil then DisplayName = Name else DisplayName = DisplayName end -- Hvilken lenketekst skal vises? local DispName; if frame.args[5] == "" or frame.args[5] == nil then DispName = DisplayName elseif frame.args[5] ~= "" or frame.args[5] ~= nil then DispName = frame.args[5] else DispName = Name end -- Avgjør om det skal vises lenke local LinkOut; if frame.args[2] ~= "lenke" and frame.args[3] ~= "lenke" and frame.args[4] == "" and frame.args[5] == "" then LinkOut = "" else LinkOut = " [[" .. PageLink .. "|" .. DispName .. "]]" end local LinkRes; if frame.args[7] ~= "" then LinkRes = ' ' .. frame.args[7] elseif frame.args[7] == "" then if LinkOut ~= nil then LinkRes = LinkOut elseif LinkOut == nil or LinkOut == "" then LinkRes = "" end end -- border? local border = DataPage.border if border == nil or border == "" then border = "frameless" else border = DataPage.border end result = "[[Fil:" .. Coat_Of_ArmsName .. "|" .. size .. "|" .. border .. "|lenke=" .. PageLink .. "]]" .. LinkRes return result end return p