Changeset 106496 in spip-zone


Ignore:
Timestamp:
Oct 2, 2017, 10:28:43 PM (3 years ago)
Author:
peetdu@…
Message:

Meilleur gestion de de la configuration (moins de bruit sur les objets non encore gérés)
+ désinstallation plus ciblée

Location:
_plugins_/rang/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rang/trunk/formulaires/configurer_rang.html

    r105415 r106496  
    1212                #ACTION_FORMULAIRE{#ENV{action}}
    1313                #SET{name,rang_objets}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
    14                 [(#SET{exclus, #VAL{all}|rang_objets_gere_rubrique })]
     14                [(#SET{exclus, #REM|rang_objets_a_exclure})]
    1515
    1616                <[(#DIV|sinon{li})] class="editer">
  • _plugins_/rang/trunk/formulaires/configurer_rang.php

    r105415 r106496  
    2626function formulaires_configurer_rang_charger_dist() {
    2727        $objets = lire_config('rang/rang_objets');
    28         $valeurs      = array(
    29                 'rang_objets' => explode(',', $objets),
    30                 'rang_max'    => lire_config('rang/rang_max'),
    31         );
    32 
     28        if ($objets) {
     29                $valeurs['rang_objets'] = explode(',', $objets);
     30        }
     31        $valeurs['rang_max'] = lire_config('rang/rang_max');
     32       
    3333        return $valeurs;
    3434}
  • _plugins_/rang/trunk/inc/rang_api.php

    r106482 r106496  
    1515
    1616/**
    17  * chercher les tables SPIP qui gèrent ou non des rubriques
    18  * gestion des tables historiques également : annuaire de site et brèves activés ?
     17 * Construire la liste des objets à exclure
    1918 *
    20  * @param string $quoi
    21  *      oui : les tables qui gèrent des rubriques
    22  *      non : les tables qui ne gèrent pas de rubriques
    23  * @return array
    24  *      tableau des nom de tables SPIP à exclure (ex : spip_auteurs, spip_mots, etc.) ou à inclure
     19 * @return array
     20 *      tableau des tables SPIP à exclure (ex : spip_auteurs, spip_mots, etc.)
    2521 */
    26 function rang_objets_gere_rubrique($quoi) {
    27         $tables = array();
    28         $liste = lister_tables_objets_sql();
    29 
    30         foreach ($liste as $key => $value) {
    31                 if ($quoi == 'oui' AND $value['editable'] == 'oui' AND isset($value['field']['id_rubrique']))
    32                         array_push($tables,$key);
    33                 if ($quoi == 'non' AND $value['editable'] == 'oui' AND !isset($value['field']['id_rubrique']))
    34                         array_push($tables,$key);
    35         }
     22function rang_objets_a_exclure() {
     23        $exclus = array();
     24
     25        // on exclu toujours les objets suivants
     26        $liste_toujours_exclus = array('spip_auteurs', 'spip_documents', 'spip_groupes_mots', 'spip_messages');
     27        $exclus = array_merge($exclus, $liste_toujours_exclus);
    3628       
    37         // Pour le moment, on ne gère pas ces objets à rubrique
    38         $liste_gere_rub_exclus = array(0=>'spip_rubriques', 1 => 'spip_breves', 2 => 'spip_syndic');
    39         if ($quoi == 'non') {
    40                 $tables = array_merge($tables, $liste_gere_rub_exclus);
    41         }
    42 
    43         return $tables;
     29        // Pour le moment, on ne gère pas les rubriques elles-memes
     30        array_push($exclus, 'spip_rubriques');
     31
     32        // et on ne gère pas les breves et sites
     33        array_push($exclus, 'spip_syndic');
     34        array_push($exclus, 'spip_breves');
     35
     36        return $exclus;
    4437}
    4538
     
    210203        $id_table_objet         = id_table_objet($table);
    211204        $objet_parent           = $definition_table['parent']['type'];
    212         $id_objet_parent        = id_table_objet($objet_parent);
    213         $objet_parent_cle       = $definition_table['parent']['champ'];
     205        $id_objet_parent        = $definition_table['parent']['champ'];
    214206
    215207        // et hop, on place le nouvel objet publié à la fin
  • _plugins_/rang/trunk/lang/rang_fr.php

    r106315 r106496  
    2727
    2828        // T
    29         'titre_page_configurer_rang' => 'Rang',
     29        'titre_page_configurer_rang' => 'Configurer Rang',
    3030);
  • _plugins_/rang/trunk/paquet.xml

    r106495 r106496  
    22        prefix="rang"
    33        categorie="navigation"
    4         version="0.7.2"
     4        version="0.7.3"
    55        etat="experimental"
    66        compatibilite="[3.1.0;3.2.*]"
  • _plugins_/rang/trunk/rang_administrations.php

    r106316 r106496  
    4444
    4545        // supprimer les champs 'rang'
    46         $tables_a_nettoyer = rang_objets_gere_rubrique('oui');
    47         foreach ($tables_a_nettoyer as $table) {
    48                 $champs_table = sql_showtable($table);
     46        // note : ici que faire si un objet a ete selectionne, puis deselectionne dans la config ?
     47        $objets_selectionnes = lire_config('rang/rang_objets');
     48        $objets = explode(',', $objets_selectionnes);
     49        foreach ($objets as $value) {
     50                $champs_table = sql_showtable($value);
    4951                if (isset($champs_table['field']['rang'])) {
    50                         sql_alter("TABLE $table DROP rang");
     52                        sql_alter("TABLE $value DROP rang");
    5153                }
    5254        }
Note: See TracChangeset for help on using the changeset viewer.