source: spip-zone/_plugins_/coordonnees/trunk/base/coordonnees.php @ 70425

Last change on this file since 70425 was 70425, checked in by pierre.fiches@…, 7 years ago

Fournir les chaînes de langues à configurer_contenu -> Documents joints

File size: 5.9 KB
Line 
1<?php
2/**
3 * Plugin Coordonnees pour Spip 2.1
4 * Licence GPL (c) 2010 - Marcimat / Ateliers CYM
5 */
6
7function coordonnees_declarer_tables_interfaces($interface){
8
9        $interface['table_des_tables']['adresses'] = 'adresses';
10        $interface['table_des_tables']['numeros'] = 'numeros';
11        $interface['table_des_tables']['emails'] = 'emails';
12
13        $interface['tables_jointures']['spip_auteurs'][] = 'adresses_liens';
14        $interface['tables_jointures']['spip_adresses'][] = 'adresses_liens';
15
16        $interface['tables_jointures']['spip_auteurs'][] = 'numeros_liens';
17        $interface['tables_jointures']['spip_numeros'][] = 'numeros_liens';
18
19        $interface['tables_jointures']['spip_auteurs'][] = 'emails_liens';
20        $interface['tables_jointures']['spip_emails'][] = 'emails_liens';
21
22        $interface['table_des_traitements']['VILLE'][] = _TRAITEMENT_TYPO;
23
24        return $interface;
25}
26
27/**
28 * Déclaration des objets éditoriaux
29 */
30function coordonnees_declarer_tables_objets_sql($tables) {
31
32        $tables['spip_adresses'] = array(
33                'type' => 'adresse',
34                'principale' => "oui",
35                'field'=> array(
36                        "id_adresse"         => "bigint(21) NOT NULL",
37                        "titre"              => "varchar(255) NOT NULL DEFAULT ''", // perso, pro, vacance...
38                        "voie"               => "tinytext NOT NULL", // p. ex. 21 rue de cotte
39                        "complement"         => "tinytext NOT NULL", // p. ex. 3e etage
40                        "boite_postale"      => "varchar(40) NOT NULL DEFAULT ''",
41                        "code_postal"        => "varchar(40) NOT NULL DEFAULT ''",
42                        "ville"              => "tinytext NOT NULL",
43                        "region"             => "varchar(40) NOT NULL DEFAULT ''",
44                        "pays"               => "varchar(3) NOT NULL DEFAULT ''",
45                        "maj"                => "TIMESTAMP"
46                ),
47                'key' => array(
48                        "PRIMARY KEY"        => "id_adresse",
49                        "KEY iso3166"        => "pays",
50                        "KEY zip"            => "region, code_postal"
51                ),
52                'titre' => "titre AS titre, '' AS lang",
53                 #'date' => "",
54                'champs_editables'  => array('titre', 'voie', 'complement', 'boite_postale', 'code_postal', 'ville', 'region', 'pays'),
55                'champs_versionnes' => array(),
56                'rechercher_champs' => array(),
57                'tables_jointures'  => array('spip_adresses_liens'),
58                'texte_objets' => "coordonnees:adresses"
59
60
61        );
62
63        $tables['spip_numeros'] = array(
64                'type' => 'numero',
65                'principale' => "oui",
66                'field'=> array(
67                        "id_numero"          => "bigint(21) NOT NULL",
68                        "titre"              => "varchar(255) NOT NULL DEFAULT ''", // peut etre domicile, bureau, portable
69                        "numero"             => "varchar(255) NOT NULL DEFAULT ''",
70                        "maj"                => "TIMESTAMP"
71                ),
72                'key' => array(
73                        "PRIMARY KEY"        => "id_numero",
74                  "KEY numero"         => "numero" // on ne met pas unique pour le cas ou 2 contacts partagent le meme numero generique
75                ),
76                'titre' => "titre AS titre, '' AS lang",
77                 #'date' => "",
78                'champs_editables'  => array( 'titre', 'numero'),
79                'champs_versionnes' => array(),
80                'rechercher_champs' => array(),
81                'tables_jointures'  => array('spip_numeros_liens'),
82                'texte_objets' => "coordonnees:numeros"
83
84
85        );
86
87        $tables['spip_emails'] = array(
88                'type' => 'email',
89                'principale' => "oui",
90                'field'=> array(
91                        "id_email"           => "bigint(21) NOT NULL",
92                        "titre"              => "varchar(255) NOT NULL DEFAULT ''", // peut etre perso, boulot, etc.
93                        "email"              => "varchar(255) NOT NULL DEFAULT ''",
94                        "maj"                => "TIMESTAMP"
95                ),
96                'key' => array(
97                        "PRIMARY KEY"        => "id_email",
98                "KEY email"              => "email" // on ne met pas unique pour le cas ou 2 contacts partagent le meme mail generique
99                ),
100                'titre' => "titre AS titre, '' AS lang",
101                 #'date' => "",
102                'champs_editables'  => array( 'titre', 'email'),
103                'champs_versionnes' => array(),
104                'rechercher_champs' => array(),
105                'tables_jointures'  => array('spip_emails_liens'),
106                'texte_objets' => "coordonnees:emails"
107
108
109        );
110
111        return $tables;
112}
113
114
115/**
116 * Déclaration des tables secondaires (liaisons)
117 */
118function coordonnees_declarer_tables_auxiliaires($tables) {
119
120        $tables['spip_adresses_liens'] = array(
121                'field' => array(
122                        "id_adresse"         => "bigint(21) DEFAULT '0' NOT NULL",
123                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
124                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un compte ou un contact
125                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
126                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
127                ),
128                'key' => array(
129                        "PRIMARY KEY"        => "id_adresse,id_objet,objet,type", // on rajoute le type car on en rajoute un par liaison et qu'il peut y en avoir plusieurs
130                        "KEY id_adresse"     => "id_adresse"
131                )
132        );
133        $tables['spip_numeros_liens'] = array(
134                'field' => array(
135                        "id_numero"          => "bigint(21) DEFAULT '0' NOT NULL",
136                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
137                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un contact ou un compte
138                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
139                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
140                ),
141                'key' => array(
142                        "PRIMARY KEY"        => "id_numero,id_objet,objet,type", // on rajoute le type car on en rajoute un par liaison et qu'il peut y en avoir plusieurs
143                        "KEY id_numero"      => "id_numero"
144                )
145        );
146        $tables['spip_emails_liens'] = array(
147                'field' => array(
148                        "id_email"           => "bigint(21) DEFAULT '0' NOT NULL",
149                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
150                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un contact ou un compte
151                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
152                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
153                ),
154                'key' => array(
155                        "PRIMARY KEY"        => "id_email,id_objet,objet,type", // on rajoute le type car on en rajoute un par liaison et qu'il peut y en avoir plusieurs
156                        "KEY id_email"       => "id_email"
157                )
158        );
159
160        return $tables;
161}
162
163
164?>
Note: See TracBrowser for help on using the repository browser.