source: spip-zone/_plugins_/noizetier/trunk/formulaires/editer_noisette.php @ 93111

Last change on this file since 93111 was 93111, checked in by teddy.spip@…, 4 years ago

Formatage et indentation

File size: 2.9 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7include_spip('noizetier_fonctions');
8include_spip('base/abstract_sql');
9include_spip('inc/saisies');
10if (!function_exists('autoriser')) {
11        include_spip('inc/autoriser');
12}     // si on utilise le formulaire dans le public
13
14function formulaires_editer_noisette_charger_dist($id_noisette, $retour = '')
15{
16        $valeurs = array();
17        $valeurs['id_noisette'] = $id_noisette;
18        $entree = sql_fetsel(
19                        'noisette, parametres, css',
20                        'spip_noisettes',
21                        'id_noisette = '.$id_noisette
22                );
23        $noisette = $entree['noisette'];
24        $valeurs['noisette'] = $noisette;
25
26        // Il faut aller recherche les parametres par defaut de la noisette
27        // pour generer le tableau de saisie
28        $infos_noisette = noizetier_info_noisette($noisette);
29        $valeurs['_params'] = $infos_noisette['parametres'];
30        $valeurs['_params'][] = array(
31                'saisie' => 'input',
32                'options' => array(
33                        'nom' => 'css',
34                        'label' => _T('noizetier:label_noizetier_css'),
35                        'explication' => _T('noizetier:explication_noizetier_css'),
36                        'defaut' => $entree['css'],
37                ),
38        );
39        $valeurs['editable'] = autoriser('configurer', 'noizetier') ? 'on' : '';
40
41        // Inserer dans le contexte les valeurs des parametres
42        // NB : on doit passer par saisies_charger_champs() au cas ou la definition de la noisette a change et qu'il y a de nouveau champs a prendre en compte
43        $parametres = unserialize($entree['parametres']);
44        if (is_array($parametres)) {
45                $valeurs = array_merge($valeurs, saisies_charger_champs($infos_noisette['parametres']), $parametres);
46        }
47        $valeurs['css'] = $entree['css'];
48
49        return $valeurs;
50}
51
52function formulaires_editer_noisette_verifier_dist($id_noisette, $retour = '')
53{
54        $noisette = _request('noisette');
55        $infos_noisette = noizetier_info_noisette($noisette);
56
57        return saisies_verifier($infos_noisette['parametres'], false);
58}
59
60function formulaires_editer_noisette_traiter_dist($id_noisette, $retour = '')
61{
62        if (!autoriser('configurer', 'noizetier')) {
63                return array('message_erreur' => _T('noizetier:probleme_droits'));
64        }
65
66        $res = array();
67        $css = _request('css');
68        $noisette = _request('noisette');
69        $infos_noisette = noizetier_info_noisette($noisette);
70        $parametres = array();
71        foreach (saisies_lister_champs($infos_noisette['parametres'], false) as $champ) {
72                $parametres[$champ] = _request($champ);
73        }
74        if (sql_updateq('spip_noisettes', array('parametres' => serialize($parametres), 'css' => $css), 'id_noisette='.$id_noisette)) {
75                // On invalide le cache
76                include_spip('inc/invalideur');
77                suivre_invalideur("id='noisette/$id_noisette'");
78                $res['message_ok'] = _T('info_modification_enregistree');
79                if ($retour) {
80                        if (strncmp($retour, 'javascript:', 11) == 0) {
81                                $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/'.substr($retour, 11).'/*]]>*/</script>';
82                                $res['editable'] = true;
83                        } else {
84                                $res['redirect'] = $retour;
85                        }
86                }
87        } else {
88                $res['message_erreur'] = _T('noizetier:erreur_mise_a_jour');
89        }
90
91        return $res;
92}
Note: See TracBrowser for help on using the repository browser.