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

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

v 1.7.0

  • convertir float en decimal
  • ajouter pipeline corbeille, pour pouvoir effacer les réservations depuis la corbeille
  • permettre d'affacer automatiquement les réservation dans la poubelle, si durée de vie définit dans config
File size: 7.4 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.