Changeset 107774 in spip-zone


Ignore:
Timestamp:
Nov 27, 2017, 6:54:41 PM (2 years ago)
Author:
rastapopoulos@…
Message:

Quelques modifications dans l'API de saisies pour permettre d'insérer dans le tableau de description une entrée de config générale qui ne soit pas une saisie, et qui va quand même rester de bout en bout même après plusieurs transformations.

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/formulaires/saisies_cvt.php

    r97712 r107774  
    77
    88function formulaires_saisies_cvt_saisies_dist() {
    9         return array(
     9        include_spip('inc/saisies');
     10       
     11        $saisies = array(
     12                'config' => array(
     13                        'texte_submit' => 'Prout !',
     14                        'activer_etapes' => true,
     15                ),
    1016                array(
    1117                        'saisie' => 'input',
     
    2733                ),
    2834                array(
     35                        'saisie' => 'input',
     36                        'options' => array(
     37                                'nom' => 'a_supprimer',
     38                                'label' => 'Un champ à supprimer'
     39                        )
     40                ),
     41                array(
    2942                        'saisie' => 'textarea',
    3043                        'options' => array(
     
    3952                )
    4053        );
     54       
     55        $chemin = saisies_chercher($saisies, 'a_supprimer', true);
     56        $saisies = saisies_supprimer($saisies, $chemin);
     57        $saisies = saisies_dupliquer($saisies, 'message');
     58        $saisies = saisies_deplacer($saisies, 'email', 'nom');
     59        var_dump($saisies);
     60       
     61        return $saisies;
    4162}
  • _plugins_/saisies/trunk/inc/saisies_manipuler.php

    r100959 r107774  
    2525 */
    2626function saisies_supprimer($saisies, $id_ou_nom_ou_chemin) {
     27        // On enlève la config avant de manipuler
     28        if (isset($saisies['config'])) {
     29                $config = $saisies['config'];
     30                unset($saisies['config']);
     31        }
     32       
    2733        // Si la saisie n'existe pas, on ne fait rien
    2834        if ($chemin = saisies_chercher($saisies, $id_ou_nom_ou_chemin, true)) {
     
    3945                unset($parent[$position]);
    4046                $parent = array_values($parent);
     47        }
     48       
     49        // On remet la config après avoir manipulé
     50        if (isset($config)) {
     51                $saisies['config'] = $config;
    4152        }
    4253
     
    5768 */
    5869function saisies_inserer($saisies, $saisie, $chemin = array()) {
     70        // On enlève la config avant de manipuler
     71        if (isset($saisies['config'])) {
     72                $config = $saisies['config'];
     73                unset($saisies['config']);
     74        }
     75       
    5976        // On vérifie quand même que ce qu'on veut insérer est correct
    6077        if ($saisie['saisie'] and $saisie['options']['nom']) {
     
    86103                array_splice($parent, $position, 0, array($saisie));
    87104        }
    88 
     105       
     106        // On remet la config après avoir manipulé
     107        if (isset($config)) {
     108                $saisies['config'] = $config;
     109        }
     110       
    89111        return $saisies;
    90112}
Note: See TracChangeset for help on using the changeset viewer.