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

Last change on this file since 7959 was 7959, checked in by kent1, 7 years ago

On remet axe_x et axe_y sur les jeux de données, ils permettront de gérer les noms des labels de l'infographie

On répare le coup de l'url même si on ne sait pas l'utiliser

File size: 6.0 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       
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                        "axe_x" => "varchar(255) NOT NULL DEFAULT ''",
123                        "axe_y" => "varchar(255) NOT NULL DEFAULT ''",
124                        "type" => "varchar(255) NOT NULL DEFAULT ''",
125                        "url_externe" => "varchar(255) NOT NULL DEFAULT ''",
126                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
127                        "maj" => "TIMESTAMP"
128                ),
129                'key' => array(
130                        "PRIMARY KEY" => "id_infographies_data"
131                ),
132                'titre' => "titre, '' AS lang",
133                'date' => "date",
134                'champs_editables' => array('titre','texte','credits','axe_x','axe_y','type','url_externe','date'),
135                'champs_versionnes' => array('titre','texte','credits','axe_x','axe_y','type','url_externe','date'),
136                'champs_contenu' => array('texte','credits','axe_x','axe_y','url_externe'),
137                'rechercher_champs' => array(
138                        'titre' => 8,
139                        'texte' => 3,
140                        'credits' => 1
141                )
142        );
143       
144        $tables['spip_infographies_donnees'] = array(
145                'type' => 'infographies_donnee',
146                'principale' => 'non',
147                'field' => array(
148                        "id_infographies_donnee" => "bigint(21) NOT NULL",
149                        "id_infographies_data" => "bigint(21) NOT NULL",
150                        "rang" => "int NOT NULL DEFAULT 0",
151                        "axe_x" => "varchar(255) NOT NULL DEFAULT ''",
152                        "axe_y" => "varchar(255) NOT NULL DEFAULT ''",
153                        "commentaire" => "text NOT NULL",
154                        "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
155                        "maj" => "TIMESTAMP"
156                ),
157                'key' => array(
158                        "PRIMARY KEY" => "id_infographies_donnee",
159                ),
160                'titre' => "commentaire, '' AS lang",
161                'date' => "date",
162                'editable' => 'non',
163                'champs_editables' => array('id_infographies_data','axe_x','axe_y','commentaire','date'),
164                'champs_versionnes' => array('id_infographies_data','axe_x','axe_y','commentaire','date'),
165                'rechercher_champs' => array(
166                        'axe_x' => 8,
167                        'axe_y' => 8,
168                        'commentaire' => 8
169                )
170        );
171        return $tables;
172}
173
174function terraeco_d3_declarer_tables_auxiliaires($tables_auxiliaires){
175        $spip_infographies_datas_liens = array(
176                "id_infographies_data" => "bigint(21) NOT NULL",
177                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
178                "id_objet" => "bigint(21) NOT NULL");
179
180        $spip_infographies_datas_liens_key = array(
181                "PRIMARY KEY" => "id_infographies_data,id_objet,objet",
182                "KEY id_objet" => "id_infographies_data");
183
184        $tables_auxiliaires['spip_infographies_datas_liens'] = array(
185                'field' => &$spip_infographies_datas_liens,
186                'key' => &$spip_infographies_datas_liens_key);
187
188        return $tables_auxiliaires;
189}
190?>
Note: See TracBrowser for help on using the repository browser.