source: spip-zone/_core_/plugins/mots/base/mots.php @ 41559

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

Les mots en spip_mots_liens.
Il reste certainement des bugs.

File size: 4.9 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2009                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13/**
14 * Interfaces des tables mots et groupes de mots pour le compilateur
15 *
16 * @param array $interfaces
17 * @return array
18 */
19function mots_declarer_tables_interfaces($interfaces){
20
21        $interfaces['table_des_tables']['mots']='mots';
22        $interfaces['table_des_tables']['groupes_mots']='groupes_mots';
23
24
25        $interfaces['table_date']['groupes_mots'] = 'date';
26        $interfaces['table_date']['mots'] = 'date';
27
28        $interfaces['table_titre']['mots'] = "titre, '' AS lang";
29
30        $interfaces['tables_jointures']['spip_articles'][]= 'mots_liens';
31        $interfaces['tables_jointures']['spip_articles'][]= 'mots';
32       
33        $interfaces['tables_jointures']['spip_breves'][]= 'mots_liens';
34        $interfaces['tables_jointures']['spip_breves'][]= 'mots';
35       
36        $interfaces['tables_jointures']['spip_documents'][]= 'mots_liens';
37        $interfaces['tables_jointures']['spip_documents'][]= 'mots';
38       
39        $interfaces['tables_jointures']['spip_rubriques'][]= 'mots_liens';
40        $interfaces['tables_jointures']['spip_rubriques'][]= 'mots';
41       
42        $interfaces['tables_jointures']['spip_syndic'][]= 'mots_liens';
43        $interfaces['tables_jointures']['spip_syndic'][]= 'mots';
44       
45        $interfaces['tables_jointures']['spip_syndic_articles'][]= 'mots_liens';
46        $interfaces['tables_jointures']['spip_syndic_articles'][]= 'mots';
47       
48        $interfaces['tables_jointures']['spip_mots'][]= 'mots_liens';
49       
50        $interfaces['tables_jointures']['spip_groupes_mots'][]= 'mots';
51
52        $interfaces['exceptions_des_jointures']['type_mot'] = array('spip_mots', 'type');
53        $interfaces['exceptions_des_jointures']['id_mot_syndic'] = array('spip_mots_liens', 'id_mot');
54        $interfaces['exceptions_des_jointures']['titre_mot_syndic'] = array('spip_mots', 'titre');
55        $interfaces['exceptions_des_jointures']['type_mot_syndic'] = array('spip_mots', 'type');
56
57        return $interfaces;
58}
59
60/**
61 * Table principale spip_mots
62 *
63 * @param array $tables_principales
64 * @return array
65 */
66function mots_declarer_tables_principales($tables_principales){
67
68
69        $spip_mots = array(
70                        "id_mot"        => "bigint(21) NOT NULL",
71                        "titre" => "text DEFAULT '' NOT NULL",
72                        "descriptif"    => "text DEFAULT '' NOT NULL",
73                        "texte" => "longtext DEFAULT '' NOT NULL",
74                        "id_groupe"     => "bigint(21) DEFAULT 0 NOT NULL",
75                        "type"  => "text DEFAULT '' NOT NULL",
76                        "maj"   => "TIMESTAMP");
77
78        $spip_mots_key = array(
79                        "PRIMARY KEY"   => "id_mot",
80        );
81
82        $tables_principales['spip_mots']     =
83                array('field' => &$spip_mots, 'key' => &$spip_mots_key);
84
85               
86        $spip_groupes_mots = array(
87                        "id_groupe"     => "bigint(21) NOT NULL",
88                        "titre" => "text DEFAULT '' NOT NULL",
89                        "descriptif"    => "text DEFAULT '' NOT NULL",
90                        "texte" => "longtext DEFAULT '' NOT NULL",
91                        "unseul"        => "varchar(3) DEFAULT '' NOT NULL",
92                        "obligatoire"   => "varchar(3) DEFAULT '' NOT NULL",
93                        "tables_liees" => "text DEFAULT '' NOT NULL",
94                        "minirezo"      => "varchar(3) DEFAULT '' NOT NULL",
95                        "comite"        => "varchar(3) DEFAULT '' NOT NULL",
96                        "forum" => "varchar(3) DEFAULT '' NOT NULL",
97                        "maj"   => "TIMESTAMP");
98
99        $spip_groupes_mots_key = array(
100                        "PRIMARY KEY"   => "id_groupe");
101                       
102        $tables_principales['spip_groupes_mots'] =
103                array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
104
105
106        return $tables_principales;
107}
108
109/**
110 * Table auxilaire spip_mots_xx
111 *
112 * @param array $tables_principales
113 * @return array
114 */
115function mots_declarer_tables_auxiliaires($tables_auxiliaires){
116
117        $spip_mots_liens = array(
118                        "id_mot"        => "bigint(21) DEFAULT '0' NOT NULL",
119                        "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
120                        "objet" => "VARCHAR (25) DEFAULT '' NOT NULL");
121
122        $spip_mots_liens_key = array(
123                        "PRIMARY KEY"           => "id_mot,id_objet,objet",
124                        "KEY id_mot"    => "id_mot");
125
126        $tables_auxiliaires['spip_mots_liens'] =
127                array('field' => &$spip_mots_liens, 'key' => &$spip_mots_liens_key);
128               
129        return $tables_auxiliaires;
130}
131
132
133
134
135/**
136 * Declarer le surnom des groupes de mots
137 *
138 * @param array $table
139 * @return array
140 */
141function mots_declarer_tables_objets_surnoms($table){
142        $table['groupe_mots'] = 'groupes_mots'; # hum
143        $table['groupe_mot'] = 'groupes_mots'; # hum
144        $table['groupe'] = 'groupes_mots'; # hum (EXPOSE)
145        $table['mot'] = 'mots';
146        return $table;
147}
148
149/**
150 * Alias de type pour les groupes de mot
151 * @param array $table
152 * @return string
153 */
154function mots_declarer_type_surnoms($table) {
155        $table['groupes_mot'] = 'groupe_mots';
156        $table['mot-cle'] = 'mot'; // pour les icones...
157        return $table;
158}
159
160?>
Note: See TracBrowser for help on using the repository browser.