Changeset 102560 in spip-zone


Ignore:
Timestamp:
Jan 29, 2017, 3:28:32 PM (2 years ago)
Author:
eric@…
Message:

Eviter des notices.
Traiter systématiquement le necessite des YAML de noisettes comme un tableau.

Location:
_plugins_/noizetier/trunk
Files:
3 edited

Legend:

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

    r101872 r102560  
    111111        }
    112112
    113         // supprimer de la liste les noisettes necissant un plugin qui n'est pas actif
     113        // supprimer de la liste les noisettes necessitant un plugin qui n'est pas actif.
     114        // On s'arrête au premier inactif.
    114115        foreach ($liste_noisettes as $noisette => $infos_noisette) {
    115                 if (isset($infos_noisette['necessite'])) {
     116                if (!empty($infos_noisette['necessite'])) {
    116117                        foreach ($infos_noisette['necessite'] as $plugin) {
    117118                                if (!defined('_DIR_PLUGIN_'.strtoupper($plugin))) {
    118119                                        unset($liste_noisettes[$noisette]);
     120                                        break;
    119121                                }
    120122                        }
     
    154156                if (!isset($infos_noisette['parametres'])) {
    155157                        $infos_noisette['parametres'] = array();
     158                }
     159
     160                // necessite de plugins : toujours renvoyer un array
     161                if (!isset($infos_noisette['necessite'])) {
     162                        $infos_noisette['necessite'] = array();
     163                }
     164
     165                if (is_string($infos_noisette['necessite'])) {
     166                        $infos_noisette['necessite'] = array($infos_noisette['necessite']);
    156167                }
    157168
     
    349360                $infos_page['description'] = isset($xml['description']) ? _T_ou_typo(spip_xml_aplatit($xml['description'])) : '';
    350361                $infos_page['icon'] = isset($xml['icon']) ? reset($xml['icon']) : 'page-24.png';
    351                         // Decomposition des blocs
    352                         if (spip_xml_match_nodes(',^bloc,', $xml, $blocs)) {
    353                                 $infos_page['blocs'] = array();
    354                                 foreach (array_keys($blocs) as $bloc) {
    355                                         list($balise, $attributs) = spip_xml_decompose_tag($bloc);
    356                                         $infos_page['blocs'][$attributs['id']] = array(
    357                                                 'nom' => $attributs['nom'] ? _T($attributs['nom']) : $attributs['id'],
    358                                                 'icon' => isset($attributs['icon']) ? $attributs['icon'] : '',
    359                                                 'description' => _T($attributs['description']),
    360                                         );
    361                                 }
    362                         }
     362
     363                // Decomposition des blocs
     364                if (spip_xml_match_nodes(',^bloc,', $xml, $blocs)) {
     365                        $infos_page['blocs'] = array();
     366                        foreach (array_keys($blocs) as $bloc) {
     367                                list($balise, $attributs) = spip_xml_decompose_tag($bloc);
     368                                $infos_page['blocs'][$attributs['id']] = array(
     369                                        'nom' => $attributs['nom'] ? _T($attributs['nom']) : $attributs['id'],
     370                                        'icon' => isset($attributs['icon']) ? $attributs['icon'] : '',
     371                                        'description' => _T($attributs['description']),
     372                                );
     373                        }
     374                }
     375
    363376                if (spip_xml_match_nodes(',^necessite,', $xml, $necessites)) {
    364377                        $infos_page['necessite'] = array();
     
    368381                        }
    369382                }
    370         }
     383        } elseif (defined('_NOIZETIER_LISTER_PAGES_SANS_XML') ? _NOIZETIER_LISTER_PAGES_SANS_XML : true) {
    371384                // S'il n'y a pas de fichier XML de configuration
    372                 elseif (defined('_NOIZETIER_LISTER_PAGES_SANS_XML') ? _NOIZETIER_LISTER_PAGES_SANS_XML : true) {
    373                         $infos_page['nom'] = $page;
    374                         $infos_page['icon'] = 'img/ic_page.png';
    375                 }
    376 
    377                 // Si les blocs n'ont pas ete definis, on applique les blocs par defaut
    378                 if (count($infos_page) > 0 and !isset($infos_page['blocs'])) {
    379                         $infos_page['blocs'] = noizetier_blocs_defaut();
    380                 }
    381 
    382                 // On renvoie les infos
    383                 if (!$info) {
    384                         return $infos_page;
    385                 } else {
    386                         return isset($infos_page[$info]) ? $infos_page[$info] : '';
    387                 }
     385                $infos_page['nom'] = $page;
     386                $infos_page['icon'] = 'img/ic_page.png';
     387        }
     388
     389        // Si les blocs n'ont pas ete definis, on applique les blocs par defaut
     390        if (count($infos_page) > 0 and !isset($infos_page['blocs'])) {
     391                $infos_page['blocs'] = noizetier_blocs_defaut();
     392        }
     393
     394        // On renvoie les infos
     395        if (!$info) {
     396                return $infos_page;
     397        } else {
     398                return isset($infos_page[$info]) ? $infos_page[$info] : '';
     399        }
    388400}
    389401
  • _plugins_/noizetier/trunk/noizetier_pipelines.php

    r101728 r102560  
    4040                        // On cherche en priorité une correspondance d'objet précis !
    4141                        // Sinon on cherche pour le type de page ou la composition
     42                        $par_objet = false;
    4243                        if (
    4344                                (
  • _plugins_/noizetier/trunk/paquet.xml

    r102419 r102560  
    22        prefix="noizetier"
    33        categorie="maintenance"
    4         version="2.7.5"
     4        version="2.7.6"
    55        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.