[CSS] +fix page header and title color
[lhc/web/www.git] / www / plugins / saisies / saisies / date.html
1 [(#REM)
2 Zone de saisie de date utilsant le dateur de Bonux si présent.
3 Sur les sites en HTML5, utilise type="date"
4 sur le input, et type="text" par défaut pour les autres.
5 Pour tous on utilise class="date" et class="heure" pour activer le dateur.
6
7 La valeur fournie peut être :
8 - au format spip jj/mm/aaaa (date uniquement)
9 - au format SQL aaaa-mm-jj (date uniquement)
10 - au format SQL aaaa-mm-jj hh:mm:ss (date et heure)
11 - un tableau avec une entrée "date" et une entrée "heure" séparée, au format SQL (date et heure obligatoire)
12
13 Pour utiliser les heures, il faut utiliser l'option "horaire=oui".
14
15 La date est proposée à l'affichage au format jj/mm/aaaa.
16
17 La valeur retournée n'est pas nécessairement au format SQL.
18 Le cas échéant, il faut la normaliser avant enregistrement en base.
19 ]
20
21 [(#REM) Initialisation de la valeur ]
22 #SET{autodater,''}
23 [(#ENV{class}|=={'autodater'}|oui)
24 #SET{autodater,#VAL{Y-m-d H:i:s}|date}
25 ]
26 #SET{valeur,#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#GET{autodater}}}}}
27
28 [(#REM) Regex de date SQL ]
29 #SET{date_sql,"[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?"}
30
31 [(#REM) Si la valeur est un tableau, on considère que c'est date et heure dans un format déjà reconnu (j/m/a ou SQL) ]
32 [(#GET{valeur}|is_array|oui)
33 #SET{date, #GET{valeur/date}}
34 #SET{heure, #GET{valeur/heure}}
35 ]
36
37 [(#REM) Si la valeur est une chaîne, on regarde si SQL ]
38 [(#GET{valeur}|is_string|oui)
39 [(#REM) Par défaut (date uniquement au format SPIP) la date c'est toute la valeur ]
40 #SET{date, #GET{valeur}}
41 #SET{heure, ''}
42
43 [(#REM) Si c'est bien une date SQL ]
44 [(#GET{valeur}|match{#GET{date_sql}}|oui)
45 [(#REM) Si la date est complètement 0, on met des valeurs vides ]
46 [(#GET{valeur}|=={0000-00-00 00:00:00}|oui)
47 #SET{date, ''}
48 #SET{heure, ''}
49 ]
50 [(#GET{valeur}|=={0000-00-00 00:00:00}|non)
51 #SET{date, #GET{valeur}|affdate{d/m/Y}}
52 #SET{heure, #GET{valeur}|affdate{H:i}}
53 ]
54 ]
55 ]
56
57 [(#INCLURE{fond=saisies/input,
58 env,
59 nom=#ENV{nom}[(#ENV{horaire}|?{\[date\]})],
60 valeur=#GET{date},
61 type=text,
62 class=[(#ENV{class}) ]date})]
63 [(#ENV{horaire}|oui)
64 [(#INCLURE{fond=saisies/input,
65 env,
66 nom=#ENV{nom}\[heure\],
67 valeur=#GET{heure},
68 size=4,
69 maxlength=5,
70 class=[(#ENV{class}) ]heure})]
71 ]
72 [(#ENV{disable}|non|et{#ENV{readonly}|non})[(#INCLURE{fond=formulaires/dateur/inc-dateur, heure_pas=#ENV{heure_pas,30}})]]