Changeset 81336 in spip-zone


Ignore:
Timestamp:
Mar 13, 2014, 1:30:54 PM (5 years ago)
Author:
rastapopoulos@…
Message:

En SPIP3 les fonctions d'édition ne marchent plus pareil, notamment je crois qu'avant le set() ne prenait pas en charge les champs "saisies" et "traitements" alors que la fonction modifier() de l'API si.

Du coup, il faut bien sérialiser en amont, et faire une seule fois la modif.

Location:
_plugins_/formidable/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/echanger/formulaire/wcs.php

    r37761 r81336  
    149149                        include_spip('action/editer_formulaire');
    150150                        // On insère un nouveau formulaire
    151                         $id_formulaire = insert_formulaire();
    152                         // Si ça a marché on modifie les champs de base
    153                         if ($id_formulaire > 0 and !($erreur = formulaire_set($id_formulaire, $formulaire))){
    154                                 // Et ensuite les saisies et les traitements
    155                                 $ok = sql_updateq(
    156                                         'spip_formulaires',
    157                                         array(
    158                                                 'saisies' => serialize($formulaire['saisies']),
    159                                                 'traitements' => serialize($formulaire['traitements'])
    160                                         ),
    161                                         'id_formulaire = '.$id_formulaire
    162                                 );
     151                        $id_formulaire = formulaire_inserer();
     152                        // Si ça a marché on transforme les tableaux et on modifie les champs
     153                        if ($id_formulaire > 0){
     154                                if (is_array($formulaire['saisies'])){
     155                                        $formulaire['saisies'] = serialize($formulaire['saisies']);
     156                                }
     157                                if (is_array($formulaire['traitements'])){
     158                                        $formulaire['traitements'] = serialize($formulaire['traitements']);
     159                                }
     160                               
     161                                $erreur = formulaire_modifier($id_formulaire, $formulaire);
    163162                        }
    164163                }
    165164        }
    166165       
    167         if ($id_formulaire and $ok){
     166        if ($id_formulaire and !$erreur){
    168167                return $id_formulaire;
    169168        }
    170169        else{
    171                 return _T('formidable:erreur_importer_wcs');
     170                return _T('formidable:erreur_importer_yaml').' : '.$erreur;
    172171        }
    173172}
  • _plugins_/formidable/trunk/echanger/formulaire/yaml.php

    r37677 r81336  
    5151                                'identifiant = '.sql_quote($formulaire['identifiant'])
    5252                        );
    53                         if ($deja)
    54                                 $formulaire['identifiant'] = $formulaire['identifiant'].'_'.time();
     53                        if ($deja){
     54                                $formulaire['identifiant'] .= '_'.date('Ymd_His');
     55                        }
     56                       
    5557                        // On insère un nouveau formulaire
    56                         $id_formulaire = insert_formulaire();
    57                         // Si ça a marché on modifie les champs de base
    58                         if ($id_formulaire > 0 and !($erreur = formulaire_set($id_formulaire, $formulaire))){
    59                                 // Et ensuite les saisies et les traitements
    60                                 $ok = sql_updateq(
    61                                         'spip_formulaires',
    62                                         array(
    63                                                 'saisies' => serialize($formulaire['saisies']),
    64                                                 'traitements' => serialize($formulaire['traitements'])
    65                                         ),
    66                                         'id_formulaire = '.$id_formulaire
    67                                 );
     58                        $id_formulaire = formulaire_inserer();
     59                        // Si ça a marché on transforme les tableaux et on modifie les champs
     60                        if ($id_formulaire > 0){
     61                                if (is_array($formulaire['saisies'])){
     62                                        $formulaire['saisies'] = serialize($formulaire['saisies']);
     63                                }
     64                                if (is_array($formulaire['traitements'])){
     65                                        $formulaire['traitements'] = serialize($formulaire['traitements']);
     66                                }
     67                               
     68                                $erreur = formulaire_modifier($id_formulaire, $formulaire);
    6869                        }
    6970                }
    7071        }
    7172       
    72         if ($id_formulaire and $ok){
     73        if ($id_formulaire and !$erreur){
    7374                return $id_formulaire;
    7475        }
    7576        else{
    76                 return _T('formidable:erreur_importer_yaml');
     77                return _T('formidable:erreur_importer_yaml').' : '.$erreur;
    7778        }
    7879}
  • _plugins_/formidable/trunk/paquet.xml

    r81192 r81336  
    22        prefix="formidable"
    33        categorie="communication"
    4         version="2.5.3"
     4        version="2.5.4"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.