Szablon:Ramy czasowe zdarzenia/tabela

 Dokumentacja szablonu [zobacz] [edytuj] [historia] [odśwież]
Spis treści

Przeznaczenie

edytuj

Dany szablon (makro) pozwala na utworzenie w miejscu jego wywołania tabliczki wskazującej ramy czasowe jakiegoś zdarzenia – przeszłego, trwającego lub przyszłego, oraz odnoszący się do tego czasu stan tego zdarzenia. W tabliczce podawane są informacje opisowe, czy zdarzenie jeszcze się nie rozpoczęło, trwa czy już się zakończyło, a także wskazywane są daty (momenty) początku i końca zdarzenia. Tabliczki takie są przydatne na stronach głosowań, dyskusji, sondaży i innych przedsięwzięć z narzuconymi ograniczeniami czasowymi, a informacja o aktualnym odniesieniu zdarzenia do czasu jest istotna dla uczestników/obserwatorów zdarzenia.

Zastosowanie niniejszego szablonu wprost jest możliwe, ale wymaga pewnej wiedzy o wyliczaniu czasu w skali uniksowej (patrz dalej w sekcji "Użycie"), i praktycznie jest on szablonem pomocniczym dla szablonu {{Ramy czasowe zdarzenia}}.

Istotne dane szablonu

edytuj

Parametry:

  • szablon nie zawiera parametrów pozycyjnych (numerowych) i zawiera 7 parametrów kluczowych (nazwanych)
  • wymaganie podania parametrów pozycyjnych: n/d
  • wymagania szczególne dla parametrów kluczowych: nie ma
  • uwarunkowanie ogólne parametrów kluczowych: wszystkie są w wywołaniu szablonu opcjonalne
  • wykaz parametrów z dokładnym opisem jest podany w następnej sekcji

Pominięcie wszystkich parametrów nazwanych jest możliwe i nie powoduje błędu, ale ma sens tylko demonstracyjny.

Wołane szablony (wikimakra):

Wołane funkcje parsera:

  • #ifexpr
  • #time

Wołany przez szablon:

Użycie

edytuj

Szablon używany jest w standardowy sposób, przez wstawienie do kodu artykułu jego wywołania – tak jak jest podane w poniższych przykładach. W wywołaniu szablonu można nie podawać ani jednego parametru.

W postaci ogólnej wywołanie szablonu ma poniższą postać – kursywą wskazano miejsca, w których należy wpisać adekwatny tekst:

{{Ramy czasowe zdarzenia/tabela|zdarzenie=nazwa zdarzenia|rgz=rodzaj gramatyczny zdarzenia|start=opis daty startu|startU=data startu uniksowa|stop=opis daty końca|stopU=f|wkLS=data końca uniksowa}}

Użycie niniejszego szablonu wprost nie jest jednak zalecane, gdyż wymaga dla danych dat uprzedniego wyliczenia i podania wartości czasów w skali uniksowej. Zamiast tego należy stosować konstrukcję subst: dla szablonu "Ramy czasowe zdarzenia", wywołującego szablon niniejszy i wyliczającego ze swoich parametrów spójne wartości parametrów danego szablonu.

Parametry

edytuj

Poniższa tabela podaje rozwinięty opis wszystkich parametrów makra.

W pierwszej kolumnie podano typ parametru:

  • K - kluczowy, identyfikowany w wywołaniu szablonu wyłącznie przez nazwę (klucz)

Druga kolumna zawiera wskazanie, czy parametr jest:

  • W - wymagany
  • o - opcjonalny
Nazwa Typ Rodz. Opis, sposób nadania wartości i wynik
zdarzenie K o Nazwa zdarzenia, dla którego podawane są ramy czasowe oraz stan zdarzenia wynikający z odniesienia ram do bieżącego momentu. W pierwszym wierszu tabeli podawany jest tekst składający się z niniejszej nazwy zdarzenia (w odpowiednim rodzaju gramatycznym wskazanym przez parametr rgz) oraz aktualny stan zdarzenia (zgodnie z wartościami odpowiednich pozostałych parametrów), tj. że jest planowane, trwa, lub jest zakończone.

Wartości:

