source: spip-zone/_plugins_/zotspip/branches/declarer_tables_objets_sql/base/zotspip.php @ 125417

Last change on this file since 125417 was 125417, checked in by b_b, 5 months ago

déclarer la talbe principale du plugin par le biais du pipeline declarer_tables_objets_sql()

ainsi on peut ajouter des champs extras aux items de zotero

File size: 4.6 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7function zotspip_declarer_tables_interfaces($interface){
8        // 'spip_' dans l'index de $tables_principales
9        $interface['table_des_tables']['zitems']='zitems';
10        $interface['table_des_tables']['zcollections']='zcollections';
11        $interface['table_des_tables']['ztags']='ztags';
12        $interface['table_des_tables']['zcreators']='zcreators';
13       
14        //-- Jointures ----------------------------------------------------
15        $interface['tables_jointures']['spip_zitems'][]= 'ztags';
16        $interface['tables_jointures']['spip_zitems'][]= 'zcreators';
17        $interface['tables_jointures']['spip_zitems'][]= 'zitems_zcollections';
18        $interface['tables_jointures']['spip_zcollections'][]= 'zitems_zcollections';
19        $interface['tables_jointures']['spip_ztags'][]= 'zitems';
20        $interface['tables_jointures']['spip_zcreators'][]= 'zitems';
21
22        return $interface;
23}
24
25function zotspip_declarer_tables_objets_sql($tables){
26        //-- Table zitems -----------------------------------------------------------
27        $tables['spip_zitems'] = array(
28                'type' => 'zitem',
29                'principale' => 'oui',
30                'texte_objet' => 'zotero:zitem_singulier',
31                'texte_objets' => 'zotero:zitem_pluriel',
32                'icone_objet' => 'zotero',
33                'field' => array(
34                        "id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
35                        "id_parent" => "varchar(16) DEFAULT '' NOT NULL",
36                        "type_ref" => "varchar(255) DEFAULT '' NOT NULL",
37                        "annee" => "smallint(6)",
38                        "titre" => "text DEFAULT '' NOT NULL",
39                        "auteurs" => "text DEFAULT '' NOT NULL",
40                        "resume" => "mediumtext DEFAULT '' NOT NULL",
41                        "date" => "varchar(255) DEFAULT '' NOT NULL",
42                        "pages" => "varchar(255) DEFAULT '' NOT NULL",
43                        "publication" => "text DEFAULT '' NOT NULL",
44                        "editeur" => "text DEFAULT '' NOT NULL",
45                        "collection" => "varchar(255) DEFAULT '' NOT NULL",
46                        "conference" => "text DEFAULT '' NOT NULL",
47                        "type_doc" => "text DEFAULT '' NOT NULL",
48                        "volume" => "varchar(255) DEFAULT '' NOT NULL",
49                        "numero" => "varchar(255) DEFAULT '' NOT NULL",
50                        "doi" => "varchar(255) DEFAULT '' NOT NULL",
51                        "isbn" => "varchar(255) DEFAULT '' NOT NULL",
52                        "issn" => "varchar(255) DEFAULT '' NOT NULL",
53                        "url" => "text DEFAULT '' NOT NULL",
54                        "extras" => "text DEFAULT '' NOT NULL",
55                        "mimetype" => "varchar(255) DEFAULT '' NOT NULL",
56                        "poids" => "bigint",
57                        "fichier" => "text DEFAULT '' NOT NULL",
58                        "json" => "mediumtext DEFAULT '' NOT NULL",
59                        "csljson" => "mediumtext DEFAULT '' NOT NULL",
60                        "updated" => "varchar(50) DEFAULT '' NOT NULL",
61                        "date_ajout"=> "varchar(50) DEFAULT '' NOT NULL"
62                ),
63                'key' => array(
64                        "PRIMARY KEY" => "id_zitem",
65                        "KEY id_parent" => "id_parent"
66                )
67        );
68        return $tables;
69}
70
71function zotspip_declarer_tables_auxiliaires($tables_auxiliaires){
72        //-- Table zcollections -----------------------------------------------------------
73        $zcollections = array(
74                "id_zcollection" => "varchar(16) DEFAULT '' NOT NULL",
75                "id_parent" => "varchar(16) DEFAULT '' NOT NULL",
76                "zcollection" => "text DEFAULT '' NOT NULL",
77                "updated" => "varchar(50) DEFAULT '' NOT NULL"
78        );
79       
80        $zcollections_cles = array(
81                "PRIMARY KEY" => "id_zcollection",
82                "KEY id_parent" => "id_parent"
83        );
84       
85        $tables_auxiliaires['spip_zcollections'] = array(
86                'field' => &$zcollections,
87                'key' => &$zcollections_cles
88        );
89       
90                //-- Table zcreators -----------------------------------------------------------
91        $zcreators = array(
92                "auteur" => "varchar(150) DEFAULT '' NOT NULL",
93                "id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
94                "role" => "varchar(30) DEFAULT '' NOT NULL",
95                "rang" => "smallint DEFAULT '1' NOT NULL"
96        );
97       
98        $zcreators_cles = array(
99                "PRIMARY KEY" => "auteur, id_zitem, role",
100                "KEY auteur" => "auteur"
101        );
102       
103        $tables_auxiliaires['spip_zcreators'] = array(
104                'field' => &$zcreators,
105                'key' => &$zcreators_cles
106        );
107       
108        //-- Table ztags -----------------------------------------------------------
109        $ztags = array(
110                "tag" => "varchar(255) DEFAULT '' NOT NULL",
111                "id_zitem" => "varchar(16) DEFAULT '' NOT NULL"
112        );
113       
114        $ztags_cles = array(
115                "PRIMARY KEY" => "tag, id_zitem",
116                "KEY tag" => "tag"
117        );
118       
119        $tables_auxiliaires['spip_ztags'] = array(
120                'field' => &$ztags,
121                'key' => &$ztags_cles
122        );
123        //-- Table zitems_zcollections -----------------------------------------------------------
124        $zitems_zcollections = array(
125                "id_zitem" => "varchar(16) DEFAULT '' NOT NULL",
126                "id_zcollection" => "varchar(16) DEFAULT '' NOT NULL"
127        );
128       
129        $zitems_zcollections_cles = array(
130                "PRIMARY KEY" => "id_zitem, id_zcollection",
131                "KEY id_zcollection" => "id_zcollection"
132        );
133       
134        $tables_auxiliaires['spip_zitems_zcollections'] = array(
135                'field' => &$zitems_zcollections,
136                'key' => &$zitems_zcollections_cles
137        );
138       
139        return $tables_auxiliaires;
140}
Note: See TracBrowser for help on using the repository browser.