|
|
| Zeile 4: |
Zeile 4: |
|
| |
|
| function zeit.inhalt_monat ( frame ) | | function zeit.inhalt_monat ( frame ) |
|
| | |
| lang = mw.language.new ( 'de' );
| | lang = mw.language.new ( 'de' ); |
|
| | |
| params = mw.loadData('Modul:Zeit/Params')
| | params = mw.loadData('Modul:Zeit/Params') |
| funcParams = params['inhalt_monat']
| | funcParams = params['inhalt_monat'] |
| args = frame:getParent().args
| | args = frame:getParent().args |
|
| | |
| local januar = args['jan']
| | local januar = args['jan'] or args['januar'] or args['std'] or args['standard'] or funcParams['jan'] |
| if januar == nil then januar = args['januar'] end
| | local februar = args['feb'] or args['februar'] or args['std'] or args['standard'] or funcParams['feb'] |
| if januar == nil then januar = args['std'] end
| | local maerz = args['mar'] or args['maerz'] or args['std'] or args['standard'] or funcParams['mar'] |
| if januar == nil then januar = args['standard'] end
| | local april = args['apr'] or args['april'] or args['std'] or args['standard'] or funcParams['apr'] |
| if januar == nil then januar = funcParams['jan'] end
| | local mai = args['mai'] or args['std'] or args['standard'] or funcParams['mai'] |
|
| | local juni = args['jun'] or args['juni'] or args['std'] or args['standard'] or funcParams['jun'] |
| local februar = args['feb']
| | local juli = args['jul'] or args['juli'] or args['std'] or args['standard'] or funcParams['jul'] |
| if februar == nil then februar = args['februar'] end
| | local august = args['aug'] or args['august'] or args['std'] or args['standard'] or funcParams['aug'] |
| if februar == nil then februar = args['std'] end
| | local september = args['sep'] or args['september'] or args['std'] or args['standard'] or funcParams['sep'] |
| if februar == nil then februar = args['standard'] end
| | local oktober = args['okt'] or args['oktober'] or args['std'] or args['standard'] or funcParams['okt'] |
| if februar == nil then februar = funcParams['feb'] end
| | local november = args['nov'] or args['november'] or args['std'] or args['standard'] or funcParams['nov'] |
|
| | local dezember = args['dez'] or args['dezember'] or args['std'] or args['standard'] or funcParams['dez'] |
| local maerz = args['mar']
| | |
| if maerz == nil then maerz = args['maerz'] end
| | local ausgabe = funcParams['st'] |
| if maerz == nil then maerz = args['std'] end
| | local monat = lang:formatDate ( 'm' ) |
| if maerz == nil then maerz = args['standard'] end
| | |
| if maerz == nil then maerz = funcParams['mar'] end
| | if monat == '01' then ausgabe = januar end |
|
| | if monat == '02' then ausgabe = februar end |
| local april = args['apr']
| | if monat == '03' then ausgabe = maerz end |
| if april == nil then april = args['april'] end
| | if monat == '04' then ausgabe = april end |
| if april == nil then april = args['std'] end
| | if monat == '05' then ausgabe = mai end |
| if april == nil then april = args['standard'] end
| | if monat == '06' then ausgabe = juni end |
| if april == nil then april = funcParams['apr'] end
| | if monat == '07' then ausgabe = juli end |
|
| | if monat == '08' then ausgabe = august end |
| local mai = args['mai']
| | if monat == '09' then ausgabe = september end |
| if mai == nil then mai = args['std'] end
| | if monat == '10' then ausgabe = oktober end |
| if mai == nil then mai = args['standard'] end
| | if monat == '11' then ausgabe = november end |
| if mai == nil then mai = funcParams['mai'] end
| | if monat == '12' then ausgabe = dezember end |
|
| |
| local juni = args['jun']
| |
| if juni == nil then juni = args['juni'] end
| |
| if juni == nil then juni = args['std'] end
| |
| if juni == nil then juni = args['standard'] end
| |
| if juni == nil then juni = funcParams['jun'] end
| |
|
| |
| local juli = args['jul']
| |
| if juli == nil then juli = args['juli'] end
| |
| if juli == nil then juli = args['std'] end
| |
| if juli == nil then juli = args['standard'] end
| |
| if juli == nil then juli = funcParams['jul'] end
| |
|
| |
| local august = args['aug']
| |
| if august == nil then august = args['august'] end
| |
| if august == nil then august = args['std'] end
| |
| if august == nil then august = args['standard'] end
| |
| if august == nil then august = funcParams['aug'] end
| |
|
| |
| local september = args['sep']
| |
| if september == nil then september = args['september'] end
| |
| if september == nil then september = args['std'] end
| |
| if september == nil then september = args['standard'] end
| |
| if september == nil then september = funcParams['sep'] end
| |
|
| |
| local oktober = args['okt']
| |
| if oktober == nil then oktober = args['oktober'] end
| |
| if oktober == nil then oktober = args['std'] end
| |
| if oktober == nil then oktober = args['standard'] end
| |
| if oktober == nil then oktober = funcParams['okt'] end
| |
|
| |
| local november = args['nov']
| |
| if november == nil then november = args['november'] end
| |
| if november == nil then november = args['std'] end
| |
| if november == nil then november = args['standard'] end
| |
| if november == nil then november = funcParams['nov'] end
| |
|
| |
| local dezember = args['dez']
| |
| if dezember == nil then dezember = args['dezember'] end
| |
| if dezember == nil then dezember = args['std'] end
| |
| if dezember == nil then dezember = args['standard'] end
| |
| if dezember == nil then dezember = funcParams['dez'] end
| |
|
| |
| local ausgabe = funcParams['st']
| |
| local monat = lang:formatDate ( 'm' )
| |
|
| |
| if monat == '01' then ausgabe = januar end
| |
| if monat == '02' then ausgabe = februar end
| |
| if monat == '03' then ausgabe = maerz end
| |
| if monat == '04' then ausgabe = april end
| |
| if monat == '05' then ausgabe = mai end
| |
| if monat == '06' then ausgabe = juni end
| |
| if monat == '07' then ausgabe = juli end
| |
| if monat == '08' then ausgabe = august end
| |
| if monat == '09' then ausgabe = september end
| |
| if monat == '10' then ausgabe = oktober end
| |
| if monat == '11' then ausgabe = november end
| |
| if monat == '12' then ausgabe = dezember end
| |
|
| |
|
| return check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe
| | return check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe |
| end | | end |
|
| |
|
| function zeit.inhalt_jahreszeit ( frame ) | | function zeit.inhalt_jahreszeit ( frame ) |
|
| | |
| lang = mw.language.new ( 'de' );
| | lang = mw.language.new ( 'de' ); |
|
| | |
| params = mw.loadData('Modul:Zeit/Params')
| | params = mw.loadData('Modul:Zeit/Params') |
| funcParams = params['inhalt_jahreszeit']
| | funcParams = params['inhalt_jahreszeit'] |
| args = frame:getParent().args
| | args = frame:getParent().args |
|
| | |
| local paramsTypen = { astronomisch = 'astronomisch', meteorologisch = 'meteorologisch' }
| | local paramsTypen = { astronomisch = 'astronomisch', meteorologisch = 'meteorologisch' } |
| local errorStr = '';
| | local errorStr = ''; |
|
| | |
| local fruehling = args['fr']
| | local fruehling = args['fr'] or args['fruehling'] or args['std'] or args['standard'] or funcParams['fr'] |
| if fruehling == nil then fruehling = args['fruehling'] end
| | local sommer = args['so'] or args['sommer'] or args['std'] or args['standard'] or funcParams['so'] |
| if fruehling == nil then fruehling = args['std'] end
| | local herbst = args['he'] or args['herbst'] or args['std'] or args['standard'] or funcParams['he'] |
| if fruehling == nil then fruehling = args['standard'] end
| | local winter = args['wi'] or args['winter'] or args['std'] or args['standard'] or funcParams['wi'] |
| if fruehling == nil then fruehling = funcParams['fr'] end
| | |
|
| | local typ = args['typ'] or funcParams['typ'] |
| local sommer = args['so']
| | |
| if sommer == nil then sommer = args['sommer'] end
| | local ausgabe = funcParams['std'] |
| if sommer == nil then sommer = args['std'] end
| | |
| if sommer == nil then sommer = args['standard'] end
| | if paramsTypen[typ] == nil then errorStr = check._error ('Falscher Wert für Parameter <em>typ</em>: <em>' .. typ .. '</em>', 'Zeit' ) end |
| if sommer == nil then sommer = funcParams['so'] end
| | if typ == 'meteorologisch' then |
|
| | local monat = lang:formatDate ( 'm' ) |
| local herbst = args['he']
| | if monat == '01' then ausgabe = winter end |
| if herbst == nil then herbst = args['herbst'] end
| | if monat == '02' then ausgabe = winter end |
| if herbst == nil then herbst = args['std'] end
| | if monat == '03' then ausgabe = fruehling end |
| if herbst == nil then herbst = args['standard'] end
| | if monat == '04' then ausgabe = fruehling end |
| if herbst == nil then herbst = funcParams['he'] end
| | if monat == '05' then ausgabe = fruehling end |
|
| | if monat == '06' then ausgabe = sommer end |
| local winter = args['wi']
| | if monat == '07' then ausgabe = sommer end |
| if winter == nil then winter = args['winter'] end
| | if monat == '08' then ausgabe = sommer end |
| if winter == nil then winter = args['std'] end
| | if monat == '09' then ausgabe = herbst end |
| if winter == nil then winter = args['standard'] end
| | if monat == '10' then ausgabe = herbst end |
| if winter == nil then winter = funcParams['wi'] end
| | if monat == '11' then ausgabe = herbst end |
|
| | if monat == '12' then ausgabe = winter end |
| local typ = args['typ']
| | end |
| if typ == nil then typ = funcParams['typ'] end
| | if typ == 'astronomisch' then |
|
| | local jahr = lang:formatDate ( 'Y' ) |
| local ausgabe = funcParams['std']
| | local differenz = os.difftime ( os.time(), os.time ( { year = jahr, month = '01', day = '01' } ) ) |
|
| | tage = math.floor ( differenz / 86400 +0.5 ) |
| if paramsTypen[typ] == nil then errorStr = check._error ('Falscher Wert für Parameter <em>typ</em>: <em>' .. typ .. '</em>', 'Zeit' ) end
| | if tage < 78 then ausgabe = winter |
| if typ == 'meteorologisch' then
| | else |
| local monat = lang:formatDate ( 'm' )
| | if tage < 178 then ausgabe = fruehling |
| if monat == '01' then ausgabe = winter end
| | else |
| if monat == '02' then ausgabe = winter end
| | if tage < 265 then ausgabe = sommer |
| if monat == '03' then ausgabe = fruehling end
| | else |
| if monat == '04' then ausgabe = fruehling end
| | if tage < 355 then ausgabe = herbst |
| if monat == '05' then ausgabe = fruehling end
| | else |
| if monat == '06' then ausgabe = sommer end
| | ausgabe = winter |
| if monat == '07' then ausgabe = sommer end
| | end |
| if monat == '08' then ausgabe = sommer end
| | end |
| if monat == '09' then ausgabe = herbst end
| | end |
| if monat == '10' then ausgabe = herbst end
| | end |
| if monat == '11' then ausgabe = herbst end
| | |
| if monat == '12' then ausgabe = winter end
| | end |
| end
| | return errorStr .. check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe |
| if typ == 'astronomisch' then
| |
| local jahr = lang:formatDate ( 'Y' )
| |
| local differenz = os.difftime ( os.time(), os.time ( { year = jahr, month = '01', day = '01' } ) )
| |
| tage = math.floor ( differenz / 86400 +0.5 )
| |
| if tage < 78 then ausgabe = winter
| |
| else
| |
| if tage < 178 then ausgabe = fruehling
| |
| else
| |
| if tage < 265 then ausgabe = sommer
| |
| else
| |
| if tage < 355 then ausgabe = herbst
| |
| else
| |
| ausgabe = winter
| |
| end
| |
| end
| |
| end
| |
| end
| |
|
| |
| end
| |
| return errorStr .. check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe
| |
| end | | end |
|
| |
|
| function zeit.inhalt_saison ( frame ) | | function zeit.inhalt_saison ( frame ) |
|
| | |
| lang = mw.language.new ( 'de' );
| | lang = mw.language.new ( 'de' ); |
|
| | |
| params = mw.loadData('Modul:Zeit/Params')
| | params = mw.loadData('Modul:Zeit/Params') |
| funcParams = params['inhalt_saison']
| | funcParams = params['inhalt_saison'] |
| args = frame:getParent().args
| | args = frame:getParent().args |
|
| | |
| local sommer = args['so']
| | local sommer = args['so'] or args['sommer'] or args['std'] or args['standard'] or funcParams['so'] |
| if sommer == nil then sommer = args['sommer'] end
| | local winter = args['wi'] or args['winter'] or args['std'] or args['standard'] or funcParams['wi'] |
| if sommer == nil then sommer = args['std'] end
| | |
| if sommer == nil then sommer = args['standard'] end
| | local ausgabe = funcParams['std'] |
| if sommer == nil then sommer = funcParams['so'] end
| | |
| | | local datum = os.date( '*t' ) |
| local winter = args['wi']
| | if datum['isdst'] then ausgabe = sommer else ausgabe = winter end |
| if winter == nil then winter = args['winter'] end
| | |
| if winter == nil then winter = args['std'] end
| | return check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe |
| if winter == nil then winter = args['standard'] end
| |
| if winter == nil then winter = funcParams['wi'] end
| |
|
| |
| local ausgabe = funcParams['std']
| |
|
| |
| local datum = os.date( '*t' )
| |
| if datum['isdst'] then ausgabe = sommer else ausgabe = winter end
| |
|
| |
| return check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe
| |
| end | | end |
|
| |
|
| function zeit.inhalt_zeitraum ( frame ) | | function zeit.inhalt_zeitraum ( frame ) |
|
| | |
| lang = mw.language.new ( 'de' );
| | lang = mw.language.new ( 'de' ); |
| local jahr = lang:formatDate ( 'Y' )
| | local jahr = lang:formatDate ( 'Y' ) |
|
| | |
| params = mw.loadData('Modul:Zeit/Params')
| | params = mw.loadData('Modul:Zeit/Params') |
| funcParams = params['inhalt_zeitraum']
| | funcParams = params['inhalt_zeitraum'] |
| args = frame:getParent().args
| | args = frame:getParent().args |
|
| | |
| local errorStr = '';
| | local errorStr = ''; |
|
| | |
| local von_tag = args['von_tag']
| | local von_tag = args['von_tag'] or funcParams['von_tag'] |
| if von_tag == nil then von_tag = funcParams['von_tag'] end
| | local von_monat = args['von_monat'] or funcParams['von_monat'] |
|
| | local bis_monat = args['bis_monat'] or funcParams['bis_monat'] |
| local von_monat = args['von_monat']
| | |
| if von_monat == nil then von_monat = funcParams['von_monat'] end
| | local bis_tag = args['bis_tag'] |
|
| | if bis_tag == nil then |
| local bis_monat = args['bis_monat']
| | bis_tag = funcParams['bis_tag'] |
| if bis_monat == nil then bis_monat = funcParams['bis_monat'] end
| | if bis_monat == '02' then |
|
| | bis_tag = 28 |
| local bis_tag = args['bis_tag']
| | if jahr / 4 == math.floor ( jahr / 4 ) then bis_tag = 29 end |
| if bis_tag == nil then
| | end |
| bis_tag = funcParams['bis_tag']
| | if bis_monat == '04' then bis_tag = 30 end |
| if bis_monat == '02' then
| | if bis_monat == '06' then bis_tag = 30 end |
| bis_tag = 28
| | if bis_monat == '09' then bis_tag = 30 end |
| if jahr / 4 == math.floor ( jahr / 4 ) then bis_tag = 29 end
| | if bis_monat == '11' then bis_tag = 30 end |
| end
| | end |
| if bis_monat == '04' then bis_tag = 30 end
| | |
| if bis_monat == '06' then bis_tag = 30 end
| | local inhalt = args['inhalt'] |
| if bis_monat == '09' then bis_tag = 30 end
| | if inhalt == nil then |
| if bis_monat == '11' then bis_tag = 30 end
| | inhalt = funcParams['inhalt'] |
| end
| | errorStr = check._error ('Kein Textinhalt für den Zeitraum angegeben.', 'Zeit' ) |
|
| | end |
| local inhalt = args['inhalt']
| |
| if inhalt == nil then
| |
| inhalt = funcParams['inhalt']
| |
| errorStr = check._error ('Kein Textinhalt für den Zeitraum angegeben.', 'Zeit' )
| |
| end
| |
|
| |
|
| local standard = args['std']
| | local standard = args['std'] or args['standard'] or funcParams['std'] |
| if standard == nil then standard = args['standard'] end
| |
| if standard == nil then standard = funcParams['std'] end
| |
|
| |
|
| local ausgabe = standard
| | local ausgabe = standard |
|
| |
|
| local differenz = os.difftime ( os.time(), os.time ( { year = jahr, month = '01', day = '01' } ) )
| | local differenz = os.difftime ( os.time(), os.time ( { year = jahr, month = '01', day = '01' } ) ) |
| local heute = math.floor ( differenz / 86400 +0.5 )
| | local heute = math.floor ( differenz / 86400 +0.5 ) |
| differenz = os.difftime ( os.time( { year = jahr, month = von_monat, day = von_tag } ), os.time ( { year = jahr, month = '01', day = '01' } ) )
| | differenz = os.difftime ( os.time( { year = jahr, month = von_monat, day = von_tag } ), os.time ( { year = jahr, month = '01', day = '01' } ) ) |
| local von = math.floor ( differenz / 86400 +0.5 )
| | local von = math.floor ( differenz / 86400 +0.5 ) |
| differenz = os.difftime ( os.time( { year = jahr, month = bis_monat, day = bis_tag } ), os.time ( { year = jahr, month = '01', day = '01' } ) )
| | differenz = os.difftime ( os.time( { year = jahr, month = bis_monat, day = bis_tag } ), os.time ( { year = jahr, month = '01', day = '01' } ) ) |
| local bis = math.floor ( differenz / 86400 +0.5 )
| | local bis = math.floor ( differenz / 86400 +0.5 ) |
| if von > bis then
| | if von > bis then |
| if jahr / 4 == math.floor ( jahr / 4 ) then von = von - 357 else von = von - 356 end
| | if jahr / 4 == math.floor ( jahr / 4 ) then von = von - 357 else von = von - 356 end |
| end
| | end |
|
| | |
| if heute >= von and heute <= bis then ausgabe = inhalt end
| | if heute >= von and heute <= bis then ausgabe = inhalt end |
|
| | |
| return errorStr .. check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe
| | return errorStr .. check._testParams ( args, funcParams, 'Zeit' ) .. ausgabe |
| end | | end |
|
| |
|
| return zeit | | return zeit |