source: plugins_spip/terraeco_infographie/trunk/base/terraeco_d3.php @ 7979

Last change on this file since 7979 was 7979, checked in by kent1, 6 years ago

On ajoute deux champs css_class et unite sur les jeux de données pour les récupérer dans une visualisation

File size: 6.3 KB
Line 
1<?php
2/**
3 * Terraeco Infographies
4 *
5 * Auteurs :
6 * kent1 (http://www.kent1.info - kent1@arscenic.info)
7 * 2013 - Distribué sous licence GNU/GPL
8 *
9 * Déclarations relatives à la base de données
10 *
11 * @package SPIP\Terraeco_3D\Pipelines
12 */
13
14if (!defined("_ECRIRE_INC_VERSION")) return;
15
16/**
17 * Déclarer les interfaces des tables spip_infographies et spip_infographies_datas
18 * pour le compilateur
19 *
20 * On traite également les raccours sur la balise CREDITS
21 * @pipeline declarer_tables_interfaces
22 * @param array $interfaces
23 *     Déclarations d'interface pour le compilateur
24 * @return array
25 *     Déclarations d'interface pour le compilateur
26 */
27function terraeco_d3_declarer_tables_interfaces($interface){
28
29        $interface['table_des_tables']['infographies'] = 'infographies';
30        $interface['table_des_tables']['infographies_datas'] = 'infographies_datas';
31        $interface['table_des_tables']['infographies_donnees'] = 'infographies_donnees';
32       
33        $interface['table_des_traitements']['CREDITS'][] = _TRAITEMENT_RACCOURCIS;
34        $interface['table_des_traitements']['COMMENTAIRE'][] = _TRAITEMENT_RACCOURCIS;
35       
36        $interface['tables_jointures']['spip_infographies'][] = 'infographies_datas';
37       
38        return $interface;
39}
40
41/**
42 * Insertion dans le pipeline declarer_tables_objets_sql (SPIP)
43 *
44 * Déclaration de l'objet supplémentaire grappes
45 *
46 * @param array $tables
47 *      Le tableau de définition de tous les objets
48 * @return array $tables
49 *      Le tableau complété avec notre objet supplémentaire
50 */
51function terraeco_d3_declarer_tables_objets_sql($tables){
52        $tables['spip_infographies'] = array(
53                'type' => 'infographie',
54                'principale' => 'oui',
55                'titre' => "titre, '' AS lang",
56                'date' => "date",
57                'page' => 'infographie',
58                'url_voir' => 'infographie',
59                'url_edit' => 'infographie_edit',
60                'editable' => 'oui',
61                'texte_changer_statut' => 'infographie:texte_infographie_statut',
62                'field' => array(
63                        "id_infographie" => "bigint(21) NOT NULL",
64                        "titre" => "varchar(255) NOT NULL DEFAULT ''",
65                        "texte" => "longtext DEFAULT '' NOT NULL",
66                        "credits" => "text DEFAULT '' NOT NULL",
67                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
68                        "statut"        => "varchar(10) DEFAULT '0' NOT NULL",
69                        "maj" => "TIMESTAMP"
70                ),
71                'key' => array(
72                        "PRIMARY KEY" => "id_infographie",
73                        "KEY statut" => "statut, date",
74                ),
75                'join' => array(
76                        "id_infographie"=>"id_infographie"
77                ),
78                'champs_editables' => array('titre','texte','credits','date'),
79                'champs_versionnes' => array('titre','texte','credits','date','jointure_auteurs'),
80                'champs_contenu' => array('texte','credits'),
81                'rechercher_champs' => array(
82                        'titre' => 8,
83                        'texte' => 5,
84                        'credits' => 1 
85                ),
86                'rechercher_jointures' => array(
87                        'auteur' => array('nom' => 10),
88                ),
89                'statut'=> array(
90                        array(
91                                'champ' => 'statut',
92                                'publie' => 'publie',
93                                'previsu' => 'publie,prop,prepa',
94                                'post_date' => 'date',
95                                'exception' => 'statut'
96                        )
97                ),
98                'statut_titres' => array(
99                        'prepa'=>'info_article_redaction',
100                        'prop'=>'infographie:info_infographie_proposee',
101                        'publie'=>'infographie:info_infographie_publiee',
102                        'refuse'=>'infographie:info_infographie_refusee',
103                        'poubelle'=>'infographie:info_infographie_supprimee'
104                ),
105                'statut_textes_instituer' => array(
106                        'prepa' => 'texte_statut_en_cours_redaction',
107                        'prop' => 'infographie:texte_statut_propose_evaluation',
108                        'publie' => 'infographie:texte_statut_publie',
109                        'refuse' => 'infographie:texte_statut_refuse',
110                        'poubelle' => 'texte_statut_poubelle',
111                ),
112        );
113       
114        $tables['spip_infographies_datas'] = array(
115                'type' => 'infographies_data',
116                'principale' => 'non',
117                'field' => array(
118                        "id_infographies_data" => "bigint(21) NOT NULL",
119                        "titre" => "varchar(255) NOT NULL DEFAULT ''",
120                        "texte" => "longtext DEFAULT '' NOT NULL",
121                        "credits" => "text DEFAULT '' NOT NULL",
122                        "css_class" => "varchar(255) NOT NULL DEFAULT ''",
123                        "axe_x" => "varchar(255) NOT NULL DEFAULT ''",
124                        "axe_y" => "varchar(255) NOT NULL DEFAULT ''",
125                        "unite" => "varchar(255) NOT NULL DEFAULT ''",
126                        "type" => "varchar(255) NOT NULL DEFAULT ''",
127                        "url_externe" => "varchar(255) NOT NULL DEFAULT ''",
128                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
129                        "maj" => "TIMESTAMP"
130                ),
131                'key' => array(
132                        "PRIMARY KEY" => "id_infographies_data"
133                ),
134                'titre' => "titre, '' AS lang",
135                'date' => "date",
136                'champs_editables' => array('titre','texte','credits','css_class','axe_x','axe_y','unite','type','url_externe','date'),
137                'champs_versionnes' => array('titre','texte','credits','css_class','axe_x','axe_y','unite','type','url_externe','date'),
138                'champs_contenu' => array('texte','credits','css_class','axe_x','axe_y','unite','url_externe'),
139                'rechercher_champs' => array(
140                        'titre' => 8,
141                        'texte' => 3,
142                        'credits' => 1
143                )
144        );
145       
146        $tables['spip_infographies_donnees'] = array(
147                'type' => 'infographies_donnee',
148                'principale' => 'non',
149                'field' => array(
150                        "id_infographies_donnee" => "bigint(21) NOT NULL",
151                        "id_infographies_data" => "bigint(21) NOT NULL",
152                        "rang" => "int NOT NULL DEFAULT 0",
153                        "axe_x" => "varchar(255) NOT NULL DEFAULT ''",
154                        "axe_y" => "varchar(255) NOT NULL DEFAULT ''",
155                        "commentaire" => "text NOT NULL",
156                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
157                        "maj" => "TIMESTAMP"
158                ),
159                'key' => array(
160                        "PRIMARY KEY" => "id_infographies_donnee",
161                ),
162                'titre' => "commentaire, '' AS lang",
163                'date' => "date",
164                'editable' => 'non',
165                'champs_editables' => array('rang','id_infographies_data','axe_x','axe_y','commentaire','date'),
166                'champs_versionnes' => array('rang','id_infographies_data','axe_x','axe_y','commentaire','date'),
167                'champs_contenu' => array('axe_x','axe_y','axe_x','commentaire'),
168                'rechercher_champs' => array(
169                        'axe_x' => 8,
170                        'axe_y' => 8,
171                        'commentaire' => 8
172                )
173        );
174        return $tables;
175}
176
177function terraeco_d3_declarer_tables_auxiliaires($tables_auxiliaires){
178        $spip_infographies_datas_liens = array(
179                "id_infographies_data" => "bigint(21) NOT NULL",
180                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
181                "id_objet" => "bigint(21) NOT NULL");
182
183        $spip_infographies_datas_liens_key = array(
184                "PRIMARY KEY" => "id_infographies_data,id_objet,objet",
185                "KEY id_objet" => "id_infographies_data");
186
187        $tables_auxiliaires['spip_infographies_datas_liens'] = array(
188                'field' => &$spip_infographies_datas_liens,
189                'key' => &$spip_infographies_datas_liens_key);
190
191        return $tables_auxiliaires;
192}
193?>
Note: See TracBrowser for help on using the repository browser.