Die Dokumentation für dieses Modul kann unter Modul:Zeit/doc erstellt werden
local p = {} function p._error( error_str ) local frame = mw.getCurrentFrame() local localArgs = frame.args local templateArgs = frame:getParent().args -- Allgemeine Parameter auswerten if templateArgs['ignore_errors'] == nil then if localArgs['ignore_errors'] == nil then templateArgs['ignore_errors'] = '0' else templateArgs['ignore_errors'] = localArgs['ignore_errors'] end end if templateArgs['ignore_errors'] == '1' or templateArgs['ignore_errors'] == 'true' then return '' end if templateArgs['no_category'] == nil then if localArgs['no_category'] == nil then templateArgs['no_category'] = '0' else templateArgs['no_category'] = localArgs['no_category'] end end if templateArgs['error_category'] == nil then if localArgs['error_category'] == nil then templateArgs['error_category'] = '[[Kategorie:Fehlerberichte des Moduls Formatierung]]' else templateArgs['error_category'] = '[[Kategorie:' .. localArgs['error_category'] .. ']]' end else templateArgs['error_category'] = '[[Kategorie:' .. templateArgs['error_category'] .. ']]' end -- Fehler generieren local error_str = '<strong class="error">Fehler im Modul [[Modul:Formatierung|Formatierung]]: ' .. error_str .. '</strong>'; if templateArgs['ignore_errors'] == '1' or templateArgs['ignore_errors'] == 'true' then error_str = '' end -- Kategorie generieren if templateArgs['no_category'] == '0' or templateArgs['ignore_errors'] == 'false' then error_str = templateArgs['error_category'] .. error_str end return error_str; end function p._testParams ( templateArgs, params ) -- Argumente des invoke-Aufrufs holen local frame = mw.getCurrentFrame() local localArgs = frame.args -- Variablen für Parameterauswertung local errorMsg = 'Unbekannte(r) Parameter: ' local errorCat = '[[Kategorie:Vorlagen mit unbekannten Parametern]]' local errorOccured = false -- generell erlaubte Parameter local paramsWhitelist = { ignore_errors = 'ignore_errors', no_category = 'no_category', error_category = 'error_category' } -- Test ob unbekannte Parameter übergeben wurden (Tippfehler) -- 0-9 werden auch stillschweigend akzeptiert -- allgemeine Parameter werden auch akzeptiert for k, v in pairs(templateArgs) do if ( not ( ( params[k] ~= nil ) or ( paramsWhitelist[k] ~= nil ) ) ) and ( string.gsub( k, "%d", ".") ~= '.' ) then errorMsg = errorMsg .. k .. ', ' errorOccured = true end end -- Parameter für Fehlerbehandlung auswerten if templateArgs['ignore_errors'] == nil then if localArgs['ignore_errors'] == nil then templateArgs['ignore_errors'] = '0' else templateArgs['ignore_errors'] = localArgs['ignore_errors'] end end if templateArgs['no_category'] == nil then if localArgs['no_category'] == nil then templateArgs['no_category'] = '0' else templateArgs['no_category'] = localArgs['no_category'] end end if errorOccured and ( templateArgs['ignore_errors'] == '0' or templateArgs['ignore_errors'] == 'false' ) then errorMsg = p._error ( string.sub ( errorMsg, 1 , string.len ( errorMsg ) - 2 ) ) else errorMsg = '' end if templateArgs['no_category'] == '0' or templateArgs['no_category'] == 'false' then errorMsg = errorMsg .. '[[Kategorie:Vorlagen mit unbekannten Parametern]]' end return errorMsg end