[(#REM) Zone de saisie de date utilsant le dateur de Bonux si présent. Sur les sites en HTML5, utilise type="date" sur le input, et type="text" par défaut pour les autres. Pour tous on utilise class="date" et class="heure" pour activer le dateur. La valeur fournie peut être : - au format spip jj/mm/aaaa (date uniquement) - au format SQL aaaa-mm-jj (date uniquement) - au format SQL aaaa-mm-jj hh:mm:ss (date et heure) - un tableau avec une entrée "date" et une entrée "heure" séparée, au format SQL (date et heure obligatoire) Pour utiliser les heures, il faut utiliser l'option "horaire=oui". La date est proposée à l'affichage au format jj/mm/aaaa. La valeur retournée n'est pas nécessairement au format SQL. Le cas échéant, il faut la normaliser avant enregistrement en base. ] [(#REM) Initialisation de la valeur ] #SET{autodater,''} [(#ENV{class}|=={'autodater'}|oui) #SET{autodater,#VAL{Y-m-d H:i:s}|date} ] #SET{valeur,#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#GET{autodater}}}}} [(#REM) Regex de date SQL ] #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])?"} [(#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) ] [(#GET{valeur}|is_array|oui) #SET{date, #GET{valeur/date}} #SET{heure, #GET{valeur/heure}} ] [(#REM) Si la valeur est une chaîne, on regarde si SQL ] [(#GET{valeur}|is_string|oui) [(#REM) Par défaut (date uniquement au format SPIP) la date c'est toute la valeur ] #SET{date, #GET{valeur}} #SET{heure, ''} [(#REM) Si c'est bien une date SQL ] [(#GET{valeur}|match{#GET{date_sql}}|oui) [(#REM) Si la date est complètement 0, on met des valeurs vides ] [(#GET{valeur}|=={0000-00-00 00:00:00}|oui) #SET{date, ''} #SET{heure, ''} ] [(#GET{valeur}|=={0000-00-00 00:00:00}|non) #SET{date, #GET{valeur}|affdate{d/m/Y}} #SET{heure, #GET{valeur}|affdate{H:i}} ] ] ] [(#INCLURE{fond=saisies/input, env, nom=#ENV{nom}[(#ENV{horaire}|?{\[date\]})], valeur=#GET{date}, type=text, class=[(#ENV{class}) ]date})] [(#ENV{horaire}|oui) [(#INCLURE{fond=saisies/input, env, nom=#ENV{nom}\[heure\], valeur=#GET{heure}, size=4, maxlength=5, class=[(#ENV{class}) ]heure})] ] [(#ENV{disable}|non|et{#ENV{readonly}|non})[(#INCLURE{fond=formulaires/dateur/inc-dateur, heure_pas=#ENV{heure_pas,30}})]]