Changeset 54400 in spip-zone for _plugins_/svp/plugins/fusion_plugin.php


Ignore:
Timestamp:
Nov 13, 2011, 6:15:48 PM (8 years ago)
Author:
eric@…
Message:

Amélioration de la fusion dans les cas d'absence de balise et extension aux balises install, options et fonctions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/svp/plugins/fusion_plugin.php

    r54227 r54400  
    2525                                $fusion[$_btech][0] = $balise;
    2626                        }
     27                        else {
     28                                $fusion[$_btech] = array();
     29                        }
    2730                }
    2831        }
     
    4750                // les traitements effectues sont les suivants :
    4851                // -- nom, prefix, documentation, version, etat, version_base, description : *rien*, on conserve ces informations en l'etat
    49                 // -- options, fonctions, install, path, pipeline, bouton, onglet : *rien*, meme si certaines pourraient etre fusionnees ces infos ne sont pas stockees
     52                // -- options, fonctions, install : *rien*, meme si certaines pourraient etre fusionnees ces infos ne sont pas stockees
    5053                // -- auteur, licence : *rien*, l'heuristique pour fusionner ces infos est trop compliquee aujourdhui car c'est du texte libre
    5154                // -- categorie, logo : si la valeur du bloc selectionne est vide on essaye d'en trouver une non vide dans les autres blocs
     
    5962                $fusion['compatibilite'] = fusionner_intervalles($fusion['compatibilite'], $plugins[$cle_min_min]['compatibilite']);
    6063
    61                 // necessite, utilise, lib : on indexe chaque liste de dependances par l'intervalle de compatibilite
    62                 // sans regrouper les doublons pour l'instant
     64                // necessite, utilise, lib, chemin, pipeline, bouton, onglet : on indexe chaque liste de dependances
     65                // par l'intervalle de compatibilite sans regrouper les doublons pour l'instant
    6366                foreach ($balises_techniques as $_btech) {
    64                         if (!isset($fusion[$_btech]) OR !$fusion[$_btech]) {
     67                        if (!isset($fusion[$_btech]) AND !isset($plugins[$cle_min_min][$_btech])) {
     68                                // Aucun des tableaux ne contient cette balise technique : on la positionne a un array vide
     69                                $fusion[$_btech] = array();
     70                        }
     71                        else if (!isset($fusion[$_btech]) OR !$fusion[$_btech]) {
    6572                                if ($plugins[$cle_min_min][$_btech]) {
    6673                                        // La balise technique est vide dans le tableau de fusion mais non vide dans la deuxieme balise plugin
     
    103110
    104111                                // On traite maintenant les balises restantes du deuxieme tableau
    105                                 if ($plugins[$cle_min_min][$_btech])
     112                                if ($plugins[$cle_min_min][$_btech]) {
    106113                                        foreach ($plugins[$cle_min_min][$_btech] as $_balise2) {
    107114                                                $fusion[$_btech][$plugins[$cle_min_min]['compatibilite']][] = $_balise2;
    108115                                        }
     116                                }
    109117                        }
    110118                }
Note: See TracChangeset for help on using the changeset viewer.