source: spip-zone/_plugins_/rang/branches/automatique/formulaires/configurer_rang.php @ 110204

Last change on this file since 110204 was 110204, checked in by rastapopoulos@…, 2 years ago

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 size: 1.2 KB
Line 
1<?php
2
3/**
4 * Gestion CVT du formulaire de configuration de RANG
5 *
6 * @plugin     Rang
7 * @copyright  2016
8 * @author     Peetdu
9 * @licence    GNU/GPL
10 * @package    SPIP\Rang\Installation
11 */
12
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17include_spip('inc/config');
18include_spip('inc/rang_api');
19
20/**
21 * Chargement du formulaire de configuration des rangs
22 *
23 * @return array
24 *     Environnement du formulaire
25 **/
26function formulaires_configurer_rang_charger_dist() {
27        $config = lire_config('rang');
28       
29        $valeurs['objets'] = $config['objets'] ? $config['objets'] : array();
30        $valeurs['rang_max'] = $config['rang_max'];
31       
32        return $valeurs;
33}
34
35/**
36 * Traitement du formulaire de configuration des rangs
37 *
38 * @return array
39 *     Retours du traitement
40 **/
41function formulaires_configurer_rang_traiter_dist() {
42        $res = array('editable' => true);
43        $objets = array();
44        $err = null;
45
46        // création / mise à jour des métas
47        if (!is_null(_request('objets'))) {
48                $objets = array_filter(_request('objets'));
49                ecrire_config('rang/objets', $objets);
50        }
51        ecrire_config('rang/rang_max', _request('rang_max'));
52
53        // créer les champs dans les tables
54        rang_creer_champs($objets);
55
56        $res['message_ok'] = _T('config_info_enregistree');
57
58        return $res;
59}
60
61
Note: See TracBrowser for help on using the repository browser.