Modul:IsIn: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 7: | Zeile 7: | ||
args.page = args.page or args[ 1 ] or '' | args.page = args.page or args[ 1 ] or '' | ||
args.page = mw.text.trim( args.page ) | args.page = mw.text.trim( args.page ) | ||
args.enterTarget = args.enterTarget or '' | |||
local targetPage = mw.ustring.gsub( args.page, '^' .. page.nsText .. ':', '' ) | local targetPage = mw.ustring.gsub( args.page, '^' .. page.nsText .. ':', '' ) | ||
if targetPage == '' | if targetPage == '' then | ||
return 'emptyTarget' | |||
elseif targetPage == page.text then | |||
return 'wrongIsIn' | return 'wrongIsIn' | ||
elseif args.enterTarget == args.page then | |||
return 'enterTarget' | |||
end | end | ||
Version vom 22. September 2020, 07:01 Uhr
Die Dokumentation für dieses Modul kann unter Modul:IsIn/doc erstellt werden
local isIn = {}
function isIn.checkTarget( frame )
local page = mw.title.getCurrentTitle()
local args = frame.args
args.page = args.page or args[ 1 ] or ''
args.page = mw.text.trim( args.page )
args.enterTarget = args.enterTarget or ''
local targetPage = mw.ustring.gsub( args.page, '^' .. page.nsText .. ':', '' )
if targetPage == '' then
return 'emptyTarget'
elseif targetPage == page.text then
return 'wrongIsIn'
elseif args.enterTarget == args.page then
return 'enterTarget'
end
targetPage = mw.title.new( targetPage, page.nsText )
if not targetPage.exists or targetPage.isRedirect then
-- disambiguation cannot be checked
return 'wrongIsIn'
else
return args.page
end
end
return isIn