Ignore:
Timestamp:
Oct 18, 2019, 3:29:49 PM (14 months ago)
Author:
Charles Razack
Message:

Allez on est sympa : migration des données suite aux derniers renommages. up z.

Location:
_plugins_/noizetier_layout/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier_layout/trunk

    • Property subgit:lock:02d57a57d95a3c896f7a791bd2331c701c16d903 deleted
    • Property subgit:lock:ad9b779be389c2f36918ffa0b083d67c0f490cc9 set to 2019-10-18T19:22:37.103
  • _plugins_/noizetier_layout/trunk/noizetier_layout_administrations.php

    r113922 r118205  
    3232        );
    3333
     34        // schéma 0.2.0 : renommages
     35        $maj['0.2.0'] = array(
     36                array('noizetier_layout_maj_020'),
     37        );
     38
    3439        include_spip('base/upgrade');
    3540        maj_plugin($nom_meta_base_version, $version_cible, $maj);
     
    5257        effacer_meta('noizetier_layout');
    5358}
     59
     60/**
     61 * Mise à jour vers le schema 0.2.0
     62 *
     63 * Mettre à jour les noisettes suite à divers renommages.
     64 *
     65 * @return void
     66 */
     67function noizetier_layout_maj_020() {
     68        include_spip('base/abstract_sql');
     69        if ($noisettes = sql_allfetsel('*', 'spip_noisettes')) {
     70                foreach ($noisettes as $noisette) {
     71                        $set = array();
     72                        $type_ancien = 'conteneur_row';
     73                        $type_nouveau = 'conteneur';
     74                        // type_noisette : `conteneur_row` → `conteneur`
     75                        if ($noisette['type_noisette'] == $type_ancien) {
     76                                $set['type_noisette'] = $type_nouveau;
     77                        }
     78                        // id_conteneur : `conteneur_row` → `conteneur`
     79                        if (
     80                                $id_conteneur = str_replace($type_ancien, $type_nouveau, $noisette['id_conteneur'])
     81                                and $id_conteneur != $noisette['id_conteneur']
     82                        ) {
     83                                $set['id_conteneur'] = $id_conteneur;
     84                        }
     85                        // conteneur : `conteneur_row` → `conteneur`
     86                        if (
     87                                $conteneur = unserialize($noisette['conteneur'])
     88                                and $conteneur['type_noisette'] == $type_ancien
     89                        ) {
     90                                $conteneur['type_noisette'] = $type_nouveau;
     91                                $set['conteneur'] = serialize($conteneur);
     92                        }
     93                        // parametres : `css_container` → `css_grid_container` etc.
     94                        if ($parametres = unserialize($noisette['parametres'])) {
     95                                $map = array(
     96                                        'css_container' => 'css_grid_container',
     97                                        'css_row'       => 'css_grid_row',
     98                                        'css_column'    => 'css_grid_column',
     99                                );
     100                                foreach ($map as $avant => $apres) {
     101                                        if (isset($parametres[$avant])) {
     102                                                $parametres[$apres] = $parametres[$avant];
     103                                                unset($parametres[$avant]);
     104                                        }
     105                                }
     106                                $parametres = serialize($parametres);
     107                                if ($parametres != $noisette['parametres']) {
     108                                        $set['parametres'] = $parametres;
     109                                }
     110                        }
     111                        // màj
     112                        if ($set) {
     113                                sql_updateq(
     114                                        'spip_noisettes',
     115                                        $set,
     116                                        'id_noisette='.intval($noisette['id_noisette'])
     117                                );
     118                        }
     119                }
     120        }
     121        // Invalider le cache des types de noisettes
     122        include_spip('inc/ncore_type_noisette');
     123        type_noisette_charger('noizetier', true);
     124}
Note: See TracChangeset for help on using the changeset viewer.