source: spip-zone/_plugins_/produits/trunk/base/produits.php @ 108136

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

déclaration conforme de l’objet suite à r107052 et le passage du prix en décimal

File size: 3.6 KB
Line 
1<?php
2
3/**
4 * Déclarations relatives à la base de données
5 *
6 * @plugin         produits
7 * @copyright  2014
8 * @author         Les Développements Durables, http://www.ldd.fr
9 * @licence        GNU/GPL
10 * @package        SPIP\Produits\Pipelines
11 */
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16/**
17 * Déclaration des alias de tables et filtres automatiques de champs
18 *
19 * @pipeline declarer_tables_interfaces
20 * @param array $interfaces
21 *         Déclarations d'interface pour le compilateur
22 * @return array
23 *         Déclarations d'interface pour le compilateur
24 */
25function produits_declarer_tables_interfaces($interfaces) {
26
27        $interfaces['table_des_tables']['produits'] = 'produits';
28
29        // Champs date sur les tables
30        $interface['table_date']['produits'] = 'date';
31
32        // Déclaration du titre
33        $interface['table_titre']['produits'] = 'titre, "" as lang';
34
35        return $interfaces;
36}
37
38/**
39 * Déclaration des objets éditoriaux
40 *
41 * @pipeline declarer_tables_objets_sql
42 * @param array $tables
43 *         Description des tables
44 * @return array
45 *         Description complétée des tables
46 */
47function produits_declarer_tables_objets_sql($tables) {
48
49        $tables['spip_produits'] = array(
50                'type' => 'produit',
51                'principale' => 'oui',
52                'field' => array(
53                        'id_produit' => 'bigint(21) NOT NULL',
54                        'id_rubrique' => 'bigint(21) NOT NULL DEFAULT 0',
55                        'id_secteur' => 'bigint(21) NOT NULL DEFAULT 0',
56                        'titre' => 'text NOT NULL',
57                        'reference' => "tinytext NOT NULL DEFAULT ''",
58                        'descriptif' => "text NOT NULL DEFAULT ''",
59                        'texte' => 'longtext NOT NULL',
60                        'prix_ht' => 'decimal(20,6) NOT NULL DEFAULT 0',
61                        'taxe' => 'decimal(4,4) DEFAULT NULL',
62                        'statut' => "varchar(20)  DEFAULT '0' NOT NULL",
63                        'lang' => "VARCHAR(10) NOT NULL DEFAULT ''",
64                        'date' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
65                        'date_com' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
66                        'langue_choisie' => "VARCHAR(3) DEFAULT 'non'",
67                        'id_trad' => 'bigint(21) NOT NULL DEFAULT 0',
68                        'immateriel' => 'tinyint(1) NOT NULL DEFAULT 0',
69                        'poids' => 'bigint(21) NOT NULL DEFAULT 0', // poids en g
70                        'largeur' => 'bigint(21) NOT NULL DEFAULT 0', // largeur en cm
71                        'longueur' => 'bigint(21) NOT NULL DEFAULT 0', // longueur en cm
72                        'hauteur' => 'bigint(21) NOT NULL DEFAULT 0', // hauteur en cm
73                        'maj' => 'TIMESTAMP'
74                ),
75                'key' => array(
76                        'PRIMARY KEY' => 'id_produit',
77                        'KEY id_rubrique' => 'id_rubrique',
78                        'KEY id_secteur' => 'id_secteur',
79                        'KEY lang' => 'lang',
80                        'KEY id_trad' => 'id_trad',
81                        'KEY statut' => 'statut',
82                ),
83                'titre' => 'titre AS titre, lang AS lang',
84                'date' => 'date',
85                'champs_editables' => array('titre', 'reference', 'prix_ht', 'taxe', 'descriptif', 'texte', 'immateriel', 'poids', 'largeur', 'longueur', 'hauteur'),
86                'champs_versionnes' => array('titre', 'reference', 'prix_ht', 'taxe', 'descriptif', 'texte'),
87                'rechercher_champs' => array('titre' => 4, 'reference' => 4, 'descriptif' => 2, 'texte' => 1),
88                'statut_textes_instituer' => array(
89                        'prepa' => 'texte_statut_en_cours_redaction',
90                        'prop' => 'texte_statut_propose_evaluation',
91                        'publie' => 'texte_statut_publie',
92                        'refuse' => 'texte_statut_refuse',
93                        'poubelle' => 'texte_statut_poubelle',
94                ),
95                'statut' => array(
96                        array(
97                                'champ' => 'statut',
98                                'publie' => 'publie',
99                                'previsu' => 'publie,prop,prepa',
100                                'post_date' => 'date',
101                                'exception' => array('statut', 'tout')
102                        )
103                ),
104                'texte_changer_statut' => 'produits:produit_statut',
105                'join' => array(
106                        'id_produit' => 'id_produit',
107                        'id_rubrique' => 'id_rubrique'
108                ),
109                'tables_jointures' => array(
110                        'profondeur' => 'rubriques',
111                        #'id_auteur' => 'auteurs_liens' // declaration generique plus bas
112                ),
113        );
114
115        return $tables;
116}
Note: See TracBrowser for help on using the repository browser.