Changeset 32222 in spip-zone


Ignore:
Timestamp:
Oct 19, 2009, 3:21:40 PM (11 years ago)
Author:
marcimat@…
Message:

Corriger le bug de non installation des Champs Extras de plugin lorsqu'on active les 2 plugins en même temps (CE2 et le plugin dépendant).

Location:
_plugins_/champs_extras2/core
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras2/core/base/cextras.php

    r25555 r32222  
    33
    44function cextras_declarer_tables_principales($tables_principales){
     5        // declarer que le pipeline de declaration est bien actif
     6        define('_CHAMPS_EXTRAS_DECLARES', true);
     7       
    58        // pouvoir utiliser la class ChampExtra
    69        include_spip('inc/cextras');
    7        
     10
    811        // lors du renouvellement de l'alea, au demarrage de SPIP
    912        // les chemins de plugins ne sont pas encore connus.
     
    1518        // recuperer les champs crees par les plugins
    1619        $champs = pipeline('declarer_champs_extras', array());
     20
    1721        // ajouter les champs au tableau spip
    1822        return declarer_champs_extras($champs, $tables_principales);
  • _plugins_/champs_extras2/core/inc/cextras_gerer.php

    r29931 r32222  
    7373 */
    7474function creer_champs_extras($champs) {
     75        if (!$champs) {
     76                return;
     77        }
     78       
    7579        if (!is_array($champs))
    7680                $champs = array($champs);
    77                
     81                               
    7882        // on recupere juste les differentes tables a mettre a jour
    7983        $tables = array();
     
    8387                }
    8488        }       
    85                
     89
    8690        // on met a jour les tables trouvees
    87         if ($tables) { 
     91        if ($tables) {
    8892                // recharger les tables principales et auxiliaires
    8993                include_spip('base/serial');
     
    9195                global $tables_principales, $tables_auxiliaires;
    9296                base_serial($tables_principales);
    93                 base_auxiliaires($tables_auxiliaires);         
     97                base_auxiliaires($tables_auxiliaires);
    9498               
     99                // inclure les champs extras declares ALORS que le pipeline
     100                // n'est pas encore actif : important lorsqu'on active
     101                // en meme temps CE2 et un plugin dependant
     102                // et non l'un apres l'autre
     103                if (!defined('_CHAMPS_EXTRAS_DECLARES')) {
     104                        include_spip('base/cextras');
     105                        $tables_principales = cextras_declarer_tables_principales($tables_principales);
     106                }
     107
    95108                // executer la mise a jour
    96109                include_spip('base/create');
    97                 foreach($tables as $table) {
    98                         maj_tables($table);
    99                 }
     110                maj_tables($tables);
    100111        }
    101112}
  • _plugins_/champs_extras2/core/plugin.xml

    r32143 r32222  
    33        <auteur>Matthieu Marcillaud, Fil</auteur>
    44        <licence>GNU/GPL</licence>
    5         <version>1.2.0</version>
     5        <version>1.3.0</version>
    66        <description>
    77        Creer de nouveaux champs aux objets d'&eacute;dition de SPIP
Note: See TracChangeset for help on using the changeset viewer.