source: spip-zone/_plugins_/reservation_evenement/trunk/base/reservation_evenement.php @ 108072

Last change on this file since 108072 was 108072, checked in by abelass@…, 19 months ago

formatage

File size: 7.3 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Réservation Événements
6 * @copyright  2013 -
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Promotions\Pipelines
10 */
11if (! defined('_ECRIRE_INC_VERSION'))
12        return;
13
14/**
15 * Déclaration des alias de tables et filtres automatiques de champs
16 *
17 * @pipeline declarer_tables_interfaces
18 *
19 * @param array $interfaces
20 *              Déclarations d'interface pour le compilateur
21 * @return array Déclarations d'interface pour le compilateur
22 */
23function reservation_evenement_declarer_tables_interfaces ($interfaces) {
24        $interfaces['table_des_tables']['reservations'] = 'reservations';
25        $interfaces['table_des_tables']['reservations_details'] = 'reservations_details';
26
27        return $interfaces;
28}
29
30/**
31 * Déclaration des objets éditoriaux
32 *
33 * @pipeline declarer_tables_objets_sql
34 *
35 * @param array $tables
36 *              Description des tables
37 * @return array Description complétée des tables
38 */
39function reservation_evenement_declarer_tables_objets_sql ($tables) {
40        $tables['spip_reservations'] = array(
41                'type' => 'reservation',
42                'principale' => "oui",
43                'field' => array(
44                        "id_reservation" => "bigint(21) NOT NULL",
45                        "id_reservation_source" => "bigint(21) NOT NULL",
46                        "id_auteur" => "bigint(21) NOT NULL DEFAULT '0'",
47                        "reference" => "varchar(255) NOT NULL DEFAULT ''",
48                        "date_paiement" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
49                        "type_paiement" => "varchar(50) NOT NULL DEFAULT ''",
50                        "nom" => "varchar(255) NOT NULL DEFAULT ''",
51                        "email" => "varchar(255) NOT NULL DEFAULT ''",
52                        "type_lien" => "varchar(25) NOT NULL DEFAULT ''",
53                        "origine_lien" => "varchar(25) NOT NULL DEFAULT ''",
54                        "maj" => "timestamp",
55                        "donnees_auteur" => "text NOT NULL DEFAULT ''",
56                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
57                        "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
58                        "lang" => "varchar(10)  DEFAULT '' NOT NULL",
59                        "langue_choisie" => "varchar(3) NOT NULL DEFAULT ''",
60                        "maj" => "TIMESTAMP"
61                ),
62                'key' => array(
63                        "PRIMARY KEY" => "id_reservation",
64                        "KEY statut" => "statut,id_auteur,lang,id_reservation_source"
65                ),
66                'titre' => "reference AS titre, '' AS lang",
67                'date' => "date",
68                'champs_editables' => array(
69                        'id_reservation_source',
70                        'id_auteur',
71                        'date_paiement',
72                        'nom',
73                        'email',
74                        'type_lien',
75                        'origine_lien',
76                        'donnees_auteur',
77                        'reference',
78                        'lang'
79                ),
80                'champs_versionnes' => array(
81                        'id_auteur',
82                        'date_paiement',
83                        'nom',
84                        'email',
85                        'donnees_auteur',
86                        'reference'
87                ),
88                'rechercher_champs' => array(
89                        "reference" => 8,
90                        "id_reservation" => 8,
91                        "email" => 8,
92                        "nom" => 8
93                ),
94                'tables_jointures' => array(
95                        'spip_auteurs'
96                ),
97                'join' => array(
98                        'id_auteur' => 'id_auteur'
99                ),
100                'statut_textes_instituer' => array(
101                        'attente' => 'reservation:texte_statut_attente',
102                        'attente_paiement' => 'reservation:texte_statut_attente_paiement',
103                        'accepte_part' => 'reservation:texte_statut_accepte_part',
104                        'accepte' => 'reservation:texte_statut_accepte',
105                        'cloture' => 'reservation:texte_statut_cloture',
106                        'encours' => 'reservation:texte_statut_encours',
107                        'refuse' => 'reservation:texte_statut_refuse',
108                        'poubelle' => 'reservation:texte_statut_poubelle'
109                ),
110                'statut_images' => array(
111                        'attente' => 'puce-reservation-attente-16.png',
112                        'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
113                        'accepte' => 'puce-reservation-accepte-16.png',
114                        'accepte_part' => 'puce-reservation-accepte_part-16.png',
115                        'cloture' => 'puce-reservation-cloture-16.png',
116                        'encours' => 'puce-reservation-encours-16.png',
117                        'refuse' => 'puce-reservation-refuse-16.png',
118                        'poubelle' => 'puce-reservation-poubelle-16.png'
119                ),
120                'statut' => array(
121                        array(
122                                'champ' => 'statut',
123                                'publie' => 'accepte,cloture,accepte_part',
124                                'previsu' => 'accepte,attente,attente_paiement,accepte_part',
125                                'post_date' => 'date',
126                                'exception' => array(
127                                        'statut',
128                                        'tout'
129                                )
130                        )
131                ),
132                'texte_changer_statut' => 'reservation:texte_changer_statut_reservation'
133        );
134
135        $tables['spip_reservations_details'] = array(
136                'type' => 'reservations_detail',
137                'principale' => "oui",
138                'table_objet_surnoms' => array(
139                        'reservationsdetail'
140                ), // table_objet('reservations_detail') => 'reservations_details'
141                'field' => array(
142                        "id_reservations_detail" => "bigint(21) NOT NULL",
143                        "id_reservation" => "bigint(21) NOT NULL DEFAULT '0'",
144                        "id_evenement" => "bigint(21) NOT NULL DEFAULT '0'",
145                        "descriptif" => "text NOT NULL",
146                        "quantite" => "int(11) NOT NULL DEFAULT '1'",
147                        "prix_ht" => "decimal(15,2) NOT NULL DEFAULT '0.00'",
148                        "prix" => "decimal(15,2) NOT NULL DEFAULT '0.00'",
149                        "devise" => "varchar(3)  DEFAULT '' NOT NULL",
150                        "taxe" => "decimal(15,2) NOT NULL DEFAULT '0.00'",
151                        "statut" => "varchar(20)  DEFAULT '0' NOT NULL",
152                        "maj" => "TIMESTAMP"
153                ),
154                'key' => array(
155                        "PRIMARY KEY" => "id_reservations_detail",
156                        "KEY statut" => "statut,id_reservation,id_evenement"
157                ),
158                'titre' => "descriptif AS titre, '' AS lang",
159                // 'date' => "",
160                'champs_editables' => array(
161                        'id_reservation',
162                        'id_evenement',
163                        'descriptif',
164                        'quantite',
165                        'prix_ht',
166                        'prix',
167                        'taxe',
168                        'devise',
169                        'id_prix_objet'
170                ),
171                'champs_versionnes' => array(
172                        'descriptif',
173                        'quantite',
174                        'prix_ht',
175                        'prix',
176                        'taxe',
177                        'devise',
178                        'id_prix_objet'
179                ),
180                'rechercher_champs' => array(
181                        "descriptif" => 8
182                ),
183                'tables_jointures' => array(
184                        'spip_evenements',
185                        'spip_reservations'
186                ),
187                'join' => array(
188                        'id_evenement' => 'id_evenement',
189                        'id_reservation' => 'id_reservation'
190                ),
191                'statut_textes_instituer' => array(
192                        'attente' => 'reservation:texte_statut_attente',
193                        'attente_paiement' => 'reservation:texte_statut_attente_paiement',
194                        'accepte_part' => 'reservation:texte_statut_accepte_part',
195                        'accepte' => 'reservation:texte_statut_accepte',
196                        'cloture' => 'reservation:texte_statut_cloture',
197                        'encours' => 'reservation:texte_statut_encours',
198                        'refuse' => 'reservation:texte_statut_refuse',
199                        'poubelle' => 'reservation:texte_statut_poubelle'
200                ),
201                'statut_images' => array(
202                        'attente' => 'puce-reservation-attente-16.png',
203                        'attente_paiement' => 'puce-reservation-attente_paiement-16.png',
204                        'accepte_part' => 'puce-reservation-accepte_part-16.png',
205                        'accepte' => 'puce-reservation-accepte-16.png',
206                        'encours' => 'puce-reservation-encours-16.png',
207                        'cloture' => 'puce-reservation-cloture-16.png',
208                        'refuse' => 'puce-reservation-refuse-16.png',
209                        'poubelle' => 'puce-reservation-poubelle-16.png'
210                ),
211                'statut' => array(
212                        array(
213                                'champ' => 'statut',
214                                'publie' => 'accepte,cloture,accepte_part',
215                                'previsu' => 'accepte,attente,attente_paiement,accepte_part',
216                                'post_date' => 'date',
217                                'exception' => array(
218                                        'statut',
219                                        'tout'
220                                )
221                        )
222                ),
223                'texte_changer_statut' => 'reservations_detail:texte_changer_statut_reservations_detail'
224        );
225
226        // Ajouter le champ action_cloture dans le tables articles et evenements
227
228        $tables['spip_articles']['champs_editable'][] = "action_cloture";
229        $tables['spip_evenements']['champs_editable'][] = "action_cloture";
230
231        return $tables;
232}
233
234function reservation_evenement_declarer_tables_principales ($tables_principales) {
235        $tables_principales['spip_articles']['field']['action_cloture'] = "tinyint(1) NOT NULL";
236        $tables_principales['spip_evenements']['field']['action_cloture'] = "tinyint(1) NOT NULL";
237
238        return $tables_principales;
239}
Note: See TracBrowser for help on using the repository browser.