Subversion Repositories Applications.papyrus

Rev

Rev 322 | Rev 334 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 322 Rev 330
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: pap_menu.fonct.php,v 1.13 2005-03-30 08:53:59 jpm Exp $
22
// CVS : $Id: pap_menu.fonct.php,v 1.14 2005-04-12 16:13:50 jpm Exp $
23
/**
23
/**
24
* Bibliothèque de fonction sur le rendu.
24
* Bibliothèque de fonction sur le rendu.
25
*
25
*
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
27
*
27
*
28
*@package Papyrus
28
*@package Papyrus
29
*@subpackage Fonctions
29
*@subpackage Fonctions
30
//Auteur original :
30
//Auteur original :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
34
*@author        Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
34
*@author        Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
35
*@copyright     Tela-Botanica 2000-2004
35
*@copyright     Tela-Botanica 2000-2004
36
*@version       $Revision: 1.13 $ $Date: 2005-03-30 08:53:59 $
36
*@version       $Revision: 1.14 $ $Date: 2005-04-12 16:13:50 $
37
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
38
*/
38
*/
39
 
39
 
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
41
// |                                            LISTE des FONCTIONS                                       |
41
// |                                            LISTE des FONCTIONS                                       |
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
43
 
43
 
44
/** Fonction GEN_donnerProfondeurMax() - Renvoie le nombre de niveau de menu.
44
/** Fonction GEN_donnerProfondeurMax() - Renvoie le nombre de niveau de menu.
45
*
45
*
46
* Cette fonction calcule, pour un menu donné, le nombre de niveau de menu fils complétant 
46
* Cette fonction calcule, pour un menu donné, le nombre de niveau de menu fils complétant 
47
* l'arbre des menus jusqu'au feuilles.
47
* l'arbre des menus jusqu'au feuilles.
48
* Ici on l'utilise en passant l'argument égal à zéro c'est à dire
48
* Ici on l'utilise en passant l'argument égal à zéro c'est à dire
49
* en partant du menu racine d'un site gmr_id_menu_02 = 0.
49
* en partant du menu racine d'un site gmr_id_menu_02 = 0.
50
* C'est une fonction récursive.
50
* C'est une fonction récursive.
51
* Noter que la variable $prof est statique.
51
* Noter que la variable $prof est statique.
52
*
52
*
53
* @param integer identifiant du site sur lequel la profondeur est calculé.
53
* @param integer identifiant du site sur lequel la profondeur est calculé.
54
* @param integer identifiant du menu à partir delaquelle on souhaite calculer la profondeur.
54
* @param integer identifiant du menu à partir delaquelle on souhaite calculer la profondeur.
55
* @return integer le nombre de niveau de menu.
55
* @return integer le nombre de niveau de menu.
56
*/
56
*/
57
function GEN_donnerProfondeurMax($id_site, $id_menu)
57
function GEN_donnerProfondeurMax($id_site, $id_menu)
58
{
58
{
59
    global $db;
59
    global $db;
60
    static $prof = 0;
60
    static $prof = 0;
61
    
61
    
62
    // Requête sur les relations de type "avoir père" entre menus
62
    // Requête sur les relations de type "avoir père" entre menus
63
    $requete =  'SELECT gmr_id_menu_01 '.
63
    $requete =  'SELECT gmr_id_menu_01 '.
64
                'FROM gen_menu, gen_menu_relation '.
64
                'FROM gen_menu, gen_menu_relation '.
65
                'WHERE gmr_id_menu_02 = '.$id_menu.' '.
65
                'WHERE gmr_id_menu_02 = '.$id_menu.' '.
66
                'AND gmr_id_menu_01 = gm_id_menu '.
66
                'AND gmr_id_menu_01 = gm_id_menu '.
67
                'AND gm_ce_site = '.$id_site.' '.
67
                'AND gm_ce_site = '.$id_site.' '.
68
                'AND gmr_id_valeur = 1 '.
68
                'AND gmr_id_valeur = 1 '.
69
                'ORDER BY gmr_ordre ASC';
69
                'ORDER BY gmr_ordre ASC';
70
    
70
    
71
    $resultat = $db->query($requete);
71
    $resultat = $db->query($requete);
72
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
72
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
73
    
73
    
74
    if ($resultat->numRows() == 0) {
74
    if ($resultat->numRows() == 0) {
75
        return $prof;
75
        return $prof;
76
    }
76
    }
77
    $prof++;
77
    $prof++;
78
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
78
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
79
        $prof = GEN_donnerProfondeurMax($id_site, $ligne->gmr_id_menu_01);
79
        $prof = GEN_donnerProfondeurMax($id_site, $ligne->gmr_id_menu_01);
80
    }
80
    }
81
    return $prof;
81
    return $prof;
82
}
82
}
83
 
83
 
84
/** Fonction GEN_donnerDernierFreres() - Renvoie l'id du dernier menu frère.
84
/** Fonction GEN_donnerDernierFreres() - Renvoie l'id du dernier menu frère.
85
*
85
*
86
* Cette fonction regarde si un menu donné possède au moins un frère dans l'arbre
86
* Cette fonction regarde si un menu donné possède au moins un frère dans l'arbre
87
* des menus. Elle retourne l'id du dernier menu frére en utilisant gmr_ordre.
87
* des menus. Elle retourne l'id du dernier menu frére en utilisant gmr_ordre.
88
* Cette fonction fait appel à la fonction : GEN_lireIdentifiantMenuPere().
88
* Cette fonction fait appel à la fonction : GEN_lireIdentifiantMenuPere().
89
*
89
*
90
* @param integer identifiant du menu.
90
* @param integer identifiant du menu.
91
* @return boolean renvoi l'id du dernier menu frère sinon faux.
91
* @return boolean renvoi l'id du dernier menu frère sinon faux.
92
*/
92
*/
93
function GEN_donnerDernierFreres($id_menu)
93
function GEN_donnerDernierFreres($id_menu)
94
{
94
{
95
    // Initialisation des variables.
95
    // Initialisation des variables.
96
    global $db;
96
    global $db;
97
    
97
    
98
    $requete =  'SELECT gmr_id_menu_01 '.
98
    $requete =  'SELECT gmr_id_menu_01 '.
99
                'FROM gen_menu_relation '.
99
                'FROM gen_menu_relation '.
100
                'WHERE gmr_id_menu_02 = '.GEN_lireIdentifiantMenuPere($id_menu).' '.
100
                'WHERE gmr_id_menu_02 = '.GEN_lireIdentifiantMenuPere($id_menu).' '.
101
                'AND gmr_id_valeur = 1 '.
101
                'AND gmr_id_valeur = 1 '.
102
                'AND gmr_id_menu_01 <> '.$id_menu.' '.
102
                'AND gmr_id_menu_01 <> '.$id_menu.' '.
103
                'ORDER BY gmr_ordre DESC';
103
                'ORDER BY gmr_ordre DESC';
104
    
104
    
105
    $resultat = $db->query($requete);
105
    $resultat = $db->query($requete);
106
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
106
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
107
    
107
    
108
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
108
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
109
    if ($resultat->numRows() > 0) {
109
    if ($resultat->numRows() > 0) {
110
        return $ligne->gmr_id_menu_01;
110
        return $ligne->gmr_id_menu_01;
111
    } else {
111
    } else {
112
        return false;
112
        return false;
113
    }
113
    }
114
}
114
}
115
 
