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

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

propro sur le champ commentaire des données

Le rang est potentiellement éditable, on ajoute également les champs_contenu

File size: 6.1 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                        "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('rang','id_infographies_data','axe_x','axe_y','commentaire','date'),
164                'champs_versionnes' => array('rang','id_infographies_data','axe_x','axe_y','commentaire','date'),
165                'champs_contenu' => array('axe_x','axe_y','axe_x','commentaire'),
166                'rechercher_champs' => array(
167                        'axe_x' => 8,
168                        'axe_y' => 8,
169                        'commentaire' => 8
170                )
171        );
172        return $tables;
173}
174
175function terraeco_d3_declarer_tables_auxiliaires($tables_auxiliaires){
176        $spip_infographies_datas_liens = array(
177                "id_infographies_data" => "bigint(21) NOT NULL",
178                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
179                "id_objet" => "bigint(21) NOT NULL");
180
181        $spip_infographies_datas_liens_key = array(
182                "PRIMARY KEY" => "id_infographies_data,id_objet,objet",
183                "KEY id_objet" => "id_infographies_data");
184
185        $tables_auxiliaires['spip_infographies_datas_liens'] = array(
186                'field' => &$spip_infographies_datas_liens,
187                'key' => &$spip_infographies_datas_liens_key);
188
189        return $tables_auxiliaires;
190}
191?>
Note: See TracBrowser for help on using the repository browser.