Changeset 43706 in spip-zone


Ignore:
Timestamp:
Jan 20, 2011, 12:26:38 PM (8 years ago)
Author:
joseph@…
Message:

Ajout d'une option format pour la vérification des dates (jma, mja ou amj)

Location:
_plugins_/verifier
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/verifier/plugin.xml

    r43552 r43706  
    99        <icon>images/verifier-128.png</icon>
    1010        <licence>GPL v3</licence>
    11         <version>0.1.7</version>
     11        <version>0.1.8</version>
    1212        <etat>dev</etat>
    1313        <description>
  • _plugins_/verifier/verifier/date.php

    r41908 r43706  
    66/**
    77 * Une date au format JJ/MM/AAAA (avec séparateurs souples : espace / - .)
    8  * TODO : introduire via les options le FORMAT de la date, pour accepter différentes écritures
     8 * Options :
     9 * - format : permet de préciser le format de la date  jma pour jour/mois/année (par défaut), mja (pour mois / jour / année), amj (année/mois/jour)
     10 * TODO : compléter les formats
    911 * On pourrait faire mieux, genre vérifier les jours en fonction du mois
    1012 * Mais c'est pas très important, on reste simple
     
    2224       
    2325        // On vérifie la validité du format
    24         if(!preg_match('#^[0-9]{2}-[0-9]{2}-[0-9]{4}$#',$valeur)) return $erreur;
    25         // On vérifie vite fait que les dates existent, genre le 32 pour un jour NON, (mais on pourrait aller plus loin et vérifier en fonction du mois)
    26         list($jour,$mois,$annee) = explode('-',$valeur);
     26        $format = isset($options['format']) ? $options['format'] : 'jma';
     27       
     28        print_r($format);
     29       
     30        if ($format=='mja') {
     31                if(!preg_match('#^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}$#',$valeur)) return $erreur;
     32                list($mois,$jour,$annee) = explode('-',$valeur);
     33        } elseif ($format=='amj') {
     34                if(!preg_match('#^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$#',$valeur)) return $erreur;
     35                list($annee,$mois,$jour) = explode('-',$valeur);
     36        } else {
     37        // Format jma par défaut
     38                if(!preg_match('#^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}$#',$valeur)) return $erreur;
     39                list($jour,$mois,$annee) = explode('-',$valeur);
     40        }
     41
    2742        // validité de la date
    2843        $erreur = _T('verifier:erreur_date');
Note: See TracChangeset for help on using the changeset viewer.