Changeset 32143 in spip-zone


Ignore:
Timestamp:
Oct 15, 2009, 4:46:25 PM (11 years ago)
Author:
marcimat@…
Message:

Changements dans les vérifications :

Les champs à verifiér doivent être ceux effectivements affichés dans le formulaires
sinon on renvoie des erreurs qui ne sont même pas affichés lorsque l'on dit via des autorisations qu'un champ ne doit s'afficher que dans une rubrique.

Location:
_plugins_/champs_extras2/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras2/core/cextras_pipelines.php

    r31076 r32143  
    251251                if ($extras = cextras_get_extras_match($type)) {
    252252                        foreach ($extras as $c) {
    253                                 if ($c->obligatoire AND !_request($c->champ)) {
    254                                         $flux['data'][$c->champ] = _T('info_obligatoire');
    255                                 }
    256                                 // ajouter une fonction de verification ici
    257                                 // verifier_extra($c, _request($c->champ))
     253                                // si on est autorise a modifier le champ
     254                                // et que le champ est obligatoire
     255                                // alors on renvoie une erreur.
     256                                // Mais : ne pas renvoyer d'erreur si le champ est
     257                                // obligatoire, mais qu'il n'est pas visible dans le formulaire
     258                                // (si affiche uniquement pour la rubrique XX par exemple).
     259                                // On teste seulement les champs dont la modification est autorisee
     260                                $type = objet_type($c->table).'_'.$c->champ;
     261                                $id_objet = $flux['args']['args'][0]; // ? vraiment toujours ?
     262
     263                                // l'autorisation n'a pas de contexte a transmettre
     264                                // comme dans l'autre appel (cextras_afficher_contenu_objet())
     265                                // du coup, on risque de se retrouver parfois avec des
     266                                // resultats differents... Il faudra surveiller.
     267                                if (autoriser('modifierextra', $type, $id_objet, '', array(
     268                                        'type' => $c->table,
     269                                        'id_objet' => $id_objet)))
     270                                {
     271                                        if ($c->obligatoire AND !_request($c->champ)) {
     272                                                $flux['data'][$c->champ] = _T('info_obligatoire');
     273                                        }
     274                               
     275                                        // ajouter une fonction de verification ici
     276                                        // verifier_extra($c, _request($c->champ))
     277                                }
    258278                        }
    259279                }
  • _plugins_/champs_extras2/core/plugin.xml

    r31901 r32143  
    33        <auteur>Matthieu Marcillaud, Fil</auteur>
    44        <licence>GNU/GPL</licence>
    5         <version>1.1.1</version>
     5        <version>1.2.0</version>
    66        <description>
    77        Creer de nouveaux champs aux objets d'&eacute;dition de SPIP
Note: See TracChangeset for help on using the changeset viewer.