Changeset 110177 in spip-zone


Ignore:
Timestamp:
May 10, 2018, 10:02:05 AM (22 months ago)
Author:
rastapopoulos@…
Message:

Nettoyage : aucune raison de stocker la config dans une liste à virgule avec ensuite des explode partout dans le code ensuite, alors qu'on sait parfaitement enregistrer nos configs en tableaux et listes. Donc on met à jour la base pour transformer l'ancien stockage, et on met à jour le code en conséquence. Au passage aussi, pas besoin de remettre un préfixe rang_ devant le nom de la config puisque désormais on est déjà dans un casier rang/.

Location:
_plugins_/rang/branches/automatique
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rang/branches/automatique/formulaires/configurer_rang.html

    r106496 r110177  
    1111               
    1212                #ACTION_FORMULAIRE{#ENV{action}}
    13                 #SET{name,rang_objets}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     13                #SET{name, objets}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
    1414                [(#SET{exclus, #REM|rang_objets_a_exclure})]
    1515
  • _plugins_/rang/branches/automatique/formulaires/configurer_rang.php

    r106496 r110177  
    2525 **/
    2626function formulaires_configurer_rang_charger_dist() {
    27         $objets = lire_config('rang/rang_objets');
    28         if ($objets) {
    29                 $valeurs['rang_objets'] = explode(',', $objets);
    30         }
    31         $valeurs['rang_max'] = lire_config('rang/rang_max');
     27        $config = lire_config('rang');
     28       
     29        $valeurs['objets'] = $config['objets'] ? $config['objets'] : array();
     30        $valeurs['rang_max'] = $config['rang_max'];
    3231       
    3332        return $valeurs;
     
    4645
    4746        // création / mise à jour des métas
    48         if (!is_null(_request('rang_objets'))) {
    49                 $objets = array_filter(_request('rang_objets'));
    50                 ecrire_config('rang/rang_objets', is_array($objets) ? implode(',', $objets) : '');
     47        if (!is_null(_request('objets'))) {
     48                $objets = array_filter(_request('objets'));
     49                ecrire_config('rang/objets', $objets;
    5150        }
    5251        ecrire_config('rang/rang_max', _request('rang_max'));
  • _plugins_/rang/branches/automatique/inc/rang_api.php

    r110175 r110177  
    101101       
    102102        $sources = array();
    103         $objets_selectionnes = lire_config('rang/rang_objets');
    104         $objets=explode(',',$objets_selectionnes);
     103        $objets = lire_config('rang/objets');
    105104
    106105        foreach ($objets as $value) {
     
    138137        }
    139138        include_spip('base/objets_parents');
    140         $tables = explode(',', lire_config('rang/rang_objets'));
     139        $tables = lire_config('rang/objets');
    141140        $contextes = array();
     141       
    142142        foreach ($tables as $table) {
    143143                // le nom de l'objet au pluriel
  • _plugins_/rang/branches/automatique/paquet.xml

    r110175 r110177  
    77        logo="prive/themes/spip/images/rang-64.png"
    88        documentation="https://contrib.spip.net/4994"
    9         schema="1.0.0"
     9        schema="1.0.1"
    1010>
    1111        <nom>Rang</nom>
  • _plugins_/rang/branches/automatique/rang_administrations.php

    r110176 r110177  
    2929        // Déplacer l'ancienne config
    3030        $maj['1.0.0'] = array(
    31                 array('rang_maj_100'),
     31                array('rang_maj_1_0_0'),
     32        );
     33       
     34        // Transformation de la config en liste tableau normal, pas à virgule
     35        $maj['1.0.1'] = array(
     36                array('rang_maj_1_0_1'),
    3237        );
    3338       
     
    3944 * Maj 1.0.0 : déplacer l'ancienne config
    4045 **/
    41 function rang_maj_100() {
     46function rang_maj_1_0_0() {
    4247        include_spip('inc/config');
    4348       
     
    4550                ecrire_config('rang/rang_objets', $objets);
    4651                effacer_config('rang_objets');
     52        }
     53}
     54
     55/**
     56 * Maj 1.0.1 : pas de config à virgule alors qu'on sait très bien stocker des listes et tableaux
     57 **/
     58function rang_maj_1_0_1() {
     59        include_spip('inc/config');
     60       
     61        if (
     62                $config_actuelle = lire_config('rang/rang_objets')
     63                and is_string($config_actuelle)
     64        ) {
     65                // On transforme en tableau liste
     66                $config_nouvelle = explode(',', $config_actuelle);
     67                $config_nouvelle = array_map('trim', $config_nouvelle);
     68                $config_nouvelle = array_filter($config_nouvelle);
     69               
     70                // On enregistre
     71                ecrire_config('rang/objets', $config_nouvelle);
     72                effacer_config('rang/rang_objets');
    4773        }
    4874}
     
    6086        // supprimer les champs 'rang'
    6187        // note : ici que faire si un objet a ete selectionne, puis deselectionne dans la config ?
    62         $objets_selectionnes = lire_config('rang/rang_objets');
    63         $objets = explode(',', $objets_selectionnes);
     88        $objets = lire_config('rang/objets');
    6489        foreach ($objets as $value) {
    6590                $champs_table = sql_showtable($value);
  • _plugins_/rang/branches/automatique/rang_fonctions.php

    r110062 r110177  
    2828        $p = balise_RANG_dist($p);
    2929        $p->code = "(intval($p->code) == 0 ? '' : $p->code)";
     30       
    3031        return $p;
    3132}
     
    4748        $p->code = "function_exists('rang_liste_objets')?rang_liste_objets():array()";
    4849        $p->interdire_scripts = false;
     50       
    4951        return $p;
    5052}
     
    5658 */
    5759function rang_liste_objets() {
    58         $tables = explode(',', lire_config('rang/rang_objets'));
     60        $tables = lire_config('rang/objets');
    5961        $objets = array();
     62       
    6063        foreach ($tables as $table) {
    6164                $objets[] = table_objet($table);
    6265        }
     66       
    6367        return $objets;
    6468}
     
    7882function rang_objet_dans_config($objet) {
    7983        $table = table_objet_sql($objet);
    80         $liste = explode(',', lire_config('rang/rang_objets'));
     84        $liste = lire_config('rang/objets');
     85       
    8186        return in_array($table, $liste);
    8287}
  • _plugins_/rang/branches/automatique/rang_pipelines.php

    r110054 r110177  
    2525 */
    2626function rang_declarer_tables_objets_sql($tables) {
    27 
    28         $tables_objets_selectionnes = lire_config('rang/rang_objets');
    29         if (isset($tables_objets_selectionnes) AND !empty($tables_objets_selectionnes)) {
    30 
    31                 /* Declaration du champ Rang sur les objets sélectionnés */
    32                 $rang_objets  = rtrim(lire_config('rang/rang_objets'), ',');
    33                 $liste_objets = explode(',', $rang_objets);
    34 
    35                 foreach ($liste_objets as $table) {
     27        $tables_objets_selectionnes = lire_config('rang/objets');
     28       
     29        if (isset($tables_objets_selectionnes) and !empty($tables_objets_selectionnes)) {
     30                foreach ($tables_objets_selectionnes as $table) {
    3631                        $tables[$table]['field']['rang'] = "SMALLINT NOT NULL";
    3732                }
    3833        }
     34       
    3935        return $tables;
    4036}
     
    4844 */
    4945function rang_recuperer_fond($flux) {
    50 
    51         $tables_objets_selectionnes = lire_config('rang/rang_objets');
    52         if (isset($tables_objets_selectionnes) AND !empty($tables_objets_selectionnes)) {
    53 
     46        $tables_objets_selectionnes = lire_config('rang/objets');
     47       
     48        if (isset($tables_objets_selectionnes) and !empty($tables_objets_selectionnes)) {
    5449                // Gestion du contexte : dans quelle page insérer le JS ?
    5550                if (in_array(_request('exec'), rang_get_contextes())
     
    9893                }
    9994        }
     95       
    10096        return $flux;
    10197}
     
    109105 */
    110106function rang_pre_edition($flux) {
    111 
    112107        $rang_max = lire_config('rang/rang_max');
    113108
    114109        if (isset($rang_max) && !empty($rang_max) && $flux['args']['action'] == 'instituer') {
    115 
    116                 $rang_objets  = rtrim(lire_config('rang/rang_objets'), ',');
    117                 $liste_objets = explode(',', $rang_objets);
    118                 $table        = $flux['args']['table'];
     110                $liste_objets  = lire_config('rang/objets');
     111                $table         = $flux['args']['table'];
    119112
    120113                if (in_array($table, $liste_objets)) {
     
    131124                }
    132125        }
     126       
    133127        return $flux;
    134128}
Note: See TracChangeset for help on using the changeset viewer.