Changeset 84154 in spip-zone


Ignore:
Timestamp:
Aug 11, 2014, 11:37:21 AM (5 years ago)
Author:
cedric@…
Message:

Report de r84151 : Ferme http://core.spip.org/issues/3084 : verifier au moment de l'insertion en base si le depot n'y est pas deja, generer une erreur dans le cas contraire

Location:
_core_/plugins/svp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/svp/inc/svp_depoter_distant.php

    r82359 r84154  
    5959                return false;
    6060        }
    61        
    62         $champs = array('titre' => filtrer_entites($infos['depot']['titre']),
     61
     62        $titre = filtrer_entites($infos['depot']['titre']);
     63        $champs = array('titre' => $titre,
    6364                                        'descriptif' => filtrer_entites($infos['depot']['descriptif']),
    6465                                        'type' => $infos['depot']['type'],
     
    7273                                        'nbr_plugins' => 0,
    7374                                        'nbr_autres' => 0);
    74         if (!$id_depot = sql_insertq('spip_depots', $champs)) {
    75                 $erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => $titre));
     75
     76        // verifier avant l'insertion que le depot n'existe pas deja
     77        // car la recuperation pouvant etre longue on risque le probleme en cas de concurrence
     78        if (sql_countsel('spip_depots','xml_paquets='.sql_quote($url))){
     79                $erreur = _T('svp:message_nok_depot_deja_ajoute', array('url' => $url));
    7680                return false;
    7781        }
    78        
     82        elseif (!$id_depot = sql_insertq('spip_depots', $champs)) {
     83                $erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => "$titre ($url)"));
     84                return false;
     85        }
     86
    7987        // Ajout des paquets dans spip_paquets et actualisation des plugins dans spip_plugins
    8088        $ok = svp_actualiser_paquets($id_depot, $infos['paquets'], $nb_paquets, $nb_plugins, $nb_autres);
  • _core_/plugins/svp/paquet.xml

    r82359 r84154  
    22        prefix="svp"
    33        categorie="maintenance"
    4         version="0.82.7"
     4        version="0.82.8"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.