Changeset 47677 in spip-zone


Ignore:
Timestamp:
May 11, 2011, 11:54:41 AM (10 years ago)
Author:
rastapopoulos@…
Message:

Lors de la création d'une nouvelle commande "encours", il ne faut supprimer celle indiquée dans la session que si elle est toujours "encours" (entre temps elle peut avoir été payée).

Location:
_plugins_/commandes
Files:
2 edited

Legend:

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

    r47569 r47677  
    1414        // S'il y a une commande en cours dans la session, on la supprime
    1515        if (($id_commande = intval(session_get('id_commande'))) > 0){
    16                 // On supprime son contenu
    17                 sql_delete('spip_commandes_details', 'id_commande = '.$id_commande);
     16                // Si la commande est toujours "encours" on la supprime de la base
     17                if ($statut = sql_getfetsel('statut', 'spip_commandes', 'id_commande = '.$id_commande) and $statut == 'encours'){
     18                        // On supprime son contenu
     19                        sql_delete('spip_commandes_details', 'id_commande = '.$id_commande);
    1820               
    19                 // S'il y a des adresses attachées à la commande, on les supprime
    20                 if ($adresses_commande = sql_allfetsel('id_adresse', 'spip_adresses_liens', array('objet = '.sql_quote('commande'), 'id_objet = '.$id_commande))){
    21                         $adresses_commande = array_map('reset', $adresses_commande);
    22                         $in = sql_in('id_adresse', $adresses_commande);
    23                         sql_delete('spip_adresses_liens', $in);
    24                         sql_delete('spip_adresses', $in);
     21                        // S'il y a des adresses attachées à la commande, on les supprime
     22                        if ($adresses_commande = sql_allfetsel('id_adresse', 'spip_adresses_liens', array('objet = '.sql_quote('commande'), 'id_objet = '.$id_commande))){
     23                                $adresses_commande = array_map('reset', $adresses_commande);
     24                                $in = sql_in('id_adresse', $adresses_commande);
     25                                sql_delete('spip_adresses_liens', $in);
     26                                sql_delete('spip_adresses', $in);
     27                        }
     28               
     29                        // On supprime la commande
     30                        sql_delete('spip_commandes', 'id_commande = '.$id_commande);
    2531                }
    2632               
    27                 // On supprime la commande
    28                 sql_delete('spip_commandes', 'id_commande = '.$id_commande);
     33                // Dans tous les cas on supprime la valeur de session
     34                session_set('id_commande');
    2935        }
    3036       
  • _plugins_/commandes/plugin.xml

    r47657 r47677  
    33        <auteur>[Ateliers CYM->http://www.cym.fr], [Les Développements Durables->http://www.ldd.fr], [Matthieu Marcillaud->http://magraine.net]</auteur>
    44        <licence>GPL v3</licence>
    5         <version>0.4.0</version>
     5        <version>0.4.1</version>
    66        <version_base>0.2</version_base>
    77        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.