source: spip-zone/_plugins_/contacts_et_organisations/base/contacts.php @ 43669

Last change on this file since 43669 was 43669, checked in by marcimat@…, 9 years ago

Corriger l'installation de Contacts suite au passage à la liaison contacts_liens (Vero)

  • Property svn:executable set to *
File size: 5.0 KB
Line 
1<?php
2/**
3 * Plugin Contacts & Organisations pour Spip 2.0
4 * Licence GPL (c) 2009 - 2010- Ateliers CYM
5 */
6
7function contacts_declarer_tables_interfaces($interface){
8       
9        $interface['table_des_tables']['organisations'] = 'organisations';
10        $interface['table_des_tables']['contacts'] = 'contacts';
11        $interface['table_des_tables']['organisations_contacts'] = 'organisations_contacts';
12       
13        // -- Liaisons comptes/auteurs, contacts/auteurs et comptes/contacts
14        $interface['tables_jointures']['spip_contacts'][]= 'contacts_liens';
15        $interface['tables_jointures']['spip_auteurs'][]= 'contacts_liens';
16        $interface['tables_jointures']['spip_organisations'][]= 'auteurs';
17        $interface['tables_jointures']['spip_auteurs'][]= 'organisations';
18        $interface['tables_jointures']['spip_organisations_contacts'][]= 'contacts';
19        $interface['tables_jointures']['spip_organisations_contacts'][]= 'organisations';
20        $interface['tables_jointures']['spip_contacts'][]= 'organisations_contacts';
21        $interface['tables_jointures']['spip_organisations'][]= 'organisations_contacts';
22
23        /**
24         * Objectif : autoriser les traitements SPIP sur certains champs texte...
25         *
26         */
27        $interface['table_des_traitements']['NOM'][] = _TRAITEMENT_TYPO;
28        $interface['table_des_traitements']['PRENOM'][] = _TRAITEMENT_TYPO;
29        $interface['table_des_traitements']['CIVILITE'][] = _TRAITEMENT_TYPO;
30        $interface['table_des_traitements']['FONCTION'][] = _TRAITEMENT_TYPO;
31        $interface['table_des_traitements']['ACTIVITE'][] = _TRAITEMENT_TYPO;
32
33        // gerer le critere de date
34        $interface['table_date']['contacts'] = 'date_naissance';
35        $interface['table_date']['organisations'] = 'date_creation';
36
37        // titre
38        $interface['table_titre']['contacts'] = "CONCAT(nom,' ',prenom) AS titre, '' AS lang";
39        $interface['table_titre']['organisations'] = "nom AS titre, '' AS lang, ";
40       
41        return $interface;
42}
43
44
45function contacts_declarer_tables_principales($tables_principales){
46        //-- Table organisations ------------------------------------------
47        $organisations = array(
48                "id_organisation"       => "bigint(21) NOT NULL auto_increment",
49                "id_auteur"                     => "bigint(21) NOT NULL",
50                "nom"                           => "tinytext DEFAULT '' NOT NULL",
51        "statut_juridique"      => "tinytext DEFAULT '' NOT NULL", // forme juridique : SA, SARL, association, etc.
52        "identification"        => "tinytext DEFAULT '' NOT NULL", // N° d'identification : SIRET, SIREN, N° TVA...
53                "activite"                      => "tinytext DEFAULT '' NOT NULL", // Secteur d'activité : humanitaire, formation...
54                "date_creation"         => "datetime NOT NULL default '0000-00-00 00:00:00'",
55                "descriptif"            => "TEXT DEFAULT '' NOT NULL",
56                "maj"                           => "TIMESTAMP"
57                );
58        $organisations_key = array(
59                "PRIMARY KEY"           => "id_organisation",
60                "UNIQUE KEY id_auteur" => "id_auteur"
61                );
62        $organisations_join = array(
63                "id_auteur"             => "id_auteur",
64                "id_organisation"       => "id_organisation"
65        );
66        $tables_principales['spip_organisations'] =
67                array('field' => &$organisations, 'key' => &$organisations_key, 'join' => &$organisations_join);
68
69        //-- Table contacts ------------------------------------------
70        $contacts = array(
71                "id_contact"    => "bigint(21) NOT NULL auto_increment", 
72                "civilite"              => "tinytext DEFAULT '' NOT NULL",
73                "nom"                   => "tinytext DEFAULT '' NOT NULL",
74                "prenom"                => "tinytext NOT NULL DEFAULT ''",
75                "fonction"              => "tinytext DEFAULT '' NOT NULL", // gérant, membre, trésorier, etc.
76                "date_naissance"=> "datetime NOT NULL default '0000-00-00 00:00:00'",
77                "descriptif"    => "tinytext DEFAULT '' NOT NULL",
78                "maj"                   => "TIMESTAMP"
79                );
80        $contacts_key = array(
81                "PRIMARY KEY"   => "id_contact",
82                );
83        $contacts_join = array(
84                "id_contact" => "id_contact"
85        );
86        $tables_principales['spip_contacts'] =
87                array('field' => &$contacts, 'key' => &$contacts_key, 'join' => &$contacts_join);
88
89        return $tables_principales;
90
91}
92
93
94function contacts_declarer_tables_auxiliaires($tables_auxiliaires){
95
96    //-- Table organisations_contacts -------------------------------------
97    $organisations_contacts = array(
98        "id_organisation"     => "BIGINT(21) NOT NULL",
99        "id_contact"    => "BIGINT(21) NOT NULL"
100    );
101    $organisations_contacts_key = array(
102        "PRIMARY KEY"   => "id_organisation, id_contact",
103                "KEY id_organisation"   => "id_organisation",
104                "KEY id_contact"        => "id_contact"
105    );
106        $tables_auxiliaires['spip_organisations_contacts'] =
107                array('field' => &$organisations_contacts, 'key' => &$organisations_contacts_key);
108
109
110    //-- Table organisations_contacts -------------------------------------
111    $contacts_liens = array(
112        "id_contact"     => "BIGINT(21) NOT NULL",
113        "id_objet"    => "BIGINT(21) NOT NULL",
114        "objet"    => "VARCHAR(25) NOT NULL",
115    );
116    $contacts_liens_key = array(
117        "PRIMARY KEY"   => "id_contact, id_objet, objet",
118                "KEY id_contact"        => "id_contact"
119    );
120        $tables_auxiliaires['spip_contacts_liens'] =
121                array('field' => &$contacts_liens, 'key' => &$contacts_liens_key);
122
123       
124        return $tables_auxiliaires;
125}
126
127?>
Note: See TracBrowser for help on using the repository browser.