Ignore:
Timestamp:
May 10, 2018, 11:33:22 PM (23 months ago)
Author:
rastapopoulos@…
Message:

Correction gros bug : le plugin supprimer les champs rang même sur les tables qui l'avaient déjà avant. Du coup on fait une fonction avec static qui garde en mémoire les tables avec ce champ déclaré avant que Rang ne complète la déclaration des objets. Et du coup lors de la désinstallation on a cette liste pour ne pas supprimer. Au passage on ne déclare aussi que si le champ n'est pas déjà déclaré.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rang/branches/automatique/rang_pipelines.php

    r110177 r110204  
    2121 *
    2222 * @param array $tables
    23  *
    2423 * @return array
    2524 */
     
    2726        $tables_objets_selectionnes = lire_config('rang/objets');
    2827       
    29         if (isset($tables_objets_selectionnes) and !empty($tables_objets_selectionnes)) {
     28        // Tant qu'on n'a rien rajouté, on commence par lister les tables qui ont DEJA un champ rang !
     29        $tables_deja_rang = rang_lister_tables_deja_rang($tables);
     30       
     31        // On déclare le champ "rang" sur les tables demandées
     32        if (is_array($tables_objets_selectionnes)) {
    3033                foreach ($tables_objets_selectionnes as $table) {
    31                         $tables[$table]['field']['rang'] = "SMALLINT NOT NULL";
     34                        // Mais on ne déclare le champ que s'il n'existait pas déjà !
     35                        if (!isset($tables[$table]['field']['rang'])) {
     36                                $tables[$table]['field']['rang'] = "SMALLINT NOT NULL";
     37                        }
    3238                }
    3339        }
     
    4046 *
    4147 * @param    array $flux Données du pipeline
    42  *
    4348 * @return    array        Données du pipeline
    4449 */
     
    101106 *
    102107 * @param    array $flux Données du pipeline
    103  *
    104108 * @return    array        Données du pipeline
    105109 */
Note: See TracChangeset for help on using the changeset viewer.