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

Last change on this file since 69459 was 69459, checked in by m.spiprezo@…, 7 years ago

Oublié le champ 'type' dans les tables de liens
Repris quelques commentaires de la version d'avant

File size: 5.8 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
59
60        );
61
62        $tables['spip_numeros'] = array(
63                'type' => 'numero',
64                'principale' => "oui",
65                'field'=> array(
66                        "id_numero"          => "bigint(21) NOT NULL",
67                        "titre"              => "varchar(255) NOT NULL DEFAULT ''", // peut etre domicile, bureau, portable
68                        "numero"             => "varchar(255) NOT NULL DEFAULT ''",
69                        "maj"                => "TIMESTAMP"
70                ),
71                'key' => array(
72                        "PRIMARY KEY"        => "id_numero",
73                  "KEY numero"         => "numero" // on ne met pas unique pour le cas ou 2 contacts partagent le meme numero generique
74                ),
75                'titre' => "titre AS titre, '' AS lang",
76                 #'date' => "",
77                'champs_editables'  => array( 'titre', 'numero'),
78                'champs_versionnes' => array(),
79                'rechercher_champs' => array(),
80                'tables_jointures'  => array('spip_numeros_liens'),
81
82
83        );
84
85        $tables['spip_emails'] = array(
86                'type' => 'email',
87                'principale' => "oui",
88                'field'=> array(
89                        "id_email"           => "bigint(21) NOT NULL",
90                        "titre"              => "varchar(255) NOT NULL DEFAULT ''", // peut etre perso, boulot, etc.
91                        "email"              => "varchar(255) NOT NULL DEFAULT ''",
92                        "maj"                => "TIMESTAMP"
93                ),
94                'key' => array(
95                        "PRIMARY KEY"        => "id_email",
96                "KEY email"              => "email" // on ne met pas unique pour le cas ou 2 contacts partagent le meme mail generique
97                ),
98                'titre' => "titre AS titre, '' AS lang",
99                 #'date' => "",
100                'champs_editables'  => array( 'titre', 'email'),
101                'champs_versionnes' => array(),
102                'rechercher_champs' => array(),
103                'tables_jointures'  => array('spip_emails_liens'),
104
105
106        );
107
108        return $tables;
109}
110
111
112/**
113 * Déclaration des tables secondaires (liaisons)
114 */
115function coordonnees_declarer_tables_auxiliaires($tables) {
116
117        $tables['spip_adresses_liens'] = array(
118                'field' => array(
119                        "id_adresse"         => "bigint(21) DEFAULT '0' NOT NULL",
120                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
121                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un compte ou un contact
122                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
123                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
124                ),
125                'key' => array(
126                        "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
127                        "KEY id_adresse"     => "id_adresse"
128                )
129        );
130        $tables['spip_numeros_liens'] = array(
131                'field' => array(
132                        "id_numero"          => "bigint(21) DEFAULT '0' NOT NULL",
133                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
134                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un contact ou un compte
135                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
136                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
137                ),
138                'key' => array(
139                        "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
140                        "KEY id_numero"      => "id_numero"
141                )
142        );
143        $tables['spip_emails_liens'] = array(
144                'field' => array(
145                        "id_email"           => "bigint(21) DEFAULT '0' NOT NULL",
146                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
147                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL", // peut etre un contact ou un compte
148                        "type"               => "VARCHAR(25) DEFAULT '' NOT NULL",
149                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
150                ),
151                'key' => array(
152                        "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
153                        "KEY id_email"       => "id_email"
154                )
155        );
156
157        return $tables;
158}
159
160
161?>
Note: See TracBrowser for help on using the repository browser.