Module:Check for unknown parameters

Documentation for this module may be created at Module:Check for unknown parameters/doc

-- This module may be used to compare the arguments passed to the parent-- with a list of arguments, returning a specified result if an argument is-- not on the listlocal p = {}local function trim(s)return s:match('^%s*(.-)%s*$')endlocal function isnotempty(s)return s and trim(s) ~= ''endfunction p.check (frame)local args = frame.argslocal pargs = frame:getParent().argslocal ignoreblank = isnotempty(frame.args['ignoreblank'])local showblankpos = isnotempty(frame.args['showblankpositional'])local knownargs = {}local unknown = frame.args['unknown'] or 'Found _VALUE_, 'local preview = frame.args['preview']local values = {}local res = {}local regexps = {}-- create the list of known args, regular expressions, and the return stringfor k, v in pairs(args) doif type(k) == 'number' thenv = trim(v)knownargs[v] = 1elseif k:find('^regexp[1-9][0-9]*$') thentable.insert(regexps, '^' .. v .. '$')endendif isnotempty(preview) then preview = '<div class="hatnote" style="color:red"><strong>Warning:</strong> ' .. preview .. ' (this message is shown only in preview).</div>'elseif preview == nil thenpreview = unknownend-- loop over the parent args, and make sure they are on the listfor k, v in pairs(pargs) doif type(k) == 'string' and knownargs[k] == nil thenlocal knownflag = falsefor i, regexp in ipairs(regexps) doif mw.ustring.match(k, regexp) thenknownflag = truebreakendendif not knownflag and ( not ignoreblank or isnotempty(v) )  thenk = mw.ustring.gsub(k, '[^%w\-_ ]', '?')table.insert(values, k)endelseif type(k) == 'number' and knownargs[tostring(k)] == nil and( showblankpos or isnotempty(v) )thenlocal vlen = mw.ustring.len(v)v = mw.ustring.sub(v, 1, (vlen < 25) and vlen or 25) v = mw.ustring.gsub(v, '[^%w\-_ ]', '?')table.insert(values, k .. ' = ' .. v .. ((vlen >= 25) and ' ...' or ''))endend-- add resuls to the output tablesif #values > 0 thenif frame:preprocess( "{{REVISIONID}}" ) == "" thenunknown = previewendfor k, v in pairs(values) doif v == '' then-- Fix odd bug for | = which gets stripped to the empty string and-- breaks category linksv = ' 'endlocal r =  unknown:gsub('_VALUE_', v)table.insert(res, r)endendreturn table.concat(res)endreturn p
🔥 Top keywords: Special:ListUsersSpecial:UserLoginSpecial:Log/blockSpecial:UrlShortenerKrataafa TitiriwSpecial:QrCodeCategory:User enUser:WikimediaNotifier/notificationsBaike: Community PortalSpecial:AbuseLogCategory:TurkiSpecial:LogCategory:User koBaike: Community portalSpecial:MobileOptionsUser:MoiraMoiraSpecial:SearchSpecial:ListFilesSpecial:DownloadAsPdfSpecial:BookBaike: StatisticsUser:Inspector LutiUser talk:SAMI.BotUser:VikiçizerSpecial:Log/Semper malusFile:Pounded fufu 2.jpgUser talk:JitrixisSpecial:WhatLinksHere/User:Idioma-botSpecial:ListFiles/RojinskyaaUser:EscarbotFile:Page Frame Features on desktop.pngCategory:Noindexed pagesUser talk:Hindusthan Iam Indian PersonSpecial:UserRights/OddbodzUser:MatasgSpecial:Contributions/WikimediaNotifierUser:Idioma-botUser:BrateevskyCategory:AkatakyifoSpecial:WhatLinksHere/Template:Category handlerUser:DeividBaike: AdministratorsUser:Moe EpsilonUser:WikimediaNotifier/updatedCategory:EhyiaSpecial:CentralAuth/Erne MogilevichSpecial:Contributions/VikiçizerUser:MarvinBikolanoUser:RémihUser:Jec41Template:DialectSpecial:Contributions/আফতাবুজ্জামানUser:PtbotgourouUser:BotMultichillUser:Ле ЛойUser:DexbotUser:Mykola SwarnykSpecial:Contributions/Robbie SWESpecial:PrefixIndex/User:Terfili/Special:Contributions/Fawaz.tairouUser:2405:205:1186:990F:6C48:293D:D730:CB1FSpecial:Contributions/GhalyBotUser:Fawaz.tairouSpecial:Contributions/2A02:21B0:644D:B7A9:D175:C471:C10C:8E83Special:WhatLinksHere/User:EscarbotSpecial:Contributions/MastiBotUser:EmausBotSpecial:Contributions/Crochet.davidSpecial:ListFiles/AbbedabbUser:GlobalEditBotSpecial:ListFiles/OhgiSpecial:Contributions/四葉亭四迷User:ZorrobotUser:MS SakibSpecial:UserRights/ZorroIIITalk:Krataafa TitiriwSpecial:Contributions/Nintendofan885User:2600:1012:B214:C660:5D9F:8510:7A6:AE23Special:PrefixIndex/User:Sylvanmoon/Special:Contributions/唐吉訶德的侍從Special:Contributions/MathoniusSpecial:Contributions/JoKalliauerSpecial:GlobalUsers/global-botUser:KateshortforbobSpecial:Contributions/Robertjamal12User:Redf0xSpecial:ListFiles/LiggliluffSpecial:Contributions/Nesmir KudilovicSpecial:PrefixIndex/User:Kateshortforbob/User:JeangagnonSpecial:PrefixIndex/User:Psubhashish/Special:GlobalUsers/global-rollbackerUser:PDDSpecial:UserRights/ZikoUser:გიო ოქროUser:KurmisUser:Buller1Special:ListFiles/Alex NemanUser:Römert