Difference between revisions of "Template:Event infobox"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
Line 4: Line 4:
   {{#vardefine:duration array|{{{duration|}}}
   {{#vardefine:duration array|{{{duration|}}}
}}{{#vardefine:duration loop|1
}}{{#vardefine:duration loop|1
}}{{#vardefine:duration earliest start|99999999999
}}{{#var define:duration latest end|0
}}{{#while:|{{#var:duration loop}}|
}}{{#while:|{{#var:duration loop}}|
{{#vardefine:duration array piece|
{{#vardefine:duration array piece|
   {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
   {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
}}{{#if:{{#var:duration array|}}|
}}{{#if:{{#var:duration array|}}|
{{#if:{{#pos:{{#var:duration array}}|!}}|
  {{#if:{{#pos:{{#var:duration array}}|!}}|
  {{#vardefine:duration array piece name|
    {{#vardefine:duration array piece name|
    {{#explode:{{#var:duration array piece}}|!|0}}
      {{#explode:{{#var:duration array piece}}|!|0}}
  }}{{#vardefine:duration array piece start|
    }}{{#vardefine:duration array piece start|
    {{#explode:
      {{#explode:
      {{#explode:{{#var:duration array piece}}|!|1
        {{#explode:{{#var:duration array piece}}|!|1
    }}|->|0}}
      }}|->|0}}
  }}{{#vardefine:duration array piece end|
    }}{{#vardefine:duration array piece end|
     {{#explode:
      {{#explode:
       {{#explode:{{#var:duration array piece}}|!|1
        {{#explode:{{#var:duration array piece}}|!|1
     }}|->|1}}
      }}|->|1}}
    }}
     |{{#vardefine:duration array piece name|Duration
    }}{{#vardefine:duration array piece start|
      {{#explode:{{#var:duration array piece}}|->|0}}
    }}{{#vardefine:duration array piece end|
       {{#explode:{{#var:duration array piece}}|->|1}}
    }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:c|December 2nd, 2018}}}}
    }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:c|December 31st, 3000}}}}
    }}
  }}{{#vardefine:duration array piece start|{{#replace:{{#var:duration array piece start}}|@|}}
    }}{{#vardefine:duration array piece end|{{#replace:{{#var:duration array piece end}}|@|}}
  }}{{#if:{{#var:duration}}|
    {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
     |{{#vardefine:duration|{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
  }}{{#ifexpr:{{#time: U|now}} >= {{#time:U|{{#var:duration array piece start}}}} and {{#time: U|now}} <= {{#time: U|{{#var:duration array piece end}}}}|
    {{#vardefine:is active|true}}
  }}{{#vardefine:duration array piece start|{{#time:U|{{#var:duration array piece start}}}}
  }}{{#vardefine:duration array piece end|{{#time:U|{{#var:duration array piece start}}}}
  }}{{#ifeq:{{#var:duration array piece start}} <= {{#var:duration earliest start}}|{{#vardefine:duration earliest start|{{#var:duration array piece start}}}}
  }}{{#ifeq:{{#var:duration array piece end}} <= {{#var:duration latest end}}|{{#vardefine:duration latest end|{{#var:duration array piece end}}}}
   }}
   }}
  |{{#vardefine:duration array piece name|Duration
}}{{#if:{{#pos:{{#var:duration array}}|;}}||
  }}{{#vardefine:duration array piece start|
    {{#explode:{{#var:duration array piece}}|->|0}}
  }}{{#vardefine:duration array piece end|
    {{#explode:{{#var:duration array piece}}|->|1}}
  }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:c|December 2nd, 2018}}}}
  }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:c|December 31st, 3000}}}}
  }}
}}{{#vardefine:duration array piece start|{{#replace:{{#var:duration array piece start}}|@|}}
  }}{{#vardefine:duration array piece end|{{#replace:{{#var:duration array piece end}}|@|}}
}}{{#if:{{#var:duration}}|
  {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
  |{{#vardefine:duration|{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
}}{{#ifexpr:{{#time: U|now}} >= {{#time:U|{{#var:duration array piece start}}}} and {{#time: U|now}} <= {{#time: U|{{#var:duration array piece end}}}}|
  {{#vardefine:is active|true}}
}}}}{{#if:{{#pos:{{#var:duration array}}|;}}||
   {{#vardefine:duration loop|}}
   {{#vardefine:duration loop|}}
}}{{#vardefine:duration array|
}}{{#vardefine:duration array|
Line 49: Line 56:
| Has duration date = {{#var:duration|{{{duration|}}}}}
| Has duration date = {{#var:duration|{{{duration|}}}}}
| Has event type = {{{type|Time-Limited}}}
| Has event type = {{{type|Time-Limited}}}
| Earliest duration = {{#var:duration earliest start}}
| Latest duration = {{#var:duration latest end}}
| Is active = {{#var:is active}}
| Is active = {{#var:is active}}
}}{{#if:{{#var:is active}}|[[Category:Active events]]|[[Category:Inactive events]]}}
}}{{#if:{{#var:is active}}|[[Category:Active events]]|[[Category:Inactive events]]}}
Line 68: Line 77:
* Has duration date
* Has duration date
* Has event type
* Has event type
* Earliest duration
* Latest duration
* Is active
* Is active



Revision as of 01:43, 15 July 2018

Description

This templates creates an infobox for an event, as well as an event subobject using the following properties:

  • Has Japanese name
  • Has English name
  • Has news link
  • Has banner image
  • Has duration date
  • Has event type
  • Earliest duration
  • Latest duration
  • Is active

Usage

{{Event infobox
| jp name = 
| en name = 
| news link =
| banner image = 
| duration = 
| type =
}}

Parameters

jp name
Japanese name.
en name
Translated name, official if jp-en name exists, unofficial if not.
jp-en name
Unofficial translated name.
news link
Link to the news post from housamo.info
banner image
Image(s) for the banners present during the event; separate multiple images using a semicolon.
duration
The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 friendly timestamp.
type
The type of event: Time-Limited if non-event (no event shop, etc.), Full if true event; defaults to Time-Limited

Examples

{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
Oriental New Year!
Durations
Quest January 04, 2018 14:00 to January 20, 2018 23:59
Gacha January 04, 2018 14:00 to January 27, 2018 23:59