source: spip-zone/_squelettes_/soyezcreateurs_net/trunk/plugins/soyezcreateurs/formulaires/export_soyezcreateurs.php @ 110968

Last change on this file since 110968 was 110968, checked in by riedel.nobuyuki@…, 2 years ago

Réparation du beug dans la création du .yaml dans les onglet de configuration

File size: 5.2 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7function soyezcreateurs_saisies_export() {
8        include_spip('soyezcreateurs_fonctions_ieconfig');
9        $url = getURI();
10        if (strpos($url, '&cfg=soyezcreateurs_layout')) {
11                $nom = array(
12                                        'saisie' => 'input',
13                                        'options' => array(
14                                                'nom' => 'ieconfig_export_nom',
15                                                'label' => '<:ieconfig:label_ieconfig_export_nom:>',
16                                                'obligatoire' => 'oui',
17                                                'defaut' => 'soyezcreateurs_layout_' . date('Y/m/d'),
18                                        ),
19                                );
20        }
21        elseif (strpos($url, '&cfg=soyezcreateurs_couleurs')) {
22                $nom = array(
23                                        'saisie' => 'input',
24                                        'options' => array(
25                                                'nom' => 'ieconfig_export_nom',
26                                                'label' => '<:ieconfig:label_ieconfig_export_nom:>',
27                                                'obligatoire' => 'oui',
28                                                'defaut' => 'soyezcreateurs_couleurs_' . date('Y/m/d'),
29                                        ),
30                                );
31        }
32        elseif (strpos($url, '&cfg=soyezcreateurs_google')) {
33                $nom = array(
34                                        'saisie' => 'input',
35                                        'options' => array(
36                                                'nom' => 'ieconfig_export_nom',
37                                                'label' => '<:ieconfig:label_ieconfig_export_nom:>',
38                                                'obligatoire' => 'oui',
39                                                'defaut' => 'soyezcreateurs_google_' . date('Y/m/d'),
40                                        ),
41                                );
42        }
43        elseif (strpos($url, '&cfg=soyezcreateurs')) {
44                $nom = array(
45                                        'saisie' => 'input',
46                                        'options' => array(
47                                                'nom' => 'ieconfig_export_nom',
48                                                'label' => '<:ieconfig:label_ieconfig_export_nom:>',
49                                                'obligatoire' => 'oui',
50                                                'defaut' => 'soyezcreateurs_' . date('Y/m/d'),
51                                        ),
52                                );
53        }
54        $saisies = array(
55                // Options d'export
56                array(
57                        'saisie' => 'fieldset',
58                        'options' => array(
59                                'nom' => 'ieconfig_export',
60                                'label' => '<:ieconfig:label_ieconfig_export:>',
61                                'icone' => 'img/ieconfig-export.png',
62                        ),
63                        'saisies' => array(
64                                $nom,
65                                array(
66                                        'saisie' => 'textarea',
67                                        'options' => array(
68                                                'nom' => 'ieconfig_export_description',
69                                                'label' => '<:ieconfig:label_ieconfig_export_description:>',
70                                                'rows' => 4,
71                                        ),
72                                ),
73                                array(
74                                        'saisie' => 'explication',
75                                        'options' => array(
76                                                'nom' => 'ieconfig_export_explication',
77                                                'texte' => '<:ieconfig:texte_ieconfig_export_explication:>',
78                                        ),
79                                ),
80                                array(
81                                        'saisie' => 'selection',
82                                        'options' => array(
83                                                'nom' => 'ieconfig_export_choix',
84                                                'label' => '<:ieconfig:label_ieconfig_export_choix:>',
85                                                'cacher_option_intro' => 'oui',
86                                                'defaut' => 'telecharger',
87                                                'datas' => array(
88                                                        'sauvegarder' => '<:ieconfig:item_sauvegarder:>',
89                                                        'telecharger' => '<:ieconfig:item_telecharger:>',
90                                                ),
91                                        ),
92                                ),
93                        ),
94                ),
95        );
96        return $saisies;
97}
98
99function formulaires_export_soyezcreateurs_charger_dist() {
100        $saisies = soyezcreateurs_saisies_export();
101        $contexte = array(
102                '_saisies' => $saisies,
103        );
104       
105        $export = array_merge(saisies_charger_champs($saisies), $contexte);
106       
107        return $export;
108}
109
110function formulaires_export_soyezcreateurs_verifier_dist() {
111        include_spip('inc/saisies');
112
113        return saisies_verifier(soyezcreateurs_saisies_export());
114}
115
116function formulaires_export_soyezcreateurs_traiter_dist() {
117       
118        include_spip('soyezcreateurs_fonctions_ieconfig');
119        $export = array();
120        $export['nom'] = _request('ieconfig_export_nom');
121        if (_request('ieconfig_export_description') != '') {
122                $export['description'] = _request('ieconfig_export_description');
123        }
124
125        // On créé le tableau en fonction de l'entête de la page
126        $url = getURI();
127        if (strpos($url, '&cfg=soyezcreateurs_layout')) {
128                $export['soyezcreateurs']['soyezcreateurs_layout'] = soyezcreateurs_tableau_export_spe('soyezcreateurs_layout')['soyezcreateurs_layout'];
129        }
130        elseif (strpos($url, '&cfg=soyezcreateurs_couleurs')) {
131                $export['soyezcreateurs']['soyezcreateurs_couleurs'] = soyezcreateurs_tableau_export_spe('soyezcreateurs_couleurs')['soyezcreateurs_couleurs'];
132        }
133        elseif (strpos($url, '&cfg=soyezcreateurs_google')) {
134                $export['soyezcreateurs']['soyezcreateurs_google'] = soyezcreateurs_tableau_export_spe('soyezcreateurs_google')['soyezcreateurs_google'];
135        }
136        elseif (strpos($url, '&cfg=soyezcreateurs')) {
137                $export['soyezcreateurs']['soyezcreateurs'] = soyezcreateurs_tableau_export_spe('soyezcreateurs')['soyezcreateurs'];
138        }
139
140       
141       
142        // On encode en yaml
143        include_spip('inc/yaml');
144        $export = yaml_encode($export, array('inline' => 20));
145
146        // Nom du fichier
147        include_spip('inc/texte');
148        $site = isset($GLOBALS['meta']['nom_site']) ? preg_replace(array(",\W,is", ',_(?=_),', ',_$,'), array(
149                '_',
150                '',
151                '',
152        ), couper(translitteration(trim($GLOBALS['meta']['nom_site'])), 30, '')) : 'spip';
153        $filename = $site . '_' . date('Y-m-d_H-i') . '.yaml';
154
155        // Si telechargement
156        if (_request('ieconfig_export_choix') == 'telecharger') {
157                refuser_traiter_formulaire_ajax();
158                set_request('action', 'courcircuiter_affichage_usage_memoire'); // Pour empêcher l'extension dev d'ajouter un div avec l'usage mémoire.
159                header('Content-Type: text/x-yaml;');
160                header("Content-Disposition: attachment; filename=$filename");
161                header('Content-Length: ' . strlen($export));
162                echo $export;
163                exit;
164        } else {
165                sous_repertoire(_DIR_TMP, 'ieconfig');
166                if (ecrire_fichier(_DIR_TMP . 'ieconfig/' . $filename, $export)) {
167                        return array('message_ok' => _T('ieconfig:message_ok_export', array('filename' => $filename)));
168                } else {
169                        return array('message_erreur' => _T('ieconfig:message_erreur_export', array('filename' => $filename)));
170                }
171        }
172}
Note: See TracBrowser for help on using the repository browser.