Modul:Check for unknown parameters
Documentația acestui modul poate fi creată la Modul: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: Melania TrumpPagina principalăDonald TrumpUnirea Principatelor RomâneSpecial:CăutareZiua Unirii Principatelor RomâneMihai EminescuCanalul PanamaElon MuskAlexandru Ioan CuzaIvana TrumpIvanka TrumpCrin AntonescuDonald Trump Jr.Marla MaplesTiffany TrumpLista președinților Statelor Unite ale AmericiiEric TrumpCălin GeorgescuJ.D. VanceRomâniaMica UnireGroenlandaZodiacNovak ĐokovićFormat:Familia TrumpLimba românăSalut romanSpecial:Schimbări recenteAcordul de la ParisFred TrumpStatele Unite ale AmericiiCarlos AlcarazPanamaDenise RifaiJoe BidenListă de zile internaționaleSocietatea Română de TeleviziuneMărin CorneaRevolta de pe BountyMarea UnireDiana BulimarȘtefan cel MareVlad ȚepeșMihai ViteazulVeveriță roșieLeonard DorofteiMișcarea LegionarăLista șefilor de stat ai României21 ianuarieAlegeri prezidențiale în România, 2025Andrei StoicaBarack ObamaBlue Monday (dată calendaristică)Al Doilea Război MondialHolocaustSabin IlieMircea cel BătrânYouTubeBucureștiOrganizația Mondială a SănătățiiDunăreaIon CreangăGolful MexicCristiano RonaldoMarea NeagrăSistemul solarVărsător (zodie)AlcoolemieAlegeri prezidențiale în România, 2024Alexandru cel MareHora UniriiMaltaPrincipatele Unite ale Moldovei și Țării RomâneștiSalutul nazistAnotimpul vrăjitoarei (film din 2011)Anastasia PavliucenkovaRepublica MoldovaLista prefixelor telefonice (România)Febră tifoidăLista orașelor din RomâniaBella SantiagoLista țărilor după populațieGradele militare în RomâniaVasile AlecsandriAct sexualDelta DunăriiNicolae CeaușescuCarol I al RomânieiListă de proverbe româneștiPodul Regele Carol IGeorge W. BushÎncălzirea globalăIon (roman)Primul Război MondialPetra (oraș antic)Adina Ioana VăleanCanadaBonnie și Clyde