zdarzenie=Festiwal tabelka będzie odnosiła się do zdarzenia "Festiwal"
zdarzenie= w tabelce NIE pojawi się nazwa zdarzenia, co jest pozbawione sensu
<brak> zostanie podstawiona domyślna nazwa zdarzenia - "Głosowanie"
rgz K o Wskazanie rodzaju gramatycznego zdarzenia – pierwszej litery określenia: męski, żeński, nijaki, co pozwoli użyć właściwych końcówek w określeniu stanu zdarzenia.

Wartości:

rgz=[m|ż|n] końcówki w określeniu bądą zgodne z rodzajem określenia
rgz= w określeniu w pewnych słowach zabraknie końcówek, co jest błędem
<brak> zostanie podstawiona domyślny rodzaj – "n" czyli nijaki, zgodny z rodzajem rzeczownika (też domyślnego) "Głosowanie"
start K o Wskazanie trybu planowania zdarzenia lub początkowego momentu ram czasowych opisywanego zdarzenia. Jest to parametr opisowy, w pierwszym przypadku ma postać "---", a w drugim powinien być podawany w formacie dd mmm rrrr gg:mm:ss, i powinien być zgodny z wartością parametru startU. W ramce tekst tego parametru jest wstawiany po tytule "Rozpoczęcie:".

Wartości:

