[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / saisies / saisies / date_jour_mois_annee.html
diff --git a/www/plugins/auto/saisies/saisies/date_jour_mois_annee.html b/www/plugins/auto/saisies/saisies/date_jour_mois_annee.html
new file mode 100644 (file)
index 0000000..8bab148
--- /dev/null
@@ -0,0 +1,66 @@
+[(#REM)
+
+       /!\ Cette saisie nécessite du javascript pour fonctionner.
+               En absence de JS, seul un champ de saisie texte est affiché.
+       
+       Cette saisie cree 3 champs a partir d'une date au format datetime mysql.
+       A chaque modification, un champ cache est modifie, contenant la date au format datetime.
+
+       Options :
+       - label_(jour|mois|annee)
+       - size_(jour|mois|annee)
+       - maxlength_(jour|mois|annee)
+       
+       [(#SAISIE{date_jour_mois_annee, date_naissance,
+               label=Date de naissance
+       })]
+]
+#SET{valeur,#ENV{valeur,#ENV{defaut}}}
+[(#SET{id,[(#ENV**|md5|substr{0,6})]})]
+<input type='text' name="#ENV{nom}" id="#GET{id}" [ value="(#GET{valeur})"] class='datetime' />
+
+
+<script type='text/javascript'>
+function activer_dateur_#GET{id}() {
+       jour = '\
+               <div class="choix">\
+                       [<label for="champ_#ENV{nom}_jour">(#ENV{label_jour,<:saisies:label_jour:>})</label>]\
+                       <input type="text" name="#ENV{nom}_jour" class="text date_jour[ (#ENV{class})]" id="champ_#ENV{nom}_jour"[ value="(#GET{valeur}|journum)"][ size="(#ENV{size_jour, 2})"][ maxlength="(#ENV{maxlength_jour, 2})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
+               </div>\
+       ';
+               
+       mois = '\
+               <div class="choix">\
+                       [<label for="champ_#ENV{nom}_mois">(#ENV{label_mois,<:saisies:label_mois:>})</label>]\
+                       <input type="text" name="#ENV{nom}_mois" class="text date_mois[ (#ENV{class})]" id="champ_#ENV{nom}_mois"[ value="(#GET{valeur}|mois)"][ size="(#ENV{size_mois, 2})"][ maxlength="(#ENV{maxlength_mois, 2})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
+               </div>\
+       ';
+       
+       annee = '\
+               <div class="choix">\
+                       [<label for="champ_#ENV{nom}_annee">(#ENV{label_annee,<:saisies:label_annee:>})</label>]\
+                       <input type="text" name="#ENV{nom}_annee" class="text date_annee[ (#ENV{class})]" id="champ_#ENV{nom}_annee"[ value="(#GET{valeur}|annee)"][ size="(#ENV{size_annee, 4})"][ maxlength="(#ENV{maxlength_annee, 4})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"][(#ENV{obligatoire}|et{#HTML5}|oui) required="required"] onChange="changer_la_date(this);" />\
+               </div>\
+       ';
+
+       jQuery('##GET{id}')[0].type = 'hidden';
+       jQuery('##GET{id}').after(jour + mois + annee);
+}
+
+function changer_la_date(me) {
+       li = $(me).parent().parent();
+       jour = li.find('.date_jour').attr('value').trim();
+       mois = li.find('.date_mois').attr('value').trim();
+       annee = li.find('.date_annee').attr('value').trim();
+       date = li.find('.datetime').attr('value').trim();
+       while(jour.length < 2) {jour = '0' + jour;}
+       while(mois.length < 2) {mois = '0' + mois;}
+       while(annee.length < 4) {annee = '0' + annee;}
+       date = annee + '-' + mois + '-' + jour + date.substring(10);
+       li.find('.datetime').attr('value',date);
+}
+
+jQuery(document).ready(function(){
+       activer_dateur_#GET{id}();
+});
+</script>