Changeset 84151 in spip-zone


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

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_/branches/spip-3.0/plugins/svp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.0/plugins/svp/inc/svp_depoter_distant.php

    r70070 r84151  
    5656                return false;
    5757        }
    58        
    59         $champs = array('titre' => filtrer_entites($infos['depot']['titre']),
     58
     59        $titre = filtrer_entites($infos['depot']['titre']);
     60        $champs = array('titre' => $titre,
    6061                                        'descriptif' => filtrer_entites($infos['depot']['descriptif']),
    6162                                        'type' => $infos['depot']['type'],
     
    6970                                        'nbr_plugins' => 0,
    7071                                        'nbr_autres' => 0);
    71         if (!$id_depot = sql_insertq('spip_depots', $champs)) {
    72                 $erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => $titre));
     72
     73        // verifier avant l'insertion que le depot n'existe pas deja
     74        // car la recuperation pouvant etre longue on risque le probleme en cas de concurrence
     75        if (sql_countsel('spip_depots','xml_paquets='.sql_quote($url))){
     76                $erreur = _T('svp:message_nok_depot_deja_ajoute', array('url' => $url));
    7377                return false;
    7478        }
    75        
     79        elseif (!$id_depot = sql_insertq('spip_depots', $champs)) {
     80                $erreur = _T('svp:message_nok_sql_insert_depot', array('objet' => "$titre ($url)"));
     81                return false;
     82        }
     83
    7684        // Ajout des paquets dans spip_paquets et actualisation des plugins dans spip_plugins
    7785        $ok = svp_actualiser_paquets($id_depot, $infos['paquets'], $nb_paquets, $nb_plugins, $nb_autres);
  • _core_/branches/spip-3.0/plugins/svp/paquet.xml

    r78024 r84151  
    22        prefix="svp"
    33        categorie="maintenance"
    4         version="0.80.18"
     4        version="0.80.19"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.