115
 
116
/** Fonction GEN_etreFreres() - Renvoie vrai si les menus ont le même père.
116
/** Fonction GEN_etreFreres() - Renvoie vrai si les menus ont le même père.
117
*
117
*
118
* Cette fonction regarde si deux menus donnés sont frères dans l'arbre
118
* Cette fonction regarde si deux menus donnés sont frères dans l'arbre
119
* des menus. Nous regardons si les menus ont le même identifiant comme père.
119
* des menus. Nous regardons si les menus ont le même identifiant comme père.
120
*
120
*
121
* @param integer identifiant du premier menu.
121
* @param integer identifiant du premier menu.
122
* @param integer identifiant du seconde menu.
122
* @param integer identifiant du seconde menu.
123
* @return boolean renvoi vrai si les deux menus sont frères sinon faux.
123
* @return boolean renvoi vrai si les deux menus sont frères sinon faux.
124
*/
124
*/
125
function GEN_etreFreres($id_menu_1, $id_menu_2)
125
function GEN_etreFreres($id_menu_1, $id_menu_2)
126
{
126
{
127
    // Initialisation des variables.
127
    // Initialisation des variables.
128
    global $db;
128
    global $db;
129
    
129
    
130
    $requete =  'SELECT gmr_id_menu_02 '.
130
    $requete =  'SELECT gmr_id_menu_02 '.
131
                'FROM gen_menu_relation '.
131
                'FROM gen_menu_relation '.
132
                'WHERE gmr_id_menu_01 = '.$id_menu_1.' '.
132
                'WHERE gmr_id_menu_01 = '.$id_menu_1.' '.
133
                'AND gmr_id_valeur = 1 ';
133
                'AND gmr_id_valeur = 1 ';
134
    
134
    
135
    $resultat = $db->query($requete);
135
    $resultat = $db->query($requete);
136
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
136
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
137
    
137
    
138
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
138
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
139
    $id_pere_1 = $ligne->gmr_id_menu_02;
139
    $id_pere_1 = $ligne->gmr_id_menu_02;
140
    $resultat->free();
140
    $resultat->free();
141
 
141
 
142
    $requete =  'SELECT gmr_id_menu_02 '.
142
    $requete =  'SELECT gmr_id_menu_02 '.
143
                'FROM gen_menu_relation '.
143
                'FROM gen_menu_relation '.
144
                'WHERE gmr_id_menu_01 = '.$id_menu_2.' '.
144
                'WHERE gmr_id_menu_01 = '.$id_menu_2.' '.
145
                'AND gmr_id_valeur = 1 ';
145
                'AND gmr_id_valeur = 1 ';
146
    
146
    
147
    $resultat = $db->query($requete);
147
    $resultat = $db->query($requete);
148
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
148
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
149
    
149
    
150
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
150
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
151
    $id_pere_2 = $ligne->gmr_id_menu_02;
151
    $id_pere_2 = $ligne->gmr_id_menu_02;
152
    $resultat->free();
152
    $resultat->free();
153
    
153
    
154
    return ($id_pere_1 == $id_pere_2);
154
    return ($id_pere_1 == $id_pere_2);
155
}
155
}
156
 
156
 