start=12 marca 2000 13:12:12 wskazanie, że zdarzenie miało początek o godzinie 13:12:12 12 marca 2000 r.
start=--- wskazanie, że zdarzenie jest planowane (wartość parametru to trzy znaki minus - kod ASCII dziesiętny 45)
start= po tytule "Rozpoczęcie:" nic się nie pojawi – nie jest to błędem, ale niepodanie niniejszego parametru nie ma sensu
<brak> po tytule "Rozpoczęcie:" zostanie podstawiony tekst {{{start}}}
startU K o Wskazanie wartości liczbowej momentu czasowego start liczonej według skali systemu Unix, czyli jako liczba sekund od godziny 00:00:00 1 stycznia 1970 roku (np. moment wyświetlenia niniejszej strony jest wskazany czasem równym wartości funkcji parsera {{#time: U | }} = 1734872627 – jest to równoważne funkcji php mktime()). Liczbę taką można uzyskać dla dowolnej daty i godziny wykorzystując konwertery dostępne w sieci, np. http://www.epochconverter.com/. Parametr ten jest używany do wyznaczenia, czy początek zdarzenia jest przeszły czy przyszły w stosunku do momentu bieżącego, co z kolei pozwala określić, czy opisywane zdarzenie jeszcze się nie zaczęło lub czy trwa. Wartość ta powinna być zgodna z podanym parametrem start, a jego ustalenie należy do osoby chcącej użyć niniejszego szablonu – w związku z tym lepiej jest użyć podstawienia szablonu Ramy czasowe zdarzenia. Dla parametru start=--- wartość danego nie ma znaczenia, jest on pomijany.

Wartości:

startU=1172360220 wskazanie godziny 23:37:00 24 lutego 2007 roku
startU= taka konstrukcja spowoduje pojawienie się komunikatu o błędzie parsera
<brak> zostanie przyjęta wartość funkcji {{#time: U | }} dla momentu wyświetlenia w przeglądarce strony z wywołaniem niniejszego szablonu
stop K o Wskazanie końcowego momentu ram czasowych opisywanego zdarzenia. Jest to parametr opisowy, powinien być podawany w formacie dd mmm rrrr gg:mm:ss, i powinien być zgodny z wartością parametru stopU. W ramce tekst tego parametru jest wstawiany po tytule "Zakończenie:". Dla parametru start=--- nie ma znaczenia, jest on automatycznie ustawiany na "---"

Wartości:

stop=12 marca 2000 13:12:12 wskazanie, że zdarzenie miało koniec 13:12:12 12 marca 2000 r.
stop= po tytule "Zakończenie:" nic się nie pojawi – nie jest to błędem, ale w związku z tym niepodanie niniejszego parametru nie ma sensu
<brak> po tytule "Data zakończenia:" zostanie podstawiony tekst {{{stop}}}
stopU K o Wskazanie wartości liczbowej momentu czasowego stop liczonej według skali systemu Unix. Parametr ten jest używany do wyznaczenia, czy koniec zdarzenia jest przeszły, czy przyszły w stosunku do momentu bieżącego, co z kolei pozwala określić, czy opisywane zdarzenie już się zakończyło. Wartość ta powinna być zgodna z podanym parametrem stop, a jego ustalenie należy do osoby chcącej użyć niniejszego szablonu – w związku z tym lepiej jest użyć podstawienia szablonu Ramy czasowe zdarzenia. Dla parametru start=--- wartość danego nie ma znaczenia, jest on pomijany.

Wartości:

stopU=1172360220 wskazanie godziny 23:37:00 24 lutego 2007 roku
stopU= taka konstrukcja spowoduje pojawienie się komunikatu o błędzie parsera
<brak> zostanie przyjęta wartość funkcji {{#time: U | }} dla momentu wyświetlenia w przeglądarce strony z wywołaniem niniejszego szablonu
wkLS K o Wskazanie, że będzie wyświetlony komunikat podający, ile w ogólnym przypadku dla stanu trwającego zdarzenia pozostało dni, godzin, minut i sekund do zakończenia tego zdarzenia – dla okresu dłuższego niż 30 dni podany zostanie komunikat, że zdarzenie potrwa ponad 30 dni. Dla parametru start=--- wartość danego nie ma znaczenia, jest on pomijany.

Wartości:

wkLS=TAK wyświetlenie komunikatu (jest to działanie domyślne)
<brak> jw.
wkLS=NIE lub tekst dowolny inny niż powyżej komunikat nie będzie wyświetlony

Przykłady

edytuj

Przykład ogólny wywołania ze wskazaniem wszystkich parametrów kluczowych, ale bez podania wartości dla nich. Należy pamiętać, że parametry nie muszą być w wywołaniu szablonu podawane w przytoczonej kolejności.

{{Ramy czasowe zdarzenia/tabela
| zdarzenie =
| rgz       =
| start     =
| startU    =
| stop      =
| stopU     =
| wkLS      =
}}


Przykład nr 1
Przykład ten z kodem jak poniżej:

{{Ramy czasowe zdarzenia/tabela
| zdarzenie = Wyścig
| rgz       = m
| start     = (tekst dla startu 21:30 14-12-2006 -> 1166131800)
| startU    = 1166131800
| stop      = (tekst dla końca  13:52 19-01-2009 -> 1232373120)
| stopU     = 1232373120
| wkLS      = TAK
}}

tworzy tabelę czasową dla przeszłego zdarzenia:

Wyścig zakończony
Rozpoczęcie: (tekst dla startu 21:30 14-12-2006 -> 1166131800) Zakończenie: (tekst dla końca 13:52 19-01-2009 -> 1232373120)

przy czym teksty dla rozpoczęcia i zakończenia są świadomie bardzo opisowe, ponadto pokazane jest, że parametr wkLS w takim przypadku (zdarzenia przeszłego) nie ma znaczenia.


Przykład nr 2
Przykład ten z kodem jak poniżej:

{{Ramy czasowe zdarzenia/tabela
| zdarzenie = Dyskusja
| rgz       = ż
| start     = (data wcześniejsza niż aktualna o 10 dni minus 1000 sekund)
| startU    = {{#expr: {{#time: U}} - (60*60*24*10 - 1000) }}
| stop      = (data późniejsza niż aktualna o 10 dni plus 1000 sekund )
| stopU     = {{#expr: {{#time: U}} + (60*60*24*10 + 1000) }}
| wkLS      = TAK
}}

tworzy tabele czasową dla zdarzenia, które dla tego przykładu ma stale datę rozpoczęcia i zakończenia odległą od bieżącej o 10 dni plus/minus 1000 sekund:

Dyskusja trwa jeszcze 10 dni 0 godz. 16 min 40 s odśwież
Rozpoczęcie: (data wcześniejsza niż aktualna o 10 dni minus 1000 sekund) Zakończenie: (data późniejsza niż aktualna o 10 dni plus 1000 sekund )

Teksty dat są opisowe, gdyż parser Mediawiki nie oferuje funkcji przekształcającej czas uniksowy na sformatowana datę, jak to robi funkcja php date().


Przykład nr 3
Przykład ten z kodem jak poniżej:

{{Ramy czasowe zdarzenia/tabela
| zdarzenie = Spływ
| rgz       = m
| start     = ---
}}

tworzy tabelę informacyjną dla planowanego zdarzenia:

Spływ planowany
Rozpoczęcie: --- Zakończenie: ---