Changeset 115849 in spip-zone


Ignore:
Timestamp:
Jul 2, 2019, 3:34:22 PM (3 weeks ago)
Author:
rastapopoulos@…
Message:

Depuis [115027] il était devenu impossible de ne pas remplir les dates, même si on n'avait jamais dit que c'était obligatoire. Le test d'obligation se fait dans Saisies en amont, mais si ce n'est pas le cas, on DOIT pouvoir laisser les champs vides. On change donc pour ne faire une erreur que si la date est vide alors qu'on a remplit l'heure. Si c'est le contraire, on considère que l'heure est 00:00. Et si tout est vide, ya rien du tout, puisqu'on n'a jamais demandé obligatoire, donc ça reste vide et ça sera possiblement normalisé avec tout à zéro.

Location:
_plugins_/verifier
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/verifier/inc/verifier.php

    r115390 r115849  
    2626 */
    2727function inc_verifier_dist($valeur, $type, $options = null, &$valeur_normalisee = null) {
    28 
    2928        $erreur = array();
     29       
    3030        // On vérifie que les options sont bien un tableau
    3131        if (!is_array($options)) {
  • _plugins_/verifier/paquet.xml

    r115390 r115849  
    22        prefix="verifier"
    33        categorie="outil"
    4         version="1.9.3"
     4        version="1.9.4"
    55        etat="stable"
    66        compatibilite="[2.0.10;3.2.*]"
  • _plugins_/verifier/plugin.xml

    r115390 r115849  
    1010        <icon>images/verifier-128.png</icon>
    1111        <licence>GPL v3</licence>
    12         <version>1.9.3</version>
     12        <version>1.9.4</version>
    1313        <etat>stable</etat>
    1414        <description>
  • _plugins_/verifier/verifier/date.php

    r115390 r115849  
    4242        // Si c'est un tableau
    4343        if (is_array($valeur)) {
    44                 // S'il y a les bonnes infos on les garde aux bons endroits
    45                 if (isset($valeur['date']) and is_string($valeur['date'])
    46                         and isset($valeur['heure']) and is_string($valeur['heure'])) {
    47                         $options['heure'] = $valeur['heure']; // l'heure pour la fonction de normalisation
     44                // S'il y a l'heure sans la date principale, c'est directement erreur
     45                if (!isset($valeur['date']) and isset($valeur['heure'])) {
     46                        return _T('verifier:erreur_date_format_date_vide');
     47                }
     48                // S'il y a au moins la date ok
     49                elseif (isset($valeur['date']) and is_string($valeur['date'])) {
    4850                        $valeur = $valeur['date']; // valeur principale pour la date
    4951                        $horaire = true; // on détecte une vérif avec horaire uniquement dans ce cas
    50                 } else {
    51                         // Sinon : pas le bon format
    52                         if (!isset($valeur['date']) or !isset($valeur['heure'])) {
    53                                 $erreur = '';
    54                                 if (!isset($valeur['date'])) {
    55                                         $erreur = _T('verifier:erreur_date_format_date_vide');
    56                                 }
    57                                 if (!isset($valeur['heure'])) {
    58                                         $erreur = $erreur." "._T('verifier:erreur_date_format_heure_vide');
    59                                 }
     52                       
     53                        // Si on trouve une heure donnée
     54                        if (isset($valeur['heure']) and is_string($valeur['heure'])) {
     55                                $options['heure'] = $valeur['heure']; // l'heure pour la fonction de normalisation
    6056                        }
    61                         return $erreur;
     57                        // Sinon on met l'heure à minuit
     58                        else {
     59                                $options['heure'] = '00:00';
     60                        }
     61                }
     62                // Sinon c'est une date vide, et on a tout à fait le droit !
     63                // (sinon on aurait mis "obligatoire", et c'est pris en compte par Saisies avant)
     64                else {
     65                        $valeur = null;
    6266                }
    6367        }
Note: See TracChangeset for help on using the changeset viewer.