157
/** Fonction GEN_etreAncetre() - Renvoie vrai si le premier argument (identifiant de menu) est un ancètre du second.
157
/** Fonction GEN_etreAncetre() - Renvoie vrai si le premier argument (identifiant de menu) est un ancètre du second.
158
*
158
*
159
* Nous récupérons l'identifiant du père du menu passé en argument numéro 2. Puis,
159
* Nous récupérons l'identifiant du père du menu passé en argument numéro 2. Puis,
160
* nous le comparons à l'argument 1. Si c'est les même on retourne faux. Sinon on rapelle
160
* nous le comparons à l'argument 1. Si c'est les même on retourne faux. Sinon on rapelle
161
* la fonction avec l'identifiant du père trouvé pour l'argument 2. Ainsi de suite jusqu'a
161
* la fonction avec l'identifiant du père trouvé pour l'argument 2. Ainsi de suite jusqu'a
162
* renvoyé vrai où tomber sur un menu racine (idetifiant du père = 0).
162
* renvoyé vrai où tomber sur un menu racine (idetifiant du père = 0).
163
* Si les variable sont null nous retournons false.
163
* Si les variable sont null nous retournons false.
164
* C'est une fonction récursive.
164
* C'est une fonction récursive.
165
*
165
*
166
* @param integer identifiant d'un menu numéro 1.
166
* @param integer identifiant d'un menu numéro 1.
167
* @param integer identifiant d'un menu numéro 2.
167
* @param integer identifiant d'un menu numéro 2.
168
* @return boolean vrai si le menu numéro 1 est ancètre du second.
168
* @return boolean vrai si le menu numéro 1 est ancètre du second.
169
*/
169
*/
170
function GEN_etreAncetre($id_menu_1, $id_menu_2)
170
function GEN_etreAncetre($id_menu_1, $id_menu_2)
171
{
171
{
172
    //Test erreur
172
    //Test erreur
173
    if (is_null($id_menu_1) || is_null($id_menu_2)) {
173
    if (is_null($id_menu_1) || is_null($id_menu_2)) {
174
        return false;
174
        return false;
175
    }
175
    }
176
    
176
    
177
    // Initialisation des variables.
177
    // Initialisation des variables.
178
    global $db;
178
    global $db;
179
    
179
    
180
    $requete =  'SELECT gmr_id_menu_02 '.
180
    $requete =  'SELECT gmr_id_menu_02 '.
181
                'FROM gen_menu_relation '.
181
                'FROM gen_menu_relation '.
182
                'WHERE gmr_id_menu_01 = '.$id_menu_2.' '.
182
                'WHERE gmr_id_menu_01 = '.$id_menu_2.' '.
183
                'AND gmr_id_valeur = 1 ';
183
                'AND gmr_id_valeur = 1 ';
184
    
184
    
185
    $resultat = $db->query($requete);
185
    $resultat = $db->query($requete);
186
    (DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
186
    (DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
187
    
187
    
188
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
188
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
189
    $resultat->free();
189
    $resultat->free();
190
    if ($ligne->gmr_id_menu_02 == 0) {
190
    if ($ligne->gmr_id_menu_02 == 0) {
191
        return false;
191
        return false;
192
    } else if ($ligne->gmr_id_menu_02 == $id_menu_1) {
192
    } else if ($ligne->gmr_id_menu_02 == $id_menu_1) {
193
        return true;
193
        return true;
194
    } else {
194
    } else {
195
        return GEN_etreAncetre($id_menu_1, $ligne->gmr_id_menu_02);
195
        return GEN_etreAncetre($id_menu_1, $ligne->gmr_id_menu_02);
196
    }
196
    }
197
}
197
}
198
 
198
 
199
/** Fonction GEN_lireIdentifiantMenuAncetre() - Renvoie l'identifiant du menu ancètre du menu passé en paramètre.
199
/** Fonction GEN_lireIdentifiantMenuAncetre() - Renvoie l'identifiant du menu ancètre du menu passé en paramètre.
200
*
200
*
201
*   Cette fonction parcours la table gen_menu_relation et retourne l'identifiant du
201
*   Cette fonction parcours la table gen_menu_relation et retourne l'identifiant du
202
*   menu dont le père est le menu racine (identifiant = 0) pour le menu passé en paramètre.
202
*   menu dont le père est le menu racine (identifiant = 0) pour le menu passé en paramètre.
203
*
203
*
204
*   @global mixed   objet Pear DB de connexion à la base de données..
204
*   @global mixed   objet Pear DB de connexion à la base de données..
205
*   @param  int     identifiant du menu dont il faut rechercher le père.
205
*   @param  int     identifiant du menu dont il faut rechercher le père.
206
*   @return int     identifiant du menu ancètre du menu passé en paramètre.
206
*   @return int     identifiant du menu ancètre du menu passé en paramètre.
207
*/
207
*/
208
function GEN_lireIdentifiantMenuAncetre($id_menu)
208
function GEN_lireIdentifiantMenuAncetre($id_menu)
209
{
209
{
210
    global $db;
210
    global $db;
211
    // On teste si on est au niveau d'un menu racine i.e GM_ID_PERE=0
211
    // On teste si on est au niveau d'un menu racine i.e GM_ID_PERE=0
212
    $requete =  'SELECT gmr_id_menu_02 '.
212
    $requete =  'SELECT gmr_id_menu_02 '.
213
                'FROM gen_menu_relation '.
213
                'FROM gen_menu_relation '.
214
                'WHERE gmr_id_menu_01 = '.$id_menu.' '.
214
                'WHERE gmr_id_menu_01 = '.$id_menu.' '.
215
                'AND gmr_id_valeur = 1 ';// 1 = avoir "père"
215
                'AND gmr_id_valeur = 1 ';// 1 = avoir "père"
216
    
216
    
217
    $resultat = $db->query($requete);
217
    $resultat = $db->query($requete);
218
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
218
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
219
    
219
    
220
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
220
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
221
    $resultat->free();
221
    $resultat->free();
222
    
222
    
223
    // Dans le cas où le menu en paramètre est un menu racine
223
    // Dans le cas où le menu en paramètre est un menu racine
224
    if ($ligne->gmr_id_menu_02 == 0) {
224
    if ($ligne->gmr_id_menu_02 == 0) {
225
        return $id_menu;
225
        return $id_menu;
226
    }
226
    }
227
    
227
    
228
    return GEN_lireIdentifiantMenuAncetre($ligne->gmr_id_menu_02);
228
    return GEN_lireIdentifiantMenuAncetre($ligne->gmr_id_menu_02);
229
}
229
}
230
 
230
 
231
/** Fonction GEN_lireIdentifiantMenuPere() - Renvoie l'identifiant du père du menu passé en paramètre.
231
/** Fonction GEN_lireIdentifiantMenuPere() - Renvoie l'identifiant du père du menu passé en paramètre.
232
*
232
*
233
*   Cette fonction parcours la table gen_menu_relation et retourne l'identifiant du
233
*   Cette fonction parcours la table gen_menu_relation et retourne l'identifiant du
234
*   menu père du menu passé en paramètre.
234
*   menu père du menu passé en paramètre.
235
*
235
*
236
*   @global mixed   objet Pear DB de connexion à la base de données..
236
*   @global mixed   objet Pear DB de connexion à la base de données..
237
*   @param  int     l'identifiant du fils
237
*   @param  int     l'identifiant du fils
238
*   @return mixed   l'identifiant du père,ou false en cas d'erreur.
238
*   @return mixed   l'identifiant du père,ou false en cas d'erreur.
239
*/
239
*/
240
function GEN_lireIdentifiantMenuPere($id_menu)
240
function GEN_lireIdentifiantMenuPere($id_menu)
241
{
241
{
242
    global $db;
242
    global $db;
243
    
243
    
244
    $requete =  'SELECT gmr_id_menu_02 '.
244
    $requete =  'SELECT gmr_id_menu_02 '.
245
                'FROM gen_menu_relation '.
245
                'FROM gen_menu_relation '.
246
                'WHERE gmr_id_menu_01 = '.$id_menu.' '.
246
                'WHERE gmr_id_menu_01 = '.$id_menu.' '.
247
                'AND gmr_id_valeur = 1 ';// 1 = avoir "père"
247
                'AND gmr_id_valeur = 1 ';// 1 = avoir "père"
248
    
248
    
249
    $resultat = $db->getOne($requete) ;
249
    $resultat = $db->getOne($requete) ;
250
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
250
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
251
    
251
    
252
    return $resultat;
252
    return $resultat;
253
}
253
}
254
 
254
 
255
/** Fonction GEN_lireInfoMenu() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu
255
/** Fonction GEN_lireInfoMenu() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu
256
*
256
*
257
* Retourne la ligne de la table gen_menu concernant le menu ayant pour identifiant la valeur
257
* Retourne la ligne de la table gen_menu concernant le menu ayant pour identifiant la valeur
258
* passée en paramètre.
258
* passée en paramètre.
259
* Ancien nom : getLevel()
259
* Ancien nom : getLevel()
260
*
260
*
261
* @param  mixed     une instance de la classse Pear DB.
261
* @param  mixed     une instance de la classse Pear DB.
262
* @param  int       l'identifiant d'un menu.
262
* @param  int       l'identifiant d'un menu.
263
* @param  string    le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
263
* @param  string    le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
264
* @return  mixed    un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu, ou false en cas d'erreur.
264
* @return  mixed    un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu, ou false en cas d'erreur.
265
*/
265
*/
266
function GEN_lireInfoMenu($db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
266
function GEN_lireInfoMenu($db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
267
{
267
{
268
    //----------------------------------------------------------------------------
268
    //----------------------------------------------------------------------------
269
    // Gestion des erreurs
269
    // Gestion des erreurs
270
    
270
    
271
    //----------------------------------------------------------------------------
271
    //----------------------------------------------------------------------------
272
    // Recherche des informations sur le menu
272
    // Recherche des informations sur le menu
273
    $requete =  'SELECT * '.
273
    $requete =  'SELECT * '.
274
                'FROM gen_menu '.
274
                'FROM gen_menu '.
275
                'WHERE gm_id_menu = '.$id_menu;
275
                'WHERE gm_id_menu = '.$id_menu;
276
    
276
    
277
    $resultat = $db->query($requete);
277
    $resultat = $db->query($requete);
278
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
278
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
279
    
279
    
280
    if ($resultat->numRows() != 1) {
280
    if ($resultat->numRows() != 1) {
281
        return false;
281
        return false;
282
    }
282
    }
283
    
283
    
284
    //----------------------------------------------------------------------------
284
    //----------------------------------------------------------------------------
285
    // Récupération des infos
285
    // Récupération des infos
286
    $info_menu = $resultat->fetchRow($mode);
286
    $info_menu = $resultat->fetchRow($mode);
287
    $resultat->free();
287
    $resultat->free();
288
    
288
    
289
    return $info_menu;
289
    return $info_menu;
290
}
290
}
291
/** Fonction GEN_retournerMenuCodeNum() - Renvoie le code num d'un menu en fonction du code Alphanumérique
291
/** Fonction GEN_retournerMenuCodeNum() - Renvoie le code num d'un menu en fonction du code Alphanumérique
292
*
292
*
293
* Retourne le code numérique d'un menu en fonction du code alphanumérique.
293
* Retourne le code numérique d'un menu en fonction du code alphanumérique.
294
*
294
*
295
* @param  mixed  une instance de la classse Pear DB.
295
* @param  mixed  une instance de la classse Pear DB.
296
* @param  string le code alphanumérique d'un menu.
296
* @param  string le code alphanumérique d'un menu.
297
* @return mixed le code numérique du menu sinon false.
297
* @return mixed le code numérique du menu sinon false.
298
*/
298
*/
299
function GEN_retournerMenuCodeNum($db, $code_alphanum)
299
function GEN_retournerMenuCodeNum($db, $code_alphanum)
300
{
300
{
301
    //----------------------------------------------------------------------------
301
    //----------------------------------------------------------------------------
302
    // Recherche des informations sur le menu
302
    // Recherche des informations sur le menu
303
    $requete =  'SELECT gm_code_num '.
303
    $requete =  'SELECT gm_code_num '.
304
                'FROM gen_menu '.
304
                'FROM gen_menu '.
305
                'WHERE gm_code_alpha = "'.$code_alphanum.'"';
305
                'WHERE gm_code_alpha = "'.$code_alphanum.'"';
306
    
306
    
307
    $resultat = $db->query($requete);
307
    $resultat = $db->query($requete);
308
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
308
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
309
    
309
    
310
    if ($resultat->numRows() != 1) {
310
    if ($resultat->numRows() != 1) {
311
        return false;
311
        return false;
312
    }
312
    }
313
    
313
    
314
    //----------------------------------------------------------------------------
314
    //----------------------------------------------------------------------------
315
    // Récupération des infos
315
    // Récupération des infos
316
    $info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
316
    $info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
317
    $code_num = $info_menu->gm_code_num;
317
    $code_num = $info_menu->gm_code_num;
318
    $resultat->free();
318
    $resultat->free();
319
    
319
    
320
    return $code_num;
320
    return $code_num;
321
}
321
}
322
 
322
 
323
/** Fonction GEN_retournerMenuCodeAlpha() - Renvoie le code alphanumérique d'un menu en fonction du code numérique
323
/** Fonction GEN_retournerMenuCodeAlpha() - Renvoie le code alphanumérique d'un menu en fonction du code numérique
324
*
324
*
325
* Retourne le code alphanumérique d'un menu en fonction du code numérique.
325
* Retourne le code alphanumérique d'un menu en fonction du code numérique.
326
*
326
*
327
* @param  mixed  une instance de la classse Pear DB.
327
* @param  mixed  une instance de la classse Pear DB.
328
* @param  string le code numérique d'un menu.
328
* @param  string le code numérique d'un menu.
329
* @return mixed le code alphanumérique du menu sinon false.
329
* @return mixed le code alphanumérique du menu sinon false.
330
*/
330
*/
331
function GEN_retournerMenuCodeAlpha($db, $code_num)
331
function GEN_retournerMenuCodeAlpha($db, $code_num)
332
{
332
{
333
    //----------------------------------------------------------------------------
333
    //----------------------------------------------------------------------------
334
    // Recherche des informations sur le menu
334
    // Recherche des informations sur le menu
335
    $requete =  'SELECT gm_code_alpha '.
335
    $requete =  'SELECT gm_code_alpha '.
336
                'FROM gen_menu '.
336
                'FROM gen_menu '.
337
                'WHERE gm_code_num = '.$code_num;
337
                'WHERE gm_code_num = '.$code_num;
338
    
338
    
339
    $resultat = $db->query($requete);
339
    $resultat = $db->query($requete);
340
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
340
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
341
    
341
    
342
    if ($resultat->numRows() != 1) {
342
    if ($resultat->numRows() != 1) {
343
        return false;
343
        return false;
344
    }
344
    }
345
    
345
    
346
    //----------------------------------------------------------------------------
346
    //----------------------------------------------------------------------------
347
    // Récupération des infos
347
    // Récupération des infos
348
    $info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
348
    $info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
349
    $code_alphanum = $info_menu->gm_code_alpha;
349
    $code_alphanum = $info_menu->gm_code_alpha;
350
    $resultat->free();
350
    $resultat->free();
351
    
351
    
352
    return $code_alphanum;
352
    return $code_alphanum;
353
}
353
}
354
 
354
 
355
/** Fonction GEN_lireContenuMenu() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_contenu
355
/** Fonction GEN_lireContenuMenu() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_contenu
356
*
356
*
357
* Retourne la ligne de la table gen_menu_contenu concernant le menu ayant pour identifiant la valeur
357
* Retourne la ligne de la table gen_menu_contenu concernant le menu ayant pour identifiant la valeur
358
* passée en paramètre.
358
* passée en paramètre.
359
*
359
*
360
* @param  mixed     une instance de la classse Pear DB.
360
* @param  mixed     une instance de la classse Pear DB.
361
* @param  int       l'identifiant d'un menu.
361
* @param  int       l'identifiant d'un menu.
362
* @param  string    le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
362
* @param  string    le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
363
* @return  mixed    un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu_contenu, ou false en cas d'erreur.
363
* @return  mixed    un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu_contenu, ou false en cas d'erreur.
364
*/
364
*/
365
function GEN_lireContenuMenu($db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
365
function GEN_lireContenuMenu($db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
366
{
366
{
367
    //----------------------------------------------------------------------------
367
    //----------------------------------------------------------------------------
368
    // Gestion des erreurs
368
    // Gestion des erreurs
369
    
369
    
370
    //----------------------------------------------------------------------------
370
    //----------------------------------------------------------------------------
371
    // Recherche des informations sur le menu
371
    // Recherche des informations sur le menu
372
    $requete =  'SELECT * '.
372
    $requete =  'SELECT * '.
373
                'FROM gen_menu_contenu '.
373
                'FROM gen_menu_contenu '.
374
                'WHERE gmc_ce_menu = '.$id_menu;
374
                'WHERE gmc_ce_menu = '.$id_menu;
375
    
375
    
376
    $resultat = $db->query($requete);
376
    $resultat = $db->query($requete);
377
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
377
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
378
    
378
    
379
    if ($resultat->numRows() != 1) {
379
    if ($resultat->numRows() != 1) {
380
        return false;
380
        return false;
381
    }
381
    }
382
    
382
    
383
    //----------------------------------------------------------------------------
383
    //----------------------------------------------------------------------------
384
    // Récupération des infos
384
    // Récupération des infos
385
    $info_menu = $resultat->fetchRow($mode);
385
    $info_menu = $resultat->fetchRow($mode);
386
    $resultat->free();
386
    $resultat->free();
387
    
387
    
388
    return $info_menu;
388
    return $info_menu;
389
}
389
}
390
 
390
 
391
/** Fonction GEN_retournerMenus() - Renvoie un tableau contenant les id de l'ensemble des menus
391
/** Fonction GEN_retournerMenus() - Renvoie un tableau contenant les id de l'ensemble des menus
392
*
392
*
393
* Retourne un tableau contenant les id de l'ensemble des menus des différents sites de Papyrus.
393
* Retourne un tableau contenant les id de l'ensemble des menus des différents sites de Papyrus.
394
*
394
*
395
* @param  mixed     une instance de la classse Pear DB.
395
* @param  mixed     une instance de la classse Pear DB.
396
* @return array    tableau contenant les id de chaque menu.
396
* @return array    tableau contenant les id de chaque menu.
397
*/
397
*/
398
function GEN_retournerMenus($db)
398
function GEN_retournerMenus($db)
399
{
399
{
400
    //----------------------------------------------------------------------------
400
    //----------------------------------------------------------------------------
401
    // Gestion des erreurs
401
    // Gestion des erreurs
402
    
402
    
403
    //----------------------------------------------------------------------------
403
    //----------------------------------------------------------------------------
404
    // Recherche des informations sur le menu
404
    // Recherche des informations sur le menu
405
    $requete =  'SELECT gm_id_menu '.
405
    $requete =  'SELECT gm_id_menu '.
406
                'FROM gen_menu ';
406
                'FROM gen_menu ';
407
    
407
    
408
    $resultat = $db->query($requete);
408
    $resultat = $db->query($requete);
409
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
409
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
410
    
410
    
411
    //----------------------------------------------------------------------------
411
    //----------------------------------------------------------------------------
412
    // Récupération des infos
412
    // Récupération des infos
413
    $tab_retour = array();
413
    $tab_retour = array();
414
    while ($info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
414
    while ($info_menu = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
415
        array_push($tab_retour, $info_menu->gm_id_menu);
415
        array_push($tab_retour, $info_menu->gm_id_menu);
416
    }
416
    }
417
    $resultat->free();
417
    $resultat->free();
418
    
418
    
419
    return $tab_retour;
419
    return $tab_retour;
420
}
420
}
421
 
421
 
422
/** Fonction GEN_lireInfoMenuRelation() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_relation
422
/** Fonction GEN_lireInfoMenuRelation() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_relation
423
*
423
*
424
* Par défaut recherche une relation de type père.
424
* Par défaut recherche une relation de type père.
425
* Ancien nom : getMenuRelation().
425
* Ancien nom : getMenuRelation().
426
*
426
*
427
* @param  mixed   Une instance de la classse PEAR_DB
427
* @param  mixed   Une instance de la classse PEAR_DB
428
* @param  int  l'identifiant d'un menu.
428
* @param  int  l'identifiant d'un menu.
429
* @param  int  l'identifiant d'une valeur de relation.
429
* @param  int  l'identifiant d'une valeur de relation.
430
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
430
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
431
* @return  mixed   n objet ou tableau résultat Pear DB, ou false en cas d'erreur.
431
* @return  mixed  un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
432
*/
432
*/
433
function GEN_lireInfoMenuRelation($db, $menuid, $id_valeur = 1, $mode = DB_FETCHMODE_OBJECT)
433
function GEN_lireInfoMenuRelation($db, $menuid, $id_valeur = 1, $mode = DB_FETCHMODE_OBJECT)
434
{
434
{
435
    //----------------------------------------------------------------------------
435
    //----------------------------------------------------------------------------
436
    // Recherche des informations sur la relation de menu
436
    // Recherche des informations sur la relation de menu
437
    $requete =  'SELECT * '.
437
    $requete =  'SELECT * '.
438
                'FROM gen_menu_relation '.
438
                'FROM gen_menu_relation '.
439
                'WHERE gmr_id_menu_01 = '.$menuid.' '.
439
                'WHERE gmr_id_menu_01 = '.$menuid.' '.
440
                'AND gmr_id_valeur = '.$id_valeur;
440
                'AND gmr_id_valeur = '.$id_valeur;
441
    
441
    
442
    $result = $db->query($requete);
442
    $result = $db->query($requete);
443
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
443
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
444
    
444
    
445
    if ($result->numRows() != 1) {
445
    if ($result->numRows() != 1) {
446
        return false;
446
        return false;
447
    }
447
    }
448
    
448
    
449
    //----------------------------------------------------------------------------
449
    //----------------------------------------------------------------------------
450
    // Récupération des infos
450
    // Récupération des infos
451
    $info_menu_relation = $result->fetchRow($mode);
451
    $info_menu_relation = $result->fetchRow($mode);
452
    $result->free();
452
    $result->free();
453
    
453
    
454
    return $info_menu_relation;
454
    return $info_menu_relation;
455
}
455
}
456
 
456
 
457
/** Fonction GEN_verifierPresenceCodeMenu() - Vérifie l'existence d'un code de menu
457
/** Fonction GEN_verifierPresenceCodeMenu() - Vérifie l'existence d'un code de menu
458
*
458
*
459
* Permet de vérifier dans la base de données si le code fournie (alphanumérique ou numérique) a déjà
459
* Permet de vérifier dans la base de données si le code fournie (alphanumérique ou numérique) a déjà
460
* été attribué à un menu ou pas!
460
* été attribué à un menu ou pas!
461
*
461
*
462
* @param  mixed   Une instance de la classse PEAR_DB
462
* @param  mixed   Une instance de la classse PEAR_DB
463
* @param  string  le type du code (int ou string).
463
* @param  string  le type du code (int ou string).
464
* @param  integer l'identifiant du menu courant.
464
* @param  integer l'identifiant du menu courant.
465
* @param  mixed   le code numérique ou alphanumérique.
465
* @param  mixed   le code numérique ou alphanumérique.
466
* @return mixed   retourne l'identifiant du menu possédant le code sinon false.
466
* @return mixed   retourne l'identifiant du menu possédant le code sinon false.
467
*/
467
*/
468
function GEN_verifierPresenceCodeMenu($db, $type, $id_menu, $code)
468
function GEN_verifierPresenceCodeMenu($db, $type, $id_menu, $code)
469
{
469
{
470
    // Gestion des erreurs
470
    // Gestion des erreurs
471
    if ($code == '') {
471
    if ($code == '') {
472
        return true;
472
        return true;
473
    }
473
    }
474
    
474
    
475
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_menu
475
    // Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_menu
476
    $requete =  'SELECT gm_id_menu '.
476
    $requete =  'SELECT gm_id_menu '.
477
                'FROM gen_menu '.
477
                'FROM gen_menu '.
478
                'WHERE gm_id_menu <> '.$id_menu.' ';
478
                'WHERE gm_id_menu <> '.$id_menu.' ';
479
    
479
    
480
    // Complément de requête en fonction du type de code
480
    // Complément de requête en fonction du type de code
481
    if ($type == 'int') {
481
    if ($type == 'int') {
482
        $requete .= 'AND gm_code_num = '.$code;
482
        $requete .= 'AND gm_code_num = '.$code;
483
    } else {
483
    } else {
484
        $requete .= 'AND gm_code_alpha = "'.$code.'"';
484
        $requete .= 'AND gm_code_alpha = "'.$code.'"';
485
    }
485
    }
486
    $resultat = $db->query($requete);
486
    $resultat = $db->query($requete);
487
    if (DB::isError($resultat)) {
487
    if (DB::isError($resultat)) {
488
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
488
            die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
489
    }
489
    }
490
    $nombre_reponse = $resultat->numRows();
490
    $nombre_reponse = $resultat->numRows();
491
    if ($nombre_reponse >= 1) {
491
    if ($nombre_reponse >= 1) {
492
        return true;
492
        return true;
493
    } else {
493
    } else {
494
        return false;
494
        return false;
495
    }
495
    }
496
}
496
}
-
 
497
/** Fonction GEN_lireInfoMenuMotsCles() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
-
 
498
*
-
 
499
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des mots clés présents dans 
-
 
500
* la table gen_menu.
-
 
501
*
-
 
502
* @param  mixed   Une instance de la classse PEAR_DB
-
 
503
* @param  array  un tableau de mots clés.
-
 
504
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
-
 
505
* @param  boolean  true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
-
 
506
* @return  mixed   un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
-
 
507
*/
-
 
508
function GEN_lireInfoMenuMotsCles($db, $tab_mots, $mode = DB_FETCHMODE_OBJECT, $groupe = false)
-
 
509
{
-
 
510
    //----------------------------------------------------------------------------
-
 
511
    // Recherche des informations sur les menus en fonctions des mots clés
-
 
512
    $requete =  'SELECT DISTINCT * '.
-
 
513
                'FROM gen_menu '.
-
 
514
                'WHERE ';
-
 
515
    for ($i = 0; $i < count($tab_mots); $i++) {
-
 
516
        if ($i == 0) {
-
 
517
            $requete .= 'gm_mots_cles LIKE "%'.$tab_mots[$i].'%" ';
-
 
518
        } else {
-
 
519
            $requete .= 'OR gm_mots_cles LIKE "%'.$tab_mots[$i].'%" ';
-
 
520
        }
-
 
521
    }
-
 
522
    $aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
-
 
523
    (PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
-
 
524
    
-
 
525
    return $aso_info;
-
 
526
}
-
 
527
/** Fonction GEN_lireInfoMenuCategorie() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
-
 
528
*
-
 
529
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des catégories présentes dans 
-
 
530
* la table gen_menu.
-
 
531
*
-
 
532
* @param  mixed   Une instance de la classse PEAR_DB
-
 
533
* @param  array  un tableau de catégorie(s).
-
 
534
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
-
 
535
* @param  boolean  true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
-
 
536
* @return  mixed   un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
-
 
537
*/
-
 
538
function GEN_lireInfoMenuCategorie($db, $tab_categories, $mode = DB_FETCHMODE_OBJECT, $groupe = false)
-
 
539
{
-
 
540
    //----------------------------------------------------------------------------
-
 
541
    // Recherche des informations sur les menus en fonctions des mots clés
-
 
542
    $requete =  'SELECT DISTINCT * '.
-
 
543
                'FROM gen_menu '.
-
 
544
                'WHERE ';
-
 
545
    for ($i = 0; $i < count($tab_categories); $i++) {
-
 
546
        if ($i == 0) {
-
 
547
            $requete .= 'gm_categorie LIKE "%'.$tab_categories[$i].'%" ';
-
 
548
        } else {
-
 
549
            $requete .= 'OR gm_categorie LIKE "%'.$tab_categories[$i].'%" ';
-
 
550
        }
-
 
551
    }
-
 
552
    $aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
-
 
553
    (PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
-
 
554
    
-
 
555
    return $aso_info;
-
 
556
}
-
 
557
/** Fonction GEN_lireInfoMenuContenuDate() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
-
 
558
*
-
 
559
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des catégories présentes dans 
-
 
560
* la table gen_menu.
-
 
561
*
-
 
562
* @param  mixed   Une instance de la classse PEAR_DB
-
 
563
* @param  array  le nombre maximum de nouvelle page à retourner.
-
 
564
* @param  string  le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
-
 
565
* @param  boolean  true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
-
 
566
* @return  mixed   un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
-
 
567
*/
-
 
568
function GEN_lireInfoMenuContenuDate($db, $type_modif = '1, 2', $mode = DB_FETCHMODE_OBJECT, $groupe = false)
-
 
569
{
-
 
570
    //----------------------------------------------------------------------------
-
 
571
    // Recherche des informations sur les menus en fonctions des mots clés
-
 
572
    $requete =  'SELECT DISTINCT gen_menu.*, gmc_date_modification, gmc_resume_modification, gmc_ce_type_modification '.
-
 
573
                'FROM gen_menu, gen_menu_contenu '.
-
 
574
                'WHERE gmc_date_modification <= "'.date('Y-m-d h:i:s', time()).'" '.
-
 
575
                'AND gm_id_menu = gmc_ce_menu '.
-
 
576
                'AND gmc_bool_dernier = 1 '.
-
 
577
                'AND gmc_ce_type_modification IN ('.$type_modif.') '.
-
 
578
                'ORDER BY gmc_date_modification DESC';
-
 
579
    $aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
-
 
580
    (PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
497
 
581
    
-
 
582
    return $aso_info;
-
 
583
}
498
/* +--Fin du code ---------------------------------------------------------------------------------------+
584
/* +--Fin du code ---------------------------------------------------------------------------------------+
499
* $Log: not supported by cvs2svn $
585
* $Log: not supported by cvs2svn $
-
 
586
* Revision 1.13  2005/03/30 08:53:59  jpm
-
 
587
* Ajout de fonctions permettant de récupérer les codes alphanumériques ou numériques en fonction de l'un ou de l'autre.
-
 
588
*
500
* Revision 1.12  2005/02/28 11:12:03  jpm
589
* Revision 1.12  2005/02/28 11:12:03  jpm
501
* Modification des auteurs.
590
* Modification des auteurs.
502
*
591
*
503
* Revision 1.11  2004/12/06 19:49:35  jpm
592
* Revision 1.11  2004/12/06 19:49:35  jpm
504
* Ajout d'une fonction permettant de récupérer le contenu d'un menu.
593
* Ajout d'une fonction permettant de récupérer le contenu d'un menu.
505
*
594
*
506
* Revision 1.10  2004/12/06 17:53:55  jpm
595
* Revision 1.10  2004/12/06 17:53:55  jpm
507
* Ajout fonction GEN_retournerMenus().
596
* Ajout fonction GEN_retournerMenus().
508
*
597
*
509
* Revision 1.9  2004/11/29 18:34:42  jpm
598
* Revision 1.9  2004/11/29 18:34:42  jpm
510
* Correction bogue.
599
* Correction bogue.
511
*
600
*
512
* Revision 1.8  2004/11/10 17:25:51  jpm
601
* Revision 1.8  2004/11/10 17:25:51  jpm
513
* Modification de fonction suite à des bogues.
602
* Modification de fonction suite à des bogues.
514
*
603
*
515
* Revision 1.7  2004/11/09 17:55:26  jpm
604
* Revision 1.7  2004/11/09 17:55:26  jpm
516
* Suppresion de fonctions inutiles et mise en conformité.
605
* Suppresion de fonctions inutiles et mise en conformité.
517
*
606
*
518
* Revision 1.6  2004/11/08 17:39:32  jpm
607
* Revision 1.6  2004/11/08 17:39:32  jpm
519
* Suppression d'une fonction inutile.
608
* Suppression d'une fonction inutile.
520
* GEN_etreFils() n'est pas utile. On peut utiliser GEN_etreAncetre() à la place.
609
* GEN_etreFils() n'est pas utile. On peut utiliser GEN_etreAncetre() à la place.
521
*
610
*
522
* Revision 1.5  2004/11/04 12:51:45  jpm
611
* Revision 1.5  2004/11/04 12:51:45  jpm
523
* Suppression de message de débogage.
612
* Suppression de message de débogage.
524
*
613
*
525
* Revision 1.4  2004/11/04 12:23:50  jpm
614
* Revision 1.4  2004/11/04 12:23:50  jpm
526
* Nouvelles fonctions sur les menus frères.
615
* Nouvelles fonctions sur les menus frères.
527
*
616
*
528
* Revision 1.3  2004/10/25 14:16:21  jpm
617
* Revision 1.3  2004/10/25 14:16:21  jpm
529
* Suppression de code commenté.
618
* Suppression de code commenté.
530
*
619
*
531
* Revision 1.2  2004/10/21 18:15:21  jpm
620
* Revision 1.2  2004/10/21 18:15:21  jpm
532
* Ajout de gestion d'erreur aux fonctions.
621
* Ajout de gestion d'erreur aux fonctions.
533
*
622
*
534
* Revision 1.1  2004/06/15 15:11:37  jpm
623
* Revision 1.1  2004/06/15 15:11:37  jpm
535
* Changement de nom et d'arborescence de Genesia en Papyrus.
624
* Changement de nom et d'arborescence de Genesia en Papyrus.
536
*
625
*
537
* Revision 1.43  2004/05/05 06:13:27  jpm
626
* Revision 1.43  2004/05/05 06:13:27  jpm
538
* Extraction de la fonction générant le "vous êtes ici", transformée en applette.
627
* Extraction de la fonction générant le "vous êtes ici", transformée en applette.
539
*
628
*
540
* Revision 1.42  2004/05/04 16:24:06  jpm
629
* Revision 1.42  2004/05/04 16:24:06  jpm
541
* Amélioration de la fonction générant le "vous êtes ici".
630
* Amélioration de la fonction générant le "vous êtes ici".
542
*
631
*
543
* Revision 1.41  2004/05/04 16:17:31  jpm
632
* Revision 1.41  2004/05/04 16:17:31  jpm
544
* Ajout de la fonction générant le "vous êtes ici".
633
* Ajout de la fonction générant le "vous êtes ici".
545
*
634
*
546
* Revision 1.40  2004/05/03 11:18:17  jpm
635
* Revision 1.40  2004/05/03 11:18:17  jpm
547
* Normalisation de deux fonctions issues du fichier fontctions.php.
636
* Normalisation de deux fonctions issues du fichier fontctions.php.
548
*
637
*
549
* Revision 1.39  2004/05/01 16:17:11  jpm
638
* Revision 1.39  2004/05/01 16:17:11  jpm
550
* Suppression des fonctions liées à la création des listes de menu. Elles ont été transformées en applette.
639
* Suppression des fonctions liées à la création des listes de menu. Elles ont été transformées en applette.
551
*
640
*
552
* Revision 1.38  2004/05/01 11:43:16  jpm
641
* Revision 1.38  2004/05/01 11:43:16  jpm
553
* Suppression des fonction GEN_afficherMenuCommun() et GEN_afficherSelecteurSites() transformées en applette.
642
* Suppression des fonction GEN_afficherMenuCommun() et GEN_afficherSelecteurSites() transformées en applette.
554
*
643
*
555
* Revision 1.37  2004/04/30 16:18:41  jpm
644
* Revision 1.37  2004/04/30 16:18:41  jpm
556
* Correction d'un bogue dans les fonctions de gestion des scripts.
645
* Correction d'un bogue dans les fonctions de gestion des scripts.
557
*
646
*
558
* Revision 1.36  2004/04/28 12:04:40  jpm
647
* Revision 1.36  2004/04/28 12:04:40  jpm
559
* Changement du modèle de la base de données.
648
* Changement du modèle de la base de données.
560
*
649
*
561
* Revision 1.35  2004/04/09 16:23:41  jpm
650
* Revision 1.35  2004/04/09 16:23:41  jpm
562
* Prise en compte des tables i18n.
651
* Prise en compte des tables i18n.
563
*
652
*
564
* Revision 1.34  2004/04/02 16:34:44  jpm
653
* Revision 1.34  2004/04/02 16:34:44  jpm
565
* Extraction de variable globale des fonction, remplacé par un passage en paramètre.
654
* Extraction de variable globale des fonction, remplacé par un passage en paramètre.
566
*
655
*
567
* Revision 1.33  2004/04/01 11:24:51  jpm
656
* Revision 1.33  2004/04/01 11:24:51  jpm
568
* Ajout et modification de commentaires pour PhpDocumentor.
657
* Ajout et modification de commentaires pour PhpDocumentor.
569
*
658
*
570
* Revision 1.32  2004/03/31 16:52:30  jpm
659
* Revision 1.32  2004/03/31 16:52:30  jpm
571
* Modification du code vis à vis du modèle revision 1.9 de Génésia.
660
* Modification du code vis à vis du modèle revision 1.9 de Génésia.
572
*
661
*
573
* Revision 1.31  2004/03/29 17:13:05  jpm
662
* Revision 1.31  2004/03/29 17:13:05  jpm
574
* Suppression de fonction, passer en code classique.
663
* Suppression de fonction, passer en code classique.
575
*
664
*
576
* Revision 1.30  2004/03/27 11:11:58  jpm
665
* Revision 1.30  2004/03/27 11:11:58  jpm
577
* Début changement nom de variable dans fonction creerInfoPageEtApplication().
666
* Début changement nom de variable dans fonction creerInfoPageEtApplication().
578
*
667
*
579
* Revision 1.29  2004/03/26 12:52:25  jpm
668
* Revision 1.29  2004/03/26 12:52:25  jpm
580
* Ajout des fonctions creerInfoPageEtApplication() et donnerIdPremiereApplicationLiee().
669
* Ajout des fonctions creerInfoPageEtApplication() et donnerIdPremiereApplicationLiee().
581
*
670
*
582
* +-- Fin du code ----------------------------------------------------------------------------------------+
671
* +-- Fin du code ----------------------------------------------------------------------------------------+
583
*/
672
*/
584
?>
673
?>