Changeset 110247 in spip-zone


Ignore:
Timestamp:
May 13, 2018, 4:14:11 PM (11 months ago)
Author:
eric@…
Message:

Mise au point des services N-Core du noiZetier avec utilisation systématique de $plugin (parfois redondant).

Location:
_plugins_/noizetier/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/ncore/noizetier.php

    r110223 r110247  
    184184        // La valeur Ajax par défaut est inscrite dans la configuration du plugin.
    185185        include_spip('inc/config');
    186         $defaut_ajax = lire_config('noizetier/ajax_noisette');
     186        $defaut_ajax = lire_config("${plugin}/ajax_noisette");
    187187
    188188        return $defaut_ajax;
     
    214214        // Mise à jour en base de données.
    215215        if (empty($description['id_noisette'])) {
    216                 // Insertion de la nouvelle noisette.
    217                 $id_noisette = sql_insertq('spip_noisettes', $description);
     216                // On s'assure que la description contient bien le plugin et alors on insère la nouvelle noisette.
     217                $id_noisette = 0;
     218                if (isset($description['plugin']) and ($description['plugin'] == $plugin)) {
     219                        // Insertion de la nouvelle noisette.
     220                        $id_noisette = sql_insertq('spip_noisettes', $description);
     221                }
    218222        } else {
    219223                // On sauvegarde l'id de la noisette et on le retire de la description pour éviter une erreur à l'update.
     
    222226
    223227                // Mise à jour de la noisette.
    224                 $where = array('id_noisette=' . $id_noisette);
     228                $where = array('id_noisette=' . $id_noisette, 'plugin=' . sql_quote($plugin));
    225229                if (!sql_updateq('spip_noisettes', $description, $where)) {
    226230                        $id_noisette = 0;
     
    272276                // Détermination du complément en fonction du fait que le conteneur soit une noisette ou pas.
    273277                if (!empty($conteneur['id_noisette']) and ($id_noisette = intval($conteneur['id_noisette']))) {
    274                         // -- si le conteneur est une noisette on récupère les informations de son conteneur qui ne l'est forcément
    275                         //    pas (limitation à 1 niveau d'imbrication de noisettes).
     278                        // -- si le conteneur est une noisette on récupère les informations de son conteneur. Comme les noisettes
     279                        //    sont insérées par niveau on duplique forcément les informations du bloc supérieur à chaque imbrication.
     280                        //    Il est donc inutile de remonter au bloc racine.
    276281                        $select = array_keys($complement);
    277                         $where = array('id_noisette=' . $id_noisette);
     282                        $where = array('id_noisette=' . $id_noisette, 'plugin=' . sql_quote($plugin));
    278283                        $complement = sql_fetsel($select, 'spip_noisettes', $where);
    279284                } else {
     
    339344
    340345        if (isset($description['id_noisette']) and ($id = intval($description['id_noisette']))) {
    341                 $where = array('id_noisette=' . $id);
     346                $where = array('id_noisette=' . $id, 'plugin=' . sql_quote($plugin));
    342347                $update = array('rang_noisette' => $rang_destination);
    343348                if (sql_updateq('spip_noisettes', $update, $where)) {
     
    370375        // Calcul de la clause where à partir de l'id du conteneur.
    371376        if (isset($description['id_noisette'])) {
    372                 $where = array('id_noisette=' . intval($description['id_noisette']));
     377                $where = array('id_noisette=' . intval($description['id_noisette']), 'plugin=' . sql_quote($plugin));
    373378
    374379                // Suppression de la noisette.
     
    478483        $description = array();
    479484
     485        $where = array('plugin=' . sql_quote($plugin));
    480486        if (!is_array($noisette)) {
    481487                // L'identifiant est l'id unique de la noisette. Il faut donc parcourir le tableau pour trouver la
    482488                // noisette désirée
    483489                // => C'est la méthode optimale pour le stockage noiZetier.
    484                 $where = array('id_noisette=' . intval($noisette));
     490                $where[] = 'id_noisette=' . intval($noisette);
    485491        } elseif (isset($noisette['id_conteneur']) and isset($noisette['rang_noisette'])) {
    486492                // L'identifiant est un tableau associatif fournissant l'id du conteneur et le rang.
    487                 $where = array('id_conteneur=' . sql_quote($noisette['id_conteneur']), 'rang_noisette=' . intval($noisette['rang_noisette']));
    488         } else {
    489                 $where = array();
     493                $where[] = 'id_conteneur=' . sql_quote($noisette['id_conteneur']);
     494                $where[] = 'rang_noisette=' . intval($noisette['rang_noisette']);
    490495        }
    491496
     
    575580        if ($id_conteneur) {
    576581                // Suppression de toutes les noisettes du conteneur.
    577                 $where = array('id_conteneur=' . sql_quote($id_conteneur));
     582                $where = array('id_conteneur=' . sql_quote($id_conteneur), 'plugin=' . sql_quote($plugin));
    578583                if (sql_delete('spip_noisettes', $where)) {
    579584                        $retour = true;
  • _plugins_/noizetier/trunk/paquet.xml

    r110223 r110247  
    22        prefix="noizetier"
    33        categorie="maintenance"
    4         version="3.0.7"
     4        version="3.0.8"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
     
    3838        <pipeline nom="noizetier_config_import" inclure="noizetier_pipelines.php" />
    3939
    40         <necessite nom="ncore" compatibilite="[0.3.9;[" />
     40        <necessite nom="ncore" compatibilite="[0.4.0;[" />
    4141        <necessite nom="yaml" compatibilite="[1.5.2;[" />
    4242        <necessite nom="saisies" compatibilite="[2.2.3;[" />
Note: See TracChangeset for help on using the changeset viewer.