Subversion Repositories Applications.papyrus

Rev

Rev 1677 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1677 Rev 2150
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
3
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
4
//
4
//
5
// Ce logiciel est un programme informatique servant à gérer du contenu et des
5
// Ce logiciel est un programme informatique servant à gérer du contenu et des
6
// applications web.
6
// applications web.
7
                                                                                                      
7
                                                                                                      
8
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
8
// Ce logiciel est régi par la licence CeCILL soumise au droit français et
9
// respectant les principes de diffusion des logiciels libres. Vous pouvez
9
// respectant les principes de diffusion des logiciels libres. Vous pouvez
10
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
10
// utiliser, modifier et/ou redistribuer ce programme sous les conditions
11
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
11
// de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
12
// sur le site "http://www.cecill.info".
12
// sur le site "http://www.cecill.info".
13
 
13
 
14
// En contrepartie de l'accessibilité au code source et des droits de copie,
14
// En contrepartie de l'accessibilité au code source et des droits de copie,
15
// de modification et de redistribution accordés par cette licence, il n'est
15
// de modification et de redistribution accordés par cette licence, il n'est
16
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
16
// offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
17
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
17
// seule une responsabilité restreinte pèse sur l'auteur du programme,  le
18
// titulaire des droits patrimoniaux et les concédants successifs.
18
// titulaire des droits patrimoniaux et les concédants successifs.
19
 
19
 
20
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
20
// A cet égard  l'attention de l'utilisateur est attirée sur les risques
21
// associés au chargement,  à l'utilisation,  à la modification et/ou au
21
// associés au chargement,  à l'utilisation,  à la modification et/ou au
22
// développement et à la reproduction du logiciel par l'utilisateur étant 
22
// développement et à la reproduction du logiciel par l'utilisateur étant 
23
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
23
// donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
24
// manipuler et qui le réserve donc à des développeurs et des professionnels
24
// manipuler et qui le réserve donc à des développeurs et des professionnels
25
// avertis possédant  des  connaissances  informatiques approfondies.  Les
25
// avertis possédant  des  connaissances  informatiques approfondies.  Les
26
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
26
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
27
// logiciel à leurs besoins dans des conditions permettant d'assurer la
27
// logiciel à leurs besoins dans des conditions permettant d'assurer la
28
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
28
// sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
29
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
29
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
30
 
30
 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
33
// termes.
33
// termes.
34
// ----
34
// ----
35
// CVS : $Id: adme_menu_classique.fonct.php,v 1.42 2007-10-25 14:26:56 ddelon Exp $
35
// CVS : $Id: adme_menu_classique.fonct.php,v 1.42 2007-10-25 14:26:56 ddelon Exp $
36
/**
36
/**
37
* Fonctions de gestion des menus classiques
37
* Fonctions de gestion des menus classiques
38
*
38
*
39
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
39
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
40
* Par menus classiques nous entendons tous les menus devant paraitre dans l'arborescences 
40
* Par menus classiques nous entendons tous les menus devant paraitre dans l'arborescences 
41
* des menus disponibles pour le site courant.
41
* des menus disponibles pour le site courant.
42
*
42
*
43
*@package Admin_menu
43
*@package Admin_menu
44
*@subpackage Fonctions
44
*@subpackage Fonctions
45
//Auteur original :
45
//Auteur original :
46
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
46
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
47
//Autres auteurs :
47
//Autres auteurs :
48
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
48
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
49
*@copyright     Tela-Botanica 2000-2004
49
*@copyright     Tela-Botanica 2000-2004
50
*@version       $Revision: 1.42 $ $Date: 2007-10-25 14:26:56 $
50
*@version       $Revision: 1.42 $ $Date: 2007-10-25 14:26:56 $
51
// +------------------------------------------------------------------------------------------------------+
51
// +------------------------------------------------------------------------------------------------------+
52
*/
52
*/
53
 
53
 
54
// +------------------------------------------------------------------------------------------------------+
54
// +------------------------------------------------------------------------------------------------------+
55
// |                                            ENTÊTE du PROGRAMME                                       |
55
// |                                            ENTÊTE du PROGRAMME                                       |
56
// +------------------------------------------------------------------------------------------------------+
56
// +------------------------------------------------------------------------------------------------------+
57
 
57
 
58
 
58
 
59
// +------------------------------------------------------------------------------------------------------+
59
// +------------------------------------------------------------------------------------------------------+
60
// |                                           LISTE de FONCTIONS                                         |
60
// |                                           LISTE de FONCTIONS                                         |
61
// +------------------------------------------------------------------------------------------------------+
61
// +------------------------------------------------------------------------------------------------------+
62
 
62
 
63
/** Fonction ADME_afficherListeMenuClassique () - Affiche un arbre de menu en xhtml
63
/** Fonction ADME_afficherListeMenuClassique () - Affiche un arbre de menu en xhtml
64
*
64
*
65
* Elle forme l'arbre des menus classiques à administrer.
65
* Elle forme l'arbre des menus classiques à administrer.
66
* Ancien nom : deployer_menu().
66
* Ancien nom : deployer_menu().
67
*
67
*
68
* @param  object objet Pear de connection à la base de données.
68
* @param  object objet Pear de connection à la base de données.
69
* @param  object objet Pear représentant l'url de base.
69
* @param  object objet Pear représentant l'url de base.
70
* @param  integer l'identifiant du menu à administrer.
70
* @param  integer l'identifiant du menu à administrer.
71
* @param  integer l'identifiant du menu sur lequel on agit.
71
* @param  integer l'identifiant du menu sur lequel on agit.
72
* @param  string le nom de l'action courante.
72
* @param  string le nom de l'action courante.
73
* @param  integer l'identifiant du menu en cours de déploiement.
73
* @param  integer l'identifiant du menu en cours de déploiement.
74
* @param  boolean true indique que l'on a à faire au premier appel de cette fonction récursive.
74
* @param  boolean true indique que l'on a à faire au premier appel de cette fonction récursive.
75
* @return string  le code XHTML constituant l'arbre des menus à administrer.
75
* @return string  le code XHTML constituant l'arbre des menus à administrer.
76
*/
76
*/
77
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true)
77
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true)
78
{
78
{
79
 
79
 
80
	
80
	
81
    // Initialisation des variables :
81
    // Initialisation des variables :
82
    $retour = '';
82
    $retour = '';
83
    
83
    
84
    // Est-ce que ces menus comporte des sous-menus ?
84
    // Est-ce que ces menus comporte des sous-menus ?
85
    $requete_sous_menu =    'SELECT gm_id_menu '.
85
    $requete_sous_menu =    'SELECT gm_id_menu '.
86
                            'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
86
                            'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
87
                            'WHERE GMR01.gmr_id_menu_02 = '.$id_menu_a_deployer.' '.
87
                            'WHERE GMR01.gmr_id_menu_02 = '.$id_menu_a_deployer.' '.
88
                            'AND GMR01.gmr_id_menu_01 = gm_id_menu '.
88
                            'AND GMR01.gmr_id_menu_01 = gm_id_menu '.
89
                            'AND gm_ce_site = '.$adme_site_id.' '.
89
                            'AND gm_ce_site = '.$adme_site_id.' '.
90
                            'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
90
                            'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
91
                            'AND GMR02.gmr_id_menu_02 = gm_id_menu '.
91
                            'AND GMR02.gmr_id_menu_02 = gm_id_menu '.
92
                            'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
92
                            'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
93
                            'AND GMR02.gmr_id_valeur = 100 '.// 100 = type "menu classique"
93
                            'AND GMR02.gmr_id_valeur = 100 '.// 100 = type "menu classique"
94
                            'ORDER BY GMR01.gmr_ordre ASC';
94
                            'ORDER BY GMR01.gmr_ordre ASC';
95
    
95
    
96
    $resultat_sous_menu = $db->query($requete_sous_menu) ;
96
    $resultat_sous_menu = $db->query($requete_sous_menu) ;
97
    if (DB::isError($resultat_sous_menu)) {
97
    if (DB::isError($resultat_sous_menu)) {
98
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu));
98
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu));
99
    }
99
    }
100
    
100
    
101
    // Gestion du stockage ou déstockage des menus ouverts
101
    // Gestion du stockage ou déstockage des menus ouverts
102
    if (($adme_action == ADME_LG_ACTION_DEPLIER || $adme_action == ADME_LG_ACTION_CLASSIQUE_AJOUTER) && $id_menu_a_deployer != 0) {
102
    if (($adme_action == ADME_LG_ACTION_DEPLIER || $adme_action == ADME_LG_ACTION_CLASSIQUE_AJOUTER) && $id_menu_a_deployer != 0) {
103
        $_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id] = $adme_menu_id;
103
        $_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id] = $adme_menu_id;
104
    }
104
    }
105
    if ($adme_action == ADME_LG_ACTION_PLIER && $id_menu_a_deployer != 0) {
105
    if ($adme_action == ADME_LG_ACTION_PLIER && $id_menu_a_deployer != 0) {
106
        unset($_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id]);
106
        unset($_SESSION['adme_menus_classiques_ouverts'][$adme_menu_id]);
107
        foreach ($_SESSION['adme_menus_classiques_ouverts'] as $val) {
107
        foreach ($_SESSION['adme_menus_classiques_ouverts'] as $val) {
108
            if (GEN_etreAncetre($adme_menu_id, $val)) {
108
            if (GEN_etreAncetre($adme_menu_id, $val)) {
109
                unset($_SESSION['adme_menus_classiques_ouverts'][$val]);
109
                unset($_SESSION['adme_menus_classiques_ouverts'][$val]);
110
            }
110
            }
111
        }
111
        }
112
    }
112
    }
113
    
113
    
114
    // Gestion affichage des menus
114
    // Gestion affichage des menus
115
    if ($resultat_sous_menu->numRows() > 0) {
115
    if ($resultat_sous_menu->numRows() > 0) {
116
        // Ici, on sait qu'un menu a des sous menus, on commence par l'afficher:
116
        // Ici, on sait qu'un menu a des sous menus, on commence par l'afficher:
117
        if ($bln_premier_appel == false) {
117
        if ($bln_premier_appel == false) {
118
            $retour .= '<li>'."\n";
118
            $retour .= '<li>'."\n";
119
            
119
            
120
            if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
120
            if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
121
                ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || 
121
                ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || 
122
                isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
122
                isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
123
                ){
123
                ){
124
                // Affiche un -
124
                // Affiche un -
125
                $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 1);
125
                $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 1);
126
            } else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
126
            } else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
127
                        ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_PLIER) || 
127
                        ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_PLIER) || 
128
                        !isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
128
                        !isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
129
                        ){
129
                        ){
130
                // Affiche un +
130
                // Affiche un +
131
                $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 2);
131
                $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 2);
132
            }
132
            }
133
        }
133
        }
134
        if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
134
        if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) || 
135
            ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || 
135
            ($id_menu_a_deployer == $adme_menu_id && $adme_action == ADME_LG_ACTION_DEPLIER) || 
136
            isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
136
            isset($_SESSION['adme_menus_classiques_ouverts'][$id_menu_a_deployer])
137
            ){
137
            ){
138
            $retour .= '<ul class="menu_classique">'."\n";
138
            $retour .= '<ul class="menu_classique">'."\n";
139
            while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
139
            while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
140
                $retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false);
140
                $retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false);
141
            }
141
            }
142
            $retour .= '</ul>'."\n";
142
            $retour .= '</ul>'."\n";
143
        }
143
        }
144
        if ($bln_premier_appel == false) {
144
        if ($bln_premier_appel == false) {
145
            $retour .= '</li>'."\n";
145
            $retour .= '</li>'."\n";
146
        }
146
        }
147
    } else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) {
147
    } else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) {
148
        $retour .= '<li>'."\n";
148
        $retour .= '<li>'."\n";
149
        $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 0);
149
        $retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 0);
150
        $retour .= '</li>'."\n";
150
        $retour .= '</li>'."\n";
151
    }
151
    }
152
    
152
    
153
    return $retour;
153
    return $retour;
154
}
154
}
155
 
155
 
156
/** Fonction ADME_retournerXhtmlMenuClassique() - Effectue une sortie d'un menu en XHTML
156
/** Fonction ADME_retournerXhtmlMenuClassique() - Effectue une sortie d'un menu en XHTML
157
*
157
*
158
* Retourne le XHTML d'une ligne de l'arbre des menus "classiques" permettant de l'administer.
158
* Retourne le XHTML d'une ligne de l'arbre des menus "classiques" permettant de l'administer.
159
* Ancien nom : menu_toHtml().
159
* Ancien nom : menu_toHtml().
160
*
160
*
161
* @param  object objet Pear de connection à la base de données.
161
* @param  object objet Pear de connection à la base de données.
162
* @param  object objet Pear représentant l'url de base.
162
* @param  object objet Pear représentant l'url de base.
163
* @param  integer l'identifiant du site à administrer.
163
* @param  integer l'identifiant du site à administrer.
164
* @param  integer l'identifiant du menu à administrer.
164
* @param  integer l'identifiant du menu à administrer.
165
* @param  integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +.
165
* @param  integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +.
166
* @return string une ligne de liste XHTML
166
* @return string une ligne de liste XHTML
167
*/
167
*/
168
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0)
168
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0)
169
{
169
{
170
    //-------------------------------------------------------------------------------------------------------------------
170
    //-------------------------------------------------------------------------------------------------------------------
171
    // Initialisation des variables
171
    // Initialisation des variables
172
 
172
 
173
    
173
    
174
    //-------------------------------------------------------------------------------------------------------------------
174
    //-------------------------------------------------------------------------------------------------------------------
175
    // Récupération des infos concernant l'administrateur d'un menu
175
    // Récupération des infos concernant l'administrateur d'un menu
176
    $requete =  'SELECT gen_menu.*, ga_prenom '.
176
    $requete =  'SELECT gen_menu.*, ga_prenom '.
177
                'FROM gen_menu, gen_annuaire '.
177
                'FROM gen_menu, gen_annuaire '.
178
                'WHERE gm_id_menu = '.$adme_menu_id.' '.
178
                'WHERE gm_id_menu = '.$adme_menu_id.' '.
179
                'AND gm_ce_admin = ga_id_administrateur';
179
                'AND gm_ce_admin = ga_id_administrateur';
180
    
180
    
181
    $resultat = $db->query($requete);
181
    $resultat = $db->query($requete);
182
    if (DB::isError($resultat)) {
182
    if (DB::isError($resultat)) {
183
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
183
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
184
    }
184
    }
185
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
185
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
186
    //-------------------------------------------------------------------------------------------------------------------
186
    //-------------------------------------------------------------------------------------------------------------------
187
    // Recupération des infos de l'appli du menu courant.
187
    // Recupération des infos de l'appli du menu courant.
188
    $ligne_app = GEN_retournerInfoAppliMenu($db, $adme_menu_id);
188
    $ligne_app = GEN_retournerInfoAppliMenu($db, $adme_menu_id);
189
    
189
    
190
    //-------------------------------------------------------------------------------------------------------------------
190
    //-------------------------------------------------------------------------------------------------------------------
191
    // XHTML image plier-déplier
191
    // XHTML image plier-déplier
192
    
192
    
193
    $url->addQueryString('adme_site_id', $adme_site_id);
193
    $url->addQueryString('adme_site_id', $adme_site_id);
194
    $url->addQueryString('adme_menu_id', $adme_menu_id);
194
    $url->addQueryString('adme_menu_id', $adme_menu_id);
195
    $xhtml_pd = '';
195
    $xhtml_pd = '';
-
 
196
    
-
 
197
    if(!$est_traduction) { 
-
 
198
        $xhtml_pd .= '<input type="checkbox" name="adme_id_menu_deplacement['.$adme_menu_id.']" id="adme_id_menu_deplacement" value="'.$adme_menu_id.'" />  ' ;
-
 
199
    }
-
 
200
        
196
    if ($int_deplier != 0) {
201
    if ($int_deplier != 0) {
197
        if ($int_deplier == 1) {
202
        if ($int_deplier == 1) {
198
            // Afficher un -
203
            // Afficher un -
199
            $image_plier_deplier = ADME_IMAGE_MOINS;
204
            $image_plier_deplier = ADME_IMAGE_MOINS;
200
            $alt = ADME_LG_ACTION_PLIER_ALT;
205
            $alt = ADME_LG_ACTION_PLIER_ALT;
201
            $url->addQueryString('adme_action', ADME_LG_ACTION_PLIER);
206
            $url->addQueryString('adme_action', ADME_LG_ACTION_PLIER);
202
            $url_plier_deplier = $url->getURL();
207
            $url_plier_deplier = $url->getURL();
203
        } else if ($int_deplier == 2) {
208
        } else if ($int_deplier == 2) {
204
            // Afficher un +
209
            // Afficher un +
205
            $image_plier_deplier = ADME_IMAGE_PLUS;
210
            $image_plier_deplier = ADME_IMAGE_PLUS;
206
            $alt = ADME_LG_ACTION_DEPLIER_ALT;
211
            $alt = ADME_LG_ACTION_DEPLIER_ALT;
207
            $url->addQueryString('adme_action', ADME_LG_ACTION_DEPLIER);
212
            $url->addQueryString('adme_action', ADME_LG_ACTION_DEPLIER);
208
            $url_plier_deplier = $url->getURL();
213
            $url_plier_deplier = $url->getURL();
209
        }
214
        }
210
        $xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'.
215
        $xhtml_pd .= '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'.
211
                        '<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'.
216
                        '<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'.
212
                    '</a>'.'&nbsp;'."\n";
217
                    '</a>'.'&nbsp;'."\n";
213
    }
218
    }
214
    
219
    
215
    //-------------------------------------------------------------------------------------------------------------------
220
    //-------------------------------------------------------------------------------------------------------------------
216
    // XHTML du nom du menu et de ses infos
221
    // XHTML du nom du menu et de ses infos
217
    $xhtml_info  = htmlentities(empty($ligne->gm_nom) ? ADME_LG_PARENTHESE_OUVRANTE.$ligne->gm_nom.ADME_LG_PARENTHESE_FERMANTE : $ligne->gm_nom);
222
    $xhtml_info  = htmlentities(empty($ligne->gm_nom) ? ADME_LG_PARENTHESE_OUVRANTE.$ligne->gm_nom.ADME_LG_PARENTHESE_FERMANTE : $ligne->gm_nom);
218
    $xhtml_info .= '&nbsp;';
223
    $xhtml_info .= '&nbsp;';
219
    if (!isset($ligne_app->gap_nom)) {
224
    if (!isset($ligne_app->gap_nom)) {
220
    	$gap_nom='';
225
    	$gap_nom='';
221
    }
226
    }
222
    else  {
227
    else  {
223
    	$gap_nom=$ligne_app->gap_nom;
228
    	$gap_nom=$ligne_app->gap_nom;
224
    }
229
    }
225
    $xhtml_info .= ADME_LG_PARENTHESE_OUVRANTE.$gap_nom.'&nbsp;'.ADME_LG_SLASH.'&nbsp;'.$ligne->ga_prenom.ADME_LG_PARENTHESE_FERMANTE;
230
    $xhtml_info .= ADME_LG_PARENTHESE_OUVRANTE.$gap_nom.'&nbsp;'.ADME_LG_SLASH.'&nbsp;'.$ligne->ga_prenom.ADME_LG_PARENTHESE_FERMANTE;
226
    $xhtml_info .= '&nbsp;'."\n";
231
    $xhtml_info .= '&nbsp;'."\n";
227
    
232
    
228
    //-------------------------------------------------------------------------------------------------------------------
233
    //-------------------------------------------------------------------------------------------------------------------
229
    // XHTML actions
234
    // XHTML actions
230
    $url->removeQueryString('adme_action');
235
    $url->removeQueryString('adme_action');
231
    
236
    
232
    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MODIFIER);
237
    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MODIFIER);
233
    $xhtml_action = '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE.'">'.
238
    $xhtml_action = '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_TITLE.'">'.
234
                        '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT.'" />'.
239
                        '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT.'" />'.
235
                    '</a>&nbsp;'."\n";
240
                    '</a>&nbsp;'."\n";
236
    $url->removeQueryString('adme_action');
241
    $url->removeQueryString('adme_action');
237
    if (!$est_traduction) {
242
    if (!$est_traduction) {
238
    	$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MONTER);
243
    	$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_MONTER);
239
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE.'">'.
244
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_MONTER_TITLE.'">'.
240
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_HAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MONTER_ALT.'" />'.
245
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_HAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_MONTER_ALT.'" />'.
241
            	            '</a>&nbsp;'."\n";
246
            	            '</a>&nbsp;'."\n";
242
    	$url->removeQueryString('adme_action');
247
    	$url->removeQueryString('adme_action');
243
    	$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_DESCENDRE);
248
    	$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_DESCENDRE);
244
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE.'">'.
249
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_TITLE.'">'.
245
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT.'" />'.
250
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DESCENDRE_ALT.'" />'.
246
            	            '</a>&nbsp;'."\n";
251
            	            '</a>&nbsp;'."\n";
247
                        
252
                        
248
		$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_DIMINUER);
253
		$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_DIMINUER);
249
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE.'">'.
254
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_TITLE.'">'.
250
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_GAUCHE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT.'" />'.
255
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_GAUCHE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_DIMINUER_ALT.'" />'.
251
            	            '</a>&nbsp;'."\n";
256
            	            '</a>&nbsp;'."\n";
252
    	$url->removeQueryString('adme_action');
257
    	$url->removeQueryString('adme_action');
253
    	$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_AUGMENTER);
258
    	$url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_AUGMENTER);
254
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE.'">'.
259
    	$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_TITLE.'">'.
255
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_DROITE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT.'" />'.
260
        	                    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_DROITE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AUGMENTER_ALT.'" />'.
256
            	            '</a>&nbsp;'."\n";
261
            	            '</a>&nbsp;'."\n";
257
    }
262
    }
258
    $url->removeQueryString('adme_action');
263
    $url->removeQueryString('adme_action');
259
    if (!$est_traduction) {
264
    if (!$est_traduction) {
260
    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER);
265
    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER);
261
    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
266
    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
262
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT.'" />'.
267
                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_ALT.'" />'.
263
                        '</a>&nbsp;'."\n";
268
                        '</a>&nbsp;'."\n";
264
    }
269
    }
265
    else {
270
    else {
266
    	    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION);
271
    	    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION);
267
    		$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
272
    		$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
268
                           		'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT.'" />'.
273
                           		'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION_ALT.'" />'.
269
                        		'</a>&nbsp;'."\n";
274
                        		'</a>&nbsp;'."\n";
270
    	
275
    	
271
    }
276
    }
272
    $url->removeQueryString('adme_action');
277
    $url->removeQueryString('adme_action');
273
    
278
    
274
    if (!$est_traduction) {
279
    if (!$est_traduction) {
275
	    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER);
280
	    $url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER);
276
	    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE.'">'.
281
	    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_TITLE.'">'.
277
	                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT.'" />'.
282
	                            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.ADME_LG_ACTION_CLASSIQUE_AJOUTER_ALT.'" />'.
278
	                        '</a>'.'&nbsp;'."\n";
283
	                        '</a>'.'&nbsp;'."\n";
279
    }
284
    }
280
    	                        
285
    	                        
281
    $url->removeQueryString('adme_action');
286
    $url->removeQueryString('adme_action');
282
    
287
    
283
    // Si le menu à une application liée on regarde s'il y a une interface d'administration.
288
    // Si le menu à une application liée on regarde s'il y a une interface d'administration.
284
    if (!isset($ligne_app->gap_id_application)) {
289
    if (!isset($ligne_app->gap_id_application)) {
285
    	$gap_id_application=0;
290
    	$gap_id_application=0;
286
    }
291
    }
287
    else  {
292
    else  {
288
    	$gap_id_application=$ligne_app->gap_id_application;
293
    	$gap_id_application=$ligne_app->gap_id_application;
289
    }
294
    }
290
    
295
    
291
    if ($gap_id_application != 0 && GEN_verifierPresenceInterfaceAdmin($db, $gap_id_application)) {
296
    if ($gap_id_application != 0 && GEN_verifierPresenceInterfaceAdmin($db, $gap_id_application)) {
292
        $url->removeQueryString('adme_action');
297
        $url->removeQueryString('adme_action');
293
        $url->addQueryString('adme_action', ADME_LG_ACTION_ADMINISTRER);
298
        $url->addQueryString('adme_action', ADME_LG_ACTION_ADMINISTRER);
294
        $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_ADMINISTRER_TITLE.'">'.
299
        $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_ADMINISTRER_TITLE.'">'.
295
                                '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.ADME_LG_ACTION_ADMINISTRER_ALT.'" />'.
300
                                '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.ADME_LG_ACTION_ADMINISTRER_ALT.'" />'.
296
                            '</a>'.'&nbsp;'."\n";
301
                            '</a>'.'&nbsp;'."\n";
297
    }
302
    }
298
    
303
    
299
    if (!$est_traduction) {
304
    if (!$est_traduction) {
300
    	
305
    	
301
			            
306
			            
302
			 $requete_traduction =   'SELECT gmr_id_menu_02,  gm_ce_i18n '.
307
			 $requete_traduction =   'SELECT gmr_id_menu_02,  gm_ce_i18n '.
303
			                                    'FROM  gen_menu_relation, gen_menu '.
308
			                                    'FROM  gen_menu_relation, gen_menu '.
304
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
309
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
305
			                                    'AND  gmr_id_menu_02  = gm_id_menu   '.
310
			                                    'AND  gmr_id_menu_02  = gm_id_menu   '.
306
			                                    'AND  gmr_id_valeur  = 2 ';// 2 = "avoir traduction"
311
			                                    'AND  gmr_id_valeur  = 2 ';// 2 = "avoir traduction"
307
			                
312
			                
308
			$resultat_traduction = $db->query($requete_traduction);
313
			$resultat_traduction = $db->query($requete_traduction);
309
			 (DB::isError($resultat_traduction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
314
			 (DB::isError($resultat_traduction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
310
			                : '';
315
			                : '';
311
			
316
			
312
	
317
	
313
    	
318
    	
314
			    $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE);
319
			    $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE);
315
			    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE.'">'.
320
			    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUIRE_TITLE.'">'.
316
	                        ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT.
321
	                        ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ALT.
317
	                        '</a>&nbsp;'."\n";
322
	                        '</a>&nbsp;'."\n";
318
	                        
323
	                        
319
 
324
 
320
// Restriction possible à une langue si pas traduit 	    				                                   
325
// Restriction possible à une langue si pas traduit 	    				                                   
321
 
326
 
322
				if ($resultat_traduction->numRows() == 0 ) {
327
				if ($resultat_traduction->numRows() == 0 ) {
323
 
328
 
324
		    	$requete_lang =  'SELECT * FROM gen_i18n ';
329
		    	$requete_lang =  'SELECT * FROM gen_i18n ';
325
        	        
330
        	        
326
 
331
 
327
		        $resultat_lang = $db->query($requete_lang);
332
		        $resultat_lang = $db->query($requete_lang);
328
		    	(DB::isError($resultat_lang)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_lang->getMessage(), $requete_lang)) : '';
333
		    	(DB::isError($resultat_lang)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_lang->getMessage(), $requete_lang)) : '';
329
    
334
    
330
        
335
        
331
        		$requete_restriction =    'SELECT gmr_id_menu_02 '.
336
        		$requete_restriction =    'SELECT gmr_id_menu_02 '.
332
			                                    'FROM  gen_menu_relation '.
337
			                                    'FROM  gen_menu_relation '.
333
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
338
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
334
			                                    'AND  gmr_id_valeur  = 106 ';// 106 restriction de menu
339
			                                    'AND  gmr_id_valeur  = 106 ';// 106 restriction de menu
335
				$resultat_restriction = $db->query($requete_restriction);
340
				$resultat_restriction = $db->query($requete_restriction);
336
				(DB::isError($resultat_restriction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_restriction->getMessage(), $requete_restriction))
341
				(DB::isError($resultat_restriction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_restriction->getMessage(), $requete_restriction))
337
				: '';
342
				: '';
338
	
343
	
339
								                                   
344
								                                   
340
				if ($resultat_restriction->numRows() == 0 ) {
345
				if ($resultat_restriction->numRows() == 0 ) {
341
					$restriction=0;
346
					$restriction=0;
342
				}
347
				}
343
				else {
348
				else {
344
					$restriction=1;
349
					$restriction=1;
345
				}
350
				}
346
					
351
					
347
			   while ($ligne_lang = $resultat_lang->fetchRow(DB_FETCHMODE_OBJECT) ) {
352
			   while ($ligne_lang = $resultat_lang->fetchRow(DB_FETCHMODE_OBJECT) ) {
348
			   	  if (($restriction) && ($ligne->gm_ce_i18n==$ligne_lang->gi_id_i18n)) {
353
			   	  if (($restriction) && ($ligne->gm_ce_i18n==$ligne_lang->gi_id_i18n)) {
349
			   	  	 $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_OUVRIR);
354
			   	  	 $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_OUVRIR);
350
			   	  	 $url->addQueryString('zone',$ligne_lang->gi_id_i18n);
355
			   	  	 $url->addQueryString('zone',$ligne_lang->gi_id_i18n);
351
				    $xhtml_action .=    '<i><b><a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_OUVRIR_TITLE.'">'.
356
				    $xhtml_action .=    '<i><b><a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_OUVRIR_TITLE.'">'.
352
				    		$ligne_lang->gi_id_i18n.
357
				    		$ligne_lang->gi_id_i18n.
353
	                        '</a></b></i>&nbsp;'."\n";
358
	                        '</a></b></i>&nbsp;'."\n";
354
			   	  	
359
			   	  	
355
			   	  }
360
			   	  }
356
			   	  else  {
361
			   	  else  {
357
	  				    $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_LIMITER);
362
	  				    $url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_LIMITER);
358
  					    $url->addQueryString('zone',$ligne_lang->gi_id_i18n);
363
  					    $url->addQueryString('zone',$ligne_lang->gi_id_i18n);
359
					    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_LIMITER_TITLE.'">'.
364
					    $xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_LIMITER_TITLE.'">'.
360
								$ligne_lang->gi_id_i18n.
365
								$ligne_lang->gi_id_i18n.
361
	            	            '</a>&nbsp;'."\n";
366
	            	            '</a>&nbsp;'."\n";
362
	            	
367
	            	
363
			   	  }
368
			   	  }
364
		        }
369
		        }
365
				
370
				
366
				
371
				
367
				                                   
372
				                                   
368
			}
373
			}
369
				
374
				
370
                            
375
                            
371
    }
376
    }
372
	else {
377
	else {
373
		if ($menu_traduction_defaut==$adme_menu_id) {
378
		if ($menu_traduction_defaut==$adme_menu_id) {
374
	        $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
379
	        $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
375
                            '&nbsp;'."\n";
380
                            '&nbsp;'."\n";
376
		}
381
		}
377
		else {
382
		else {
378
				$url->removeQueryString('adme_action');
383
				$url->removeQueryString('adme_action');
379
        		$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT);
384
        		$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT);
380
        		$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'.
385
        		$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'.
381
                                '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
386
                                '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
382
                            '</a>'.'&nbsp;'."\n";
387
                            '</a>'.'&nbsp;'."\n";
383
        
388
        
384
		}
389
		}
385
	}    
390
	}                               
386
	    
391
	    
387
    $xhtml_traduction='';
392
    $xhtml_traduction='';
388
    
393
    
389
//    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
394
//    $id_langue = $GLOBALS['_GEN_commun']['i18n'];
390
            
395
            
391
    $requete_traduction =   'SELECT gmr_id_menu_02,  gm_ce_i18n '.
396
    $requete_traduction =   'SELECT gmr_id_menu_02,  gm_ce_i18n '.
392
			                                    'FROM  gen_menu_relation, gen_menu '.
397
			                                    'FROM  gen_menu_relation, gen_menu '.
393
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
398
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
394
			                                    'AND  gmr_id_menu_02  = gm_id_menu   '.
399
			                                    'AND  gmr_id_menu_02  = gm_id_menu   '.
395
			                                    'AND  gmr_id_valeur  = 2 ';// 2 = "avoir traduction"
400
			                                    'AND  gmr_id_valeur  = 2 ';// 2 = "avoir traduction"
396
			                
401
			                
397
	$resultat_traduction = $db->query($requete_traduction);
402
	$resultat_traduction = $db->query($requete_traduction);
398
			        (DB::isError($resultat_traduction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
403
			        (DB::isError($resultat_traduction))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
399
			                : '';
404
			                : '';
400
	
405
	
401
	if ($resultat_traduction->numRows() > 0 ) {
406
	if ($resultat_traduction->numRows() > 0 ) {
402
	
407
	
403
			$requete_traduction_defaut =    'SELECT gmr_id_menu_02 '.
408
			$requete_traduction_defaut =    'SELECT gmr_id_menu_02 '.
404
			                                    'FROM  gen_menu_relation '.
409
			                                    'FROM  gen_menu_relation '.
405
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
410
			                                    'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
406
			                                    'AND  gmr_id_valeur  = 105 ';// 105 traduction par defaut
411
			                                    'AND  gmr_id_valeur  = 105 ';// 105 traduction par defaut
407
			$resultat_traduction_defaut = $db->query($requete_traduction_defaut);
412
			$resultat_traduction_defaut = $db->query($requete_traduction_defaut);
408
			(DB::isError($resultat_traduction_defaut))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut))
413
			(DB::isError($resultat_traduction_defaut))             ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut))
409
			: '';
414
			: '';
410
				                                   
415
				                                   
411
				                                   
416
				                                   
412
			if ($resultat_traduction_defaut->numRows() == 0 ) {
417
			if ($resultat_traduction_defaut->numRows() == 0 ) {
413
                $menu_traduction_defaut=0;
418
                $menu_traduction_defaut=0;
414
                $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
419
                $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
415
                            '&nbsp;'."\n";
420
                            '&nbsp;'."\n";
416
			}
421
			}
417
			else {
422
			else {
418
				
423
				
419
				
424
				
420
				$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT);
425
				$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT);
421
				$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02;
426
				$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02;
422
				
427
				
423
				if ($menu_traduction_defaut!=$adme_menu_id) {
428
				if ($menu_traduction_defaut!=$adme_menu_id) {
424
					$url->removeQueryString('adme_action');
429
					$url->removeQueryString('adme_action');
425
        			$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT);
430
        			$url->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT);
426
        			$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'.
431
        			$xhtml_action .=    '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_TITLE.'">'.
427
                    	            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
432
                    	            '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
428
                        	    '</a>'.'&nbsp;'."\n";
433
                        	    '</a>'.'&nbsp;'."\n";
429
				}
434
				}
430
				else {
435
				else {
431
				   $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
436
				   $xhtml_action .=    '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT_ALT.'" />'.
432
                            '&nbsp;'."\n";
437
                            '&nbsp;'."\n";
433
					
438
					
434
				}
439
				}
435
				
440
				
436
			}
441
			}
437
			
442
			
438
			while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {
443
			while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {
439
					$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.":&nbsp;".ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>";
444
					$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.":&nbsp;".ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>";
440
			
445
			
441
			}
446
			}
442
			
447
			
443
			
448
			
444
	} 
449
	} 
445
	
-
 
446
	
-
 
447
 
450
 
448
    //-------------------------------------------------------------------------------------------------------------------
451
    //-------------------------------------------------------------------------------------------------------------------
449
    // Envoi du menu.
452
    // Envoi du menu.
450
    //-------------------------------------------------------------------------------------------------------------------
453
    //-------------------------------------------------------------------------------------------------------------------
451
    
454
    
452
    
455
    
453
    $retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction;
456
    $retour = $xhtml_pd.$xhtml_info.$xhtml_action.$xhtml_traduction;
454
    
457
    
455
    return $retour;
458
    return $retour;
456
}
459
}
457
 
460
 
458
/** Fonction ADME_ajouterMenuClassique() - Ajoute un sous menu au menu courant
461
/** Fonction ADME_ajouterMenuClassique() - Ajoute un sous menu au menu courant
459
*
462
*
460
* Cette fonction permet d'ajouter un sous-menu de type "classique" au menu courant.
463
* Cette fonction permet d'ajouter un sous-menu de type "classique" au menu courant.
461
* Ancien nom : addMenu()
464
* Ancien nom : addMenu()
462
*
465
*
463
* @param  object objet Pear de connection à la base de données.
466
* @param  object objet Pear de connection à la base de données.
464
* @param  object objet Pear d'authentification.
467
* @param  object objet Pear d'authentification.
465
* @param  integer l'identifiant du site à administrer.
468
* @param  integer l'identifiant du site à administrer.
466
* @param  integer l'identifiant du menu à administrer.
469
* @param  integer l'identifiant du menu à administrer.
467
* @return void le menu classique est ajouté à la base de données.
470
* @return void le menu classique est ajouté à la base de données.
468
*/
471
*/
469
function ADME_ajouterMenuClassique($db, $auth, $adme_site_id, $adme_menu_id) 
472
function ADME_ajouterMenuClassique($db, $auth, $adme_site_id, $adme_menu_id) 
470
{
473
{
471
	
474
	
472
	$url=$GLOBALS['_GEN_commun']['url'];
475
	$url=$GLOBALS['_GEN_commun']['url'];
473
	$url->removeQueryString('adme_action');
476
	$url->removeQueryString('adme_action');
474
	
477
	
475
    //----------------------------------------------------------------------------
478
    //----------------------------------------------------------------------------
476
    // Récupération d'infos sur le site principal.
479
    // Récupération d'infos sur le site principal.
477
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
480
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
478
    if ($objet_site == false) {
481
    if ($objet_site == false) {
479
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
482
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
480
            'ID du site : '.$adme_site_id.'<br />'.
483
            'ID du site : '.$adme_site_id.'<br />'.
481
            'Ligne n° : '. __LINE__ .'<br />'.
484
            'Ligne n° : '. __LINE__ .'<br />'.
482
            'Fichier n° : '. __FILE__ .'<br />');
485
            'Fichier n° : '. __FILE__ .'<br />');
483
    }
486
    }
484
    
487
    
485
    $nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu');
488
    $nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu');
486
    $auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom');
489
    $auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom');
487
    
490
    
488
    //----------------------------------------------------------------------------
491
    //----------------------------------------------------------------------------
489
    // Ajout du nouveau menu
492
    // Ajout du nouveau menu
490
    $requete =  'INSERT INTO gen_menu '.
493
    $requete =  'INSERT INTO gen_menu '.
491
                'SET gm_id_menu = '.$nouveau_id_menu.', '.
494
                'SET gm_id_menu = '.$nouveau_id_menu.', '.
492
                'gm_ce_site = '.$adme_site_id.', '.
495
                'gm_ce_site = '.$adme_site_id.', '.
493
                'gm_ce_i18n = "'.$objet_site->gs_ce_i18n.'", '.
496
                'gm_ce_i18n = "'.$objet_site->gs_ce_i18n.'", '.
494
                'gm_ce_application = 0, '.
497
                'gm_ce_application = 0, '.
495
                'gm_code_num = '.$nouveau_id_menu.', '.
498
                'gm_code_num = '.$nouveau_id_menu.', '.
496
                'gm_code_alpha = "menu_'.$nouveau_id_menu.'", '.
499
                'gm_code_alpha = "menu_'.$nouveau_id_menu.'", '.
497
                'gm_nom = "menu_'.$nouveau_id_menu.'", '.
500
                'gm_nom = "menu_'.$nouveau_id_menu.'", '.
498
                'gm_titre = "menu_'.$nouveau_id_menu.'", '.
501
                'gm_titre = "menu_'.$nouveau_id_menu.'", '.
499
                'gm_description_resume = "menu_'.$nouveau_id_menu.'", '.
502
                'gm_description_resume = "menu_'.$nouveau_id_menu.'", '.
500
                'gm_auteur = "'.$auteur.'", '.
503
                'gm_auteur = "'.$auteur.'", '.
501
                'gm_editeur = "'.$objet_site->gs_auteur.'", '.
504
                'gm_editeur = "'.$objet_site->gs_auteur.'", '.
502
                'gm_date_creation = "'.date('Y-m-d H:i:s').'", '.
505
                'gm_date_creation = "'.date('Y-m-d H:i:s').'", '.
503
                'gm_date_soumission = "'.date('Y-m-d H:i:s').'", '.
506
                'gm_date_soumission = "'.date('Y-m-d H:i:s').'", '.
504
                'gm_date_acceptation = "'.date('Y-m-d H:i:s').'", '.
507
                'gm_date_acceptation = "'.date('Y-m-d H:i:s').'", '.
505
                'gm_date_publication = "'.date('Y-m-d H:i:s').'", '.
508
                'gm_date_publication = "'.date('Y-m-d H:i:s').'", '.
506
                'gm_date_debut_validite = "'.date('Y-m-d H:i:s').'", '.
509
                'gm_date_debut_validite = "'.date('Y-m-d H:i:s').'", '.
507
                'gm_date_fin_validite = "0000-00-00 00:00:00", '.
510
                'gm_date_fin_validite = "0000-00-00 00:00:00", '.
508
                'gm_date_copyright = "'.date('Y-00-00 00:00:00').'", '.
511
                'gm_date_copyright = "'.date('Y-00-00 00:00:00').'", '.
509
                'gm_categorie = "menu", '.
512
                'gm_categorie = "menu", '.
510
                'gm_ce_admin = '.$auth->getAuthData('ga_id_administrateur').' '
513
                'gm_ce_admin = '.$auth->getAuthData('ga_id_administrateur').' '
511
                ;
514
                ;
512
    
515
    
513
    $resultat = $db->query($requete);
516
    $resultat = $db->query($requete);
514
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
517
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
515
    
518
    
516
    //----------------------------------------------------------------------------
519
    //----------------------------------------------------------------------------
517
    // Ajout de la relation "père"
520
    // Ajout de la relation "père"
518
    
521
    
519
    if (!isset($adme_menu_id) && empty($adme_menu_id)) {
522
    if (!isset($adme_menu_id) && empty($adme_menu_id)) {
520
        $adme_menu_id = 0 ;// Identifiant du père
523
        $adme_menu_id = 0 ;// Identifiant du père
521
    }
524
    }
522
    //----------------------------------------------------------------------------
525
    //----------------------------------------------------------------------------
523
    // Récupération d'infos sur la hierarchie du menu
526
    // Récupération d'infos sur la hierarchie du menu
524
    $requete =  'SELECT GMR01.gmr_ordre '.
527
    $requete =  'SELECT GMR01.gmr_ordre '.
525
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
528
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
526
                'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '.
529
                'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '.
527
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
530
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
528
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
531
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
529
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
532
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
530
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
533
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
531
                'ORDER BY GMR01.gmr_ordre DESC';
534
                'ORDER BY GMR01.gmr_ordre DESC';
532
    
535
    
533
    $resultat = $db->query($requete);
536
    $resultat = $db->query($requete);
534
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
537
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
535
    
538
    
536
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
539
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
537
    $nouveau_ordre_menu = $ligne->gmr_ordre + 1;
540
    $nouveau_ordre_menu = $ligne->gmr_ordre + 1;
538
    $resultat->free();
541
    $resultat->free();
539
    
542
    
540
    $requete =  'INSERT INTO gen_menu_relation '.
543
    $requete =  'INSERT INTO gen_menu_relation '.
541
                'SET gmr_id_menu_02 = '.$adme_menu_id.', '.
544
                'SET gmr_id_menu_02 = '.$adme_menu_id.', '.
542
                'gmr_id_menu_01 = '.$nouveau_id_menu.', '.
545
                'gmr_id_menu_01 = '.$nouveau_id_menu.', '.
543
                'gmr_id_valeur = 1, '.
546
                'gmr_id_valeur = 1, '.
544
                'gmr_ordre = '.$nouveau_ordre_menu;
547
                'gmr_ordre = '.$nouveau_ordre_menu;
545
    
548
    
546
    $resultat = $db->query($requete);
549
    $resultat = $db->query($requete);
547
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
550
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
548
    
551
    
549
    //----------------------------------------------------------------------------
552
    //----------------------------------------------------------------------------
550
    // Ajout de la relation-type "menu classique"
553
    // Ajout de la relation-type "menu classique"
551
    
554
    
552
    // Récupération d'infos sur la hierarchie du menu
555
    // Récupération d'infos sur la hierarchie du menu
553
    $requete =  'SELECT * '.
556
    $requete =  'SELECT * '.
554
                'FROM gen_menu_relation, gen_menu '.
557
                'FROM gen_menu_relation, gen_menu '.
555
                'WHERE gmr_id_menu_02 = gmr_id_menu_01 '.
558
                'WHERE gmr_id_menu_02 = gmr_id_menu_01 '.
556
                'AND gmr_id_valeur = 100 '.// 100 = type menu "classique"
559
                'AND gmr_id_valeur = 100 '.// 100 = type menu "classique"
557
                'AND gmr_id_menu_01 = gm_id_menu '.
560
                'AND gmr_id_menu_01 = gm_id_menu '.
558
                'AND gm_ce_site = '.$adme_site_id.' '.
561
                'AND gm_ce_site = '.$adme_site_id.' '.
559
                'ORDER BY gmr_ordre DESC';
562
                'ORDER BY gmr_ordre DESC';
560
    
563
    
561
    $resultat = $db->query($requete);
564
    $resultat = $db->query($requete);
562
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
565
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
563
    
566
    
564
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
567
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
565
    $nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1;
568
    $nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1;
566
    $resultat->free();
569
    $resultat->free();
567
    
570
    
568
    $requete =  'INSERT INTO gen_menu_relation '.
571
    $requete =  'INSERT INTO gen_menu_relation '.
569
                'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '.
572
                'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '.
570
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
573
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
571
                'gmr_id_valeur = 100, '.
574
                'gmr_id_valeur = 100, '.
572
                'gmr_ordre = '.$nouveau_ordre_menu_classique;
575
                'gmr_ordre = '.$nouveau_ordre_menu_classique;
573
    
576
    
574
    $result = $db->query($requete);
577
    $result = $db->query($requete);
575
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
578
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
576
}
579
}
577
 
580
 
578
/** Fonction ADME_afficherFormMenuClassique() - Affiche le formulaire pour un menu classique
581
/** Fonction ADME_afficherFormMenuClassique() - Affiche le formulaire pour un menu classique
579
*
582
*
580
* Utilise HTML_QuickForm pour générer le formulaire.
583
* Utilise HTML_QuickForm pour générer le formulaire.
581
* Ancien nom : showMenu()
584
* Ancien nom : showMenu()
582
*
585
*
583
* @param  object  objet Pear de connection à la base de données.
586
* @param  object  objet Pear de connection à la base de données.
584
* @param  object objet Pear représentant l'url de base.
587
* @param  object objet Pear représentant l'url de base.
585
* @param  integer l'identifiant du site à administrer.
588
* @param  integer l'identifiant du site à administrer.
586
* @param  integer l'identifiant du menu à administrer.
589
* @param  integer l'identifiant du menu à administrer.
587
* @param  array le tableau associatif des valeurs à afficher dans le formulaire.
590
* @param  array le tableau associatif des valeurs à afficher dans le formulaire.
588
* @return  string  le formulaire XHTML.
591
* @return  string  le formulaire XHTML.
589
*/
592
*/
590
function ADME_afficherFormMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $aso_valeurs,$traduction=FALSE)
593
function ADME_afficherFormMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $aso_valeurs,$traduction=FALSE)
591
{
594
{
592
    // Initialisation de variable
595
    // Initialisation de variable
593
    $url->addQueryString('adme_site_id', $adme_site_id);
596
    $url->addQueryString('adme_site_id', $adme_site_id);
594
    $url->addQueryString('adme_menu_id', $adme_menu_id);
597
    $url->addQueryString('adme_menu_id', $adme_menu_id);
595
    $script = 'function switchMenu(obj) {
598
    $script = 'function switchMenu(obj) {
596
		var el = document.getElementById(obj);
599
		var el = document.getElementById(obj);
597
		if(el.style.display != "block")
600
		if(el.style.display != "block")
598
		{
601
		{
599
			el.style.display = "block";
602
			el.style.display = "block";
600
		}
603
		}
601
		else
604
		else
602
		{
605
		{
603
			el.style.display = "none";
606
			el.style.display = "none";
604
		}
607
		}
605
	}';
608
	}';
606
    GEN_stockerCodeScript($script);
609
    GEN_stockerCodeScript($script);
607
    // Nous sommes toujours en modification car un menu est ajouté automatiquement!
610
    // Nous sommes toujours en modification car un menu est ajouté automatiquement!
608
    // Récupération des informations du menu concerné.
611
    // Récupération des informations du menu concerné.
609
    if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
612
    if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
610
        $aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
613
        $aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
611
        if ($aso_valeurs === false) {
614
        if ($aso_valeurs === false) {
612
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
615
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
613
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
616
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
614
                'Ligne n° : '. __LINE__ .'<br />'.
617
                'Ligne n° : '. __LINE__ .'<br />'.
615
                'Fichier n° : '. __FILE__ .'<br />');
618
                'Fichier n° : '. __FILE__ .'<br />');
616
        }
619
        }
617
        // Requete pour récupérer les informations issues des relations du site à modifier
620
        // Requete pour récupérer les informations issues des relations du site à modifier
618
        $ligne = GEN_lireInfoMenuRelation($db, $adme_menu_id, $id_valeur = 101);
621
        $ligne = GEN_lireInfoMenuRelation($db, $adme_menu_id, $id_valeur = 101);
619
        $aso_valeurs['defaut'] = false;
622
        $aso_valeurs['defaut'] = false;
620
        if (isset($ligne) && !empty($ligne)) {
623
        if (isset($ligne) && !empty($ligne)) {
621
		    if ($ligne->gmr_id_valeur != false) {// 101 = site par défaut
624
		    if ($ligne->gmr_id_valeur != false) {// 101 = site par défaut
622
		        $aso_valeurs['defaut'] = true;
625
		        $aso_valeurs['defaut'] = true;
623
		    }
626
		    }
624
        }
627
        }
625
    }
628
    }
626
    
629
    
627
    // Titre de la page
630
    // Titre de la page
628
   
631
   
629
    if ($traduction) {
632
    if ($traduction) {
630
    	$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL_TRADUCTION.'</h1>'."\n";
633
    	$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL_TRADUCTION.'</h1>'."\n";
631
    }
634
    }
632
    else {
635
    else {
633
    	$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL.'</h1>'."\n";
636
    	$retour = '<h1>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_GENERAL.'</h1>'."\n";
634
    }
637
    }
635
 
638
 
636
	$retour .= '<p class="adme_menu_id" >'.ADME_LG_FORM_MENU_ID.'<span id="adme_menu_id">'.$aso_valeurs['gm_id_menu'].'</span></p>'."\n";    
639
	$retour .= '<p class="adme_menu_id" >'.ADME_LG_FORM_MENU_ID.'<span id="adme_menu_id">'.$aso_valeurs['gm_id_menu'].'</span></p>'."\n";    
637
    
640
    
638
    // Création du formulaire
641
    // Création du formulaire
639
    // Notes : Quickform semble remplacer les & des &amp; à nouveau par des &amp; solution utiliser str_replace()...
642
    // Notes : Quickform semble remplacer les & des &amp; à nouveau par des &amp; solution utiliser str_replace()...
640
    $form =& new HTML_QuickForm('form_menu_classique', 'post', str_replace('&amp;', '&', $url->getUrl()));
643
    $form =& new HTML_QuickForm('form_menu_classique', 'post', str_replace('&amp;', '&', $url->getUrl()));
641
    $tab_index = 1000;
644
    $tab_index = 1000;
642
    $squelette =& $form->defaultRenderer();
645
    $squelette =& $form->defaultRenderer();
643
    $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
646
    $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
644
	$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n".
647
	$squelette->setElementTemplate( '<p class="formulaire_element"><span class="form_label">'."\n".
645
		'{label}'."\n".
648
		'{label}'."\n".
646
		'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n".		
649
		'<!-- BEGIN required --><span style="color:red; width:5px; margin:0; padding:0;">*</span><!-- END required -->'."\n".		
647
		'</span>'."\n".'{element}'."\n".
650
		'</span>'."\n".'{element}'."\n".
648
		'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
651
		'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
649
		'</p>'."\n");
652
		'</p>'."\n");
650
	$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons');
653
	$squelette->setGroupElementTemplate('<p style="display:inline">{element}</p>', 'form_boutons');
651
	$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">*&nbsp;:&nbsp;{requiredNote}</p>'."\n");
654
	$squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">*&nbsp;:&nbsp;{requiredNote}</p>'."\n");
652
	//Note pour les erreurs javascript
655
	//Note pour les erreurs javascript
653
	$form->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies');
656
	$form->setJsWarnings('Erreur de saisie', 'Veuillez verifier vos informations saisies');
654
    // Note de fin de formulaire
657
    // Note de fin de formulaire
655
    $form->setRequiredNote(ADME_LG_FORM_TXT_CHP_OBLIGATOIRE);
658
    $form->setRequiredNote(ADME_LG_FORM_TXT_CHP_OBLIGATOIRE);
656
 
659
 
657
    $partie_menu_debut = '<fieldset>'."\n".'<legend>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG.'</legend>'."\n";
660
    $partie_menu_debut = '<fieldset>'."\n".'<legend>'.ADME_LG_FORM_MENU_CLASSIQUE_TITRE_CONFIG.'</legend>'."\n";
658
    $form->addElement('html', $partie_menu_debut);
661
    $form->addElement('html', $partie_menu_debut);
659
    
662
    
660
    $id = 'gm_code_alpha';
663
    $id = 'gm_code_alpha';
661
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 50);
664
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 50);
662
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_ALPHA.'</label>';
665
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_ALPHA.'</label>';
663
    $form->addElement('text', $id, $label, $aso_attributs);
666
    $form->addElement('text', $id, $label, $aso_attributs);
664
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_ALPHA, 'required', '', 'client');
667
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_ALPHA, 'required', '', 'client');
665
    
668
    
666
    $id = 'gm_nom';
669
    $id = 'gm_nom';
667
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
670
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
668
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_NOM.'</label>';
671
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_NOM.'</label>';
669
    $form->addElement('text', $id, $label, $aso_attributs);
672
    $form->addElement('text', $id, $label, $aso_attributs);
670
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_NOM, 'required', '', 'client');
673
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_NOM, 'required', '', 'client');
671
    $form->applyFilter($id, 'trim');
674
    $form->applyFilter($id, 'trim');
672
    
675
    
673
    $id = 'gm_description_resume';
676
    $id = 'gm_description_resume';
674
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 50);
677
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 50);
675
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_INFO_BULLE.'</label>';
678
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_INFO_BULLE.'</label>';
676
    $form->addElement('textarea', $id, $label, $aso_attributs);
679
    $form->addElement('textarea', $id, $label, $aso_attributs);
677
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_INFO_BULLE, 'required', '', 'client');
680
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_INFO_BULLE, 'required', '', 'client');
678
    
681
    
679
    // Requête sur les applications
682
    // Requête sur les applications
680
    $requete =  'SELECT gap_id_application, gap_nom '.
683
    $requete =  'SELECT gap_id_application, gap_nom '.
681
                'FROM gen_application '.
684
                'FROM gen_application '.
682
                'WHERE gap_bool_applette = 0 '.
685
                'WHERE gap_bool_applette = 0 '.
683
                'ORDER BY gap_nom ASC';// Pour éviter d'afficher les applettes.
686
                'ORDER BY gap_nom ASC';// Pour éviter d'afficher les applettes.
684
    $resultat = $db->query($requete);
687
    $resultat = $db->query($requete);
685
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
688
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
686
    
689
    
687
    $aso_options = array();
690
    $aso_options = array();
688
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
691
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
689
        $aso_options[$ligne->gap_id_application] = $ligne->gap_nom;
692
        $aso_options[$ligne->gap_id_application] = $ligne->gap_nom;
690
    }
693
    }
691
    $resultat->free();
694
    $resultat->free();
692
    $id = 'gm_ce_application';
695
    $id = 'gm_ce_application';
693
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
696
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
694
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>';
697
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>';
695
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
698
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
696
    
699
    
697
    
700
    
698
    if ($traduction) {
701
    if ($traduction) {
699
    	
702
    	
700
    	// Recherche liste des menu deja traduits 
703
    	// Recherche liste des menu deja traduits 
701
    		
704
    		
702
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
705
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
703
        	        'FROM gen_menu_relation, gen_menu '.
706
        	        'FROM gen_menu_relation, gen_menu '.
704
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
707
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
705
                	'AND gm_id_menu  = gmr_id_menu_02  '.
708
                	'AND gm_id_menu  = gmr_id_menu_02  '.
706
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
709
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
707
	
710
	
708
	  	$resultat = $db->query($requete) ;
711
	  	$resultat = $db->query($requete) ;
709
	  	
712
	  	
710
	    if (DB::isError($resultat)) {
713
	    if (DB::isError($resultat)) {
711
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
714
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
712
	    }
715
	    }
713
	    
716
	    
714
	    $not_in_langue='';
717
	    $not_in_langue='';
715
	    if ( $resultat->numRows() == 0 ) {
718
	    if ( $resultat->numRows() == 0 ) {
716
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
719
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
717
	    }
720
	    }
718
	    else {
721
	    else {
719
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
722
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
720
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
723
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
721
 					$end="'".$ligne->gm_ce_i18n."'";
724
 					$end="'".$ligne->gm_ce_i18n."'";
722
				}
725
				}
723
	    		if ($not_in_langue) {
726
	    		if ($not_in_langue) {
724
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
727
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
725
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
728
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
726
			    }
729
			    }
727
	    		else {
730
	    		else {
728
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
731
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
729
	    		}
732
	    		}
730
	    }
733
	    }
731
	    
734
	    
732
	   					
735
	   					
733
	    
736
	    
734
		$resultat->free();		    
737
		$resultat->free();		    
735
    	
738
    	
736
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
739
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
737
    	
740
    	
738
    	/*$requete =  'SELECT * '.
741
    	/*$requete =  'SELECT * '.
739
        	        'FROM gen_i18n ';*/
742
        	        'FROM gen_i18n ';*/
740
        	        
743
        	        
741
        $resultat = $db->query($requete);
744
        $resultat = $db->query($requete);
742
    	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
745
    	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
743
    
746
    
744
    	$aso_options = array();
747
    	$aso_options = array();
745
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
748
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) {
746
        	$aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
749
        	$aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n;
747
        }
750
        }
748
        $resultat->free();
751
        $resultat->free();
749
    	$id = 'gs_ce_i18n';
752
    	$id = 'gs_ce_i18n';
750
    	$aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
753
    	$aso_attributs = array('id' => $id, 'tabindex' => $tab_index++);
751
    	$label = '<label for="'.$id.'">'.'Langue : '.'</label>';
754
    	$label = '<label for="'.$id.'">'.'Langue : '.'</label>';
752
    	$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
755
    	$form->addElement('select', $id, $label, $aso_options, $aso_attributs);
753
    }
756
    }
754
    
757
    
755
    $id = 'gm_titre';
758
    $id = 'gm_titre';
756
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
759
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
757
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE.'</label>';
760
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE.'</label>';
758
    $form->addElement('text', $id, $label, $aso_attributs);
761
    $form->addElement('text', $id, $label, $aso_attributs);
759
    
762
    
760
    $id = 'gm_mots_cles';
763
    $id = 'gm_mots_cles';
761
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 50);
764
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 50);
762
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_MOT_CLE.'</label>';
765
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_MOT_CLE.'</label>';
763
    $form->addElement('textarea', $id, $label, $aso_attributs);
766
    $form->addElement('textarea', $id, $label, $aso_attributs);
764
    
767
    
765
    $id = 'gm_description_libre';
768
    $id = 'gm_description_libre';
766
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
769
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
767
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DESCRIPTION.'</label>';
770
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DESCRIPTION.'</label>';
768
    $form->addElement('textarea', $id, $label, $aso_attributs);
771
    $form->addElement('textarea', $id, $label, $aso_attributs);
769
        
772
        
770
    $partie_menu_fin = "\n".'</fieldset>'."\n";
773
    $partie_menu_fin = "\n".'</fieldset>'."\n";
771
    $form->addElement('html', $partie_menu_fin);
774
    $form->addElement('html', $partie_menu_fin);
772
    
775
    
773
    //Lien javascript pour cacher les options compliquées
776
    //Lien javascript pour cacher les options compliquées
774
    $form->addElement('html', '<a href="#" onclick="switchMenu(\'config_avancee\');" title="'.ADME_VOIR_CONFIG_AVANCEE.'">'.ADME_VOIR_CONFIG_AVANCEE.'</a><br />'."\n");
777
    $form->addElement('html', '<a href="#" onclick="switchMenu(\'config_avancee\');" title="'.ADME_VOIR_CONFIG_AVANCEE.'">'.ADME_VOIR_CONFIG_AVANCEE.'</a><br />'."\n");
775
    
778
    
776
    //début de la div cachée pour les options compliquées-----------------------------------------------
779
    //début de la div cachée pour les options compliquées-----------------------------------------------
777
    $form->addElement('html', '<div id="config_avancee" style="display:none;">');
780
    $form->addElement('html', '<div id="config_avancee" style="display:none;">');
778
    $partie_entete_debut = '<fieldset>'."\n".'<legend>'.ADME_CONFIG_AVANCEE.'</legend>'."\n";
781
    $partie_entete_debut = '<fieldset>'."\n".'<legend>'.ADME_CONFIG_AVANCEE.'</legend>'."\n";
779
    $form->addElement('html', $partie_entete_debut);
782
    $form->addElement('html', $partie_entete_debut);
780
    
783
    
781
    $id = 'gm_code_num';
784
    $id = 'gm_code_num';
782
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 5, 'maxlength' => 100);
785
    $aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 5, 'maxlength' => 100);
783
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_NUM.'</label>';
786
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CODE_NUM.'</label>';
784
    $form->addElement('text', $id, $label, $aso_attributs);
787
    $form->addElement('text', $id, $label, $aso_attributs);
785
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_NUM, 'required', '', 'client');
788
    $form->addRule($id, ADME_LG_FORM_MENU_REGLE_CODE_NUM, 'required', '', 'client');
786
    
789
    
787
    $id = 'gm_raccourci_clavier';
790
    $id = 'gm_raccourci_clavier';
788
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1);
791
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1);
789
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_RACCOURCI.'</label>';
792
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_RACCOURCI.'</label>';
790
    $form->addElement('text', $id, $label, $aso_attributs);
793
    $form->addElement('text', $id, $label, $aso_attributs);
791
    
794
    
792
    $id = 'defaut';
795
    $id = 'defaut';
793
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
796
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
794
    if ($aso_valeurs[$id] === true) {
797
    if ($aso_valeurs[$id] === true) {
795
        $aso_attributs['checked'] = 'checked';
798
        $aso_attributs['checked'] = 'checked';
796
    }
799
    }
797
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DEFAUT.'</label>';
800
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DEFAUT.'</label>';
798
    $form->addElement('checkbox', $id, $label, '', $aso_attributs);
801
    $form->addElement('checkbox', $id, $label, '', $aso_attributs);
799
    
802
    
800
    $id = 'gm_fichier_squelette';
803
    $id = 'gm_fichier_squelette';
801
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
804
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
802
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_FICHIER_SQUELETTE.'</label>';
805
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_FICHIER_SQUELETTE.'</label>';
803
    $form->addElement('text', $id, $label, $aso_attributs);
806
    $form->addElement('text', $id, $label, $aso_attributs);
804
    
807
    
805
    $id = 'gm_application_arguments';
808
    $id = 'gm_application_arguments';
806
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);   
809
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);   
807
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI_ARGUMENT.'</label>';
810
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI_ARGUMENT.'</label>';
808
    $form->addElement('text', $id, $label, $aso_attributs);
811
    $form->addElement('text', $id, $label, $aso_attributs);
809
    
812
    
810
    $id = 'gm_robot';
813
    $id = 'gm_robot';
811
    $aso_options = array(   'index,follow' => ADME_LG_FORM_MENU_INDEX_FOLLOW,
814
    $aso_options = array(   'index,follow' => ADME_LG_FORM_MENU_INDEX_FOLLOW,
812
                            'index' => ADME_LG_FORM_MENU_INDEX,
815
                            'index' => ADME_LG_FORM_MENU_INDEX,
813
                            'noindex' => ADME_LG_FORM_MENU_NOINDEX,
816
                            'noindex' => ADME_LG_FORM_MENU_NOINDEX,
814
                            'noindex,nofollow' => ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW,
817
                            'noindex,nofollow' => ADME_LG_FORM_MENU_NOINDEX_NOFOLLOW,
815
                            '' => ADME_LG_FORM_MENU_INDEX_VIDE);
818
                            '' => ADME_LG_FORM_MENU_INDEX_VIDE);
816
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
819
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
817
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ROBOT.'</label>';
820
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ROBOT.'</label>';
818
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
821
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
819
    
822
    
820
    $id = 'gm_titre_alternatif';
823
    $id = 'gm_titre_alternatif';
821
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
824
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
822
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE_ALTERNATIF.'</label>';
825
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TITRE_ALTERNATIF.'</label>';
823
    $form->addElement('text', $id, $label, $aso_attributs);
826
    $form->addElement('text', $id, $label, $aso_attributs);
824
    
827
    
825
    
828
    
826
    $id = 'gm_description_table_matieres';
829
    $id = 'gm_description_table_matieres';
827
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
830
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45);
828
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TABLE_MATIERE.'</label>';
831
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TABLE_MATIERE.'</label>';
829
    $form->addElement('textarea', $id, $label, $aso_attributs);
832
    $form->addElement('textarea', $id, $label, $aso_attributs);
830
    
833
    
831
    $id = 'gm_source';
834
    $id = 'gm_source';
832
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
835
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
833
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_SOURCE.'</label>';
836
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_SOURCE.'</label>';
834
    $form->addElement('text', $id, $label, $aso_attributs);
837
    $form->addElement('text', $id, $label, $aso_attributs);
835
    
838
    
836
    $id = 'gm_auteur';
839
    $id = 'gm_auteur';
837
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
840
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
838
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_AUTEUR.'</label>';
841
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_AUTEUR.'</label>';
839
    $form->addElement('text', $id, $label, $aso_attributs);
842
    $form->addElement('text', $id, $label, $aso_attributs);
840
    
843
    
841
    $id = 'gm_contributeur';
844
    $id = 'gm_contributeur';
842
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 45);
845
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 2, 'cols' => 45);
843
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CONTRIBUTEUR.'</label>';
846
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CONTRIBUTEUR.'</label>';
844
    $form->addElement('textarea', $id, $label, $aso_attributs);
847
    $form->addElement('textarea', $id, $label, $aso_attributs);
845
    
848
    
846
    $id = 'gm_editeur';
849
    $id = 'gm_editeur';
847
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 65000);
850
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 65000);
848
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_EDITEUR.'</label>';
851
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_EDITEUR.'</label>';
849
    $form->addElement('text', $id, $label, $aso_attributs);
852
    $form->addElement('text', $id, $label, $aso_attributs);
850
    
853
    
851
    $id = 'gm_date_creation';
854
    $id = 'gm_date_creation';
852
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
855
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
853
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_CREATION.'</label>';
856
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_CREATION.'</label>';
854
    $form->addElement('text', $id, $label, $aso_attributs);
857
    $form->addElement('text', $id, $label, $aso_attributs);
855
    
858
    
856
    $id = 'gm_date_debut_validite';
859
    $id = 'gm_date_debut_validite';
857
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
860
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
858
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT.'</label>';
861
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_DEBUT.'</label>';
859
    $form->addElement('text', $id, $label, $aso_attributs);
862
    $form->addElement('text', $id, $label, $aso_attributs);
860
    
863
    
861
    $id = 'gm_date_fin_validite';
864
    $id = 'gm_date_fin_validite';
862
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
865
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
863
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_FIN.'</label>';
866
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_VALIDITE_FIN.'</label>';
864
    $form->addElement('text', $id, $label, $aso_attributs);
867
    $form->addElement('text', $id, $label, $aso_attributs);
865
    
868
    
866
    $id = 'gm_date_copyright';
869
    $id = 'gm_date_copyright';
867
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
870
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 19, 'maxlength' => 19);
868
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_COPYRIGHT.'</label>';
871
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_DATE_COPYRIGHT.'</label>';
869
    $form->addElement('text', $id, $label, $aso_attributs);
872
    $form->addElement('text', $id, $label, $aso_attributs);
870
    
873
    
871
    $id = 'gm_licence';
874
    $id = 'gm_licence';
872
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
875
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
873
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_URL_LICENCE.'</label>';
876
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_URL_LICENCE.'</label>';
874
    $form->addElement('text', $id, $label, $aso_attributs);
877
    $form->addElement('text', $id, $label, $aso_attributs);
875
    
878
    
876
    $id = 'gm_categorie';
879
    $id = 'gm_categorie';
877
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
880
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
878
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CATEGORIE.'</label>';
881
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_CATEGORIE.'</label>';
879
    $form->addElement('text', $id, $label, $aso_attributs);
882
    $form->addElement('text', $id, $label, $aso_attributs);
880
    
883
    
881
    $id = 'gm_public';
884
    $id = 'gm_public';
882
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
885
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 255);
883
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC.'</label>';
886
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC.'</label>';
884
    $form->addElement('text', $id, $label, $aso_attributs);
887
    $form->addElement('text', $id, $label, $aso_attributs);
885
    
888
    
886
    $id = 'gm_public_niveau';
889
    $id = 'gm_public_niveau';
887
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 25, 'maxlength' => 45);
890
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 25, 'maxlength' => 45);
888
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC_NIVEAU.'</label>';
891
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_PUBLIC_NIVEAU.'</label>';
889
    $form->addElement('text', $id, $label, $aso_attributs);
892
    $form->addElement('text', $id, $label, $aso_attributs);
890
    
893
    
891
    $id = 'gm_ce_type_portee_spatiale';
894
    $id = 'gm_ce_type_portee_spatiale';
892
    $aso_options = array(   '' => ADME_LG_FORM_MENU_ZG_VIDE,
895
    $aso_options = array(   '' => ADME_LG_FORM_MENU_ZG_VIDE,
893
                            'iso3166' => ADME_LG_FORM_MENU_ZG_ISO,
896
                            'iso3166' => ADME_LG_FORM_MENU_ZG_ISO,
894
                            'Point' => ADME_LG_FORM_MENU_ZG_POINT,
897
                            'Point' => ADME_LG_FORM_MENU_ZG_POINT,
895
                            'Box' => ADME_LG_FORM_MENU_ZG_DC,
898
                            'Box' => ADME_LG_FORM_MENU_ZG_DC,
896
                            'TGN' => ADME_LG_FORM_MENU_ZG_GTGN);
899
                            'TGN' => ADME_LG_FORM_MENU_ZG_GTGN);
897
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
900
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
898
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_TYPE.'</label>';
901
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_TYPE.'</label>';
899
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
902
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
900
    
903
    
901
    $id = 'gm_portee_spatiale';
904
    $id = 'gm_portee_spatiale';
902
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
905
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
903
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_VALEUR.'</label>';
906
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_ZG_VALEUR.'</label>';
904
    $form->addElement('text', $id, $label, $aso_attributs);
907
    $form->addElement('text', $id, $label, $aso_attributs);
905
    
908
    
906
    $id = 'gm_ce_type_portee_temporelle';
909
    $id = 'gm_ce_type_portee_temporelle';
907
    $aso_options = array(   '' => ADME_LG_FORM_MENU_TMP_VIDE,
910
    $aso_options = array(   '' => ADME_LG_FORM_MENU_TMP_VIDE,
908
                            'W3CDTF' => ADME_LG_FORM_MENU_TMP_W3C,
911
                            'W3CDTF' => ADME_LG_FORM_MENU_TMP_W3C,
909
                            'Period' => ADME_LG_FORM_MENU_TMP_DC);
912
                            'Period' => ADME_LG_FORM_MENU_TMP_DC);
910
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
913
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++);
911
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_TYPE.'</label>';
914
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_TYPE.'</label>';
912
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
915
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
913
    
916
    
914
    $id = 'gm_portee_temporelle';
917
    $id = 'gm_portee_temporelle';
915
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
918
    $aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 35, 'maxlength' => 100);
916
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_VALEUR.'</label>';
919
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_TMP_VALEUR.'</label>';
917
    $form->addElement('text', $id, $label, $aso_attributs);
920
    $form->addElement('text', $id, $label, $aso_attributs);
918
  
921
  
919
    // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
922
    // Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif
920
    if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
923
    if (!isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER]) && !isset($aso_valeurs[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
921
	    $requete_admin =    'SELECT * '.
924
	    $requete_admin =    'SELECT * '.
922
    	                    'FROM gen_annuaire '.
925
    	                    'FROM gen_annuaire '.
923
        	                'WHERE ga_id_administrateur = '.$aso_valeurs['gm_ce_admin'];
926
        	                'WHERE ga_id_administrateur = '.$aso_valeurs['gm_ce_admin'];
924
    	$resultat_admin = $db->query($requete_admin);
927
    	$resultat_admin = $db->query($requete_admin);
925
    	if (DB::isError($resultat_admin)) {
928
    	if (DB::isError($resultat_admin)) {
926
	        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
929
	        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin));
927
	    }
930
	    }
928
    	$ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
931
    	$ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT);
929
    	$info_admin =   '<p class="info">Dernière modification par '.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'</p>';
932
    	$info_admin =   '<p class="info">Dernière modification par '.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'</p>';
930
    	$form->addElement('html', $info_admin);
933
    	$form->addElement('html', $info_admin);
931
    }
934
    }
932
    
935
    
933
    //fin de la div cachée pour les options compliquées-------------------------------------------------
936
    //fin de la div cachée pour les options compliquées-------------------------------------------------
934
    $form->addElement('html', "\n".'</fieldset>'."\n".'</div>');
937
    $form->addElement('html', "\n".'</fieldset>'."\n".'</div>');
935
   
938
   
936
	
939
	
937
    $buttons[] = &HTML_QuickForm::createElement('link', 'annuler', ADME_LG_FORM_MENU_ANNULER, 
940
    $buttons[] = &HTML_QuickForm::createElement('link', 'annuler', ADME_LG_FORM_MENU_ANNULER, 
938
                 str_replace ("&amp;", "&", $url->getURL()), ADME_LG_FORM_MENU_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL
941
                 str_replace ("&amp;", "&", $url->getURL()), ADME_LG_FORM_MENU_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL
939
                                                                                         // qui remplacent deux fois les & par des &amp;
942
                                                                                         // qui remplacent deux fois les & par des &amp;
940
	//Bouton de validation du formulaire  
943
	//Bouton de validation du formulaire  
941
	if ($traduction) {
944
	if ($traduction) {
942
    	$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION, ADME_LG_FORM_MENU_VALIDER);
945
    	$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION, ADME_LG_FORM_MENU_VALIDER);
943
		$form->addElement('hidden', 'adme_site_id', $adme_site_id);
946
		$form->addElement('hidden', 'adme_site_id', $adme_site_id);
944
    }    
947
    }    
945
    else {
948
    else {
946
    	$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER, ADME_LG_FORM_MENU_VALIDER);
949
    	$buttons[] = &HTML_QuickForm::createElement('submit', ADME_LG_ACTION_CLASSIQUE_VERIFIER, ADME_LG_FORM_MENU_VALIDER);
947
    }                                               
950
    }                                               
948
	$form->addGroup($buttons, 'form_boutons', null, '&nbsp;');
951
	$form->addGroup($buttons, 'form_boutons', null, '&nbsp;');
949
    
952
    
950
    $form->addElement('hidden', 'gm_id_menu', $aso_valeurs['gm_id_menu']);
953
    $form->addElement('hidden', 'gm_id_menu', $aso_valeurs['gm_id_menu']);
951
    
954
    
952
    // Instanciation avec les valeur par défaut
955
    // Instanciation avec les valeur par défaut
953
    $form->setDefaults($aso_valeurs);    
956
    $form->setDefaults($aso_valeurs);    
954
    
957
    
955
    $retour .= $form->toHTML()."\n";
958
    $retour .= $form->toHTML()."\n";
956
    return $retour;
959
    return $retour;
957
}
960
}
958
 
961
 
959
/** Fonction ADME_validerFormAjouterMenuClassique() - Valide les données issues du formulaire pour gen_menu.
962
/** Fonction ADME_validerFormAjouterMenuClassique() - Valide les données issues du formulaire pour gen_menu.
960
*
963
*
961
* Cette fonction valide les données à ajouter dans la table gen_menu.
964
* Cette fonction valide les données à ajouter dans la table gen_menu.
962
*
965
*
963
* @param  PEAR::DB   l'objet pear de connexion à la base de données.
966
* @param  PEAR::DB   l'objet pear de connexion à la base de données.
964
* @param  string   le tableau contenant les valeurs du formulaire.
967
* @param  string   le tableau contenant les valeurs du formulaire.
965
* @return string   retourne les messages d'erreurs sinon rien.
968
* @return string   retourne les messages d'erreurs sinon rien.
966
*/
969
*/
967
function ADME_validerFormAjouterMenuClassique($db, $aso_valeurs)
970
function ADME_validerFormAjouterMenuClassique($db, $aso_valeurs)
968
{
971
{
969
    $message = '';
972
    $message = '';
970
    if ($aso_valeurs['gm_code_alpha'] == '') {
973
    if ($aso_valeurs['gm_code_alpha'] == '') {
971
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>';
974
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>';
972
    } 
975
    } 
973
    if ($aso_valeurs['gm_code_num'] == '') {
976
    if ($aso_valeurs['gm_code_num'] == '') {
974
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>';
977
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>';
975
    } 
978
    } 
976
    if ($aso_valeurs['gm_nom'] == '') {
979
    if ($aso_valeurs['gm_nom'] == '') {
977
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>';
980
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>';
978
    }
981
    }
979
    if ($aso_valeurs['gm_description_resume'] == '') {
982
    if ($aso_valeurs['gm_description_resume'] == '') {
980
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>';
983
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>';
981
    }
984
    }
982
    return $message;
985
    return $message;
983
}
986
}
984
 
987
 
985
 
988
 
986
/** Fonction ADME_validerFormTraduireMenuClassique() - Valide les données issues du formulaire de traduction de menu
989
/** Fonction ADME_validerFormTraduireMenuClassique() - Valide les données issues du formulaire de traduction de menu
987
*
990
*
988
* Cette fonction valide les données à ajouter dans la table gen_menu.
991
* Cette fonction valide les données à ajouter dans la table gen_menu.
989
*
992
*
990
* @param  PEAR::DB   l'objet pear de connexion à la base de données.
993
* @param  PEAR::DB   l'objet pear de connexion à la base de données.
991
* @param  string   le tableau contenant les valeurs du formulaire.
994
* @param  string   le tableau contenant les valeurs du formulaire.
992
* @return string   retourne les messages d'erreurs sinon rien.
995
* @return string   retourne les messages d'erreurs sinon rien.
993
*/
996
*/
994
function ADME_validerFormTraduireMenuClassique($db, $aso_valeurs)
997
function ADME_validerFormTraduireMenuClassique($db, $aso_valeurs)
995
{
998
{
996
    $message = '';
999
    $message = '';
997
    if ($aso_valeurs['gm_code_alpha'] == '') {
1000
    if ($aso_valeurs['gm_code_alpha'] == '') {
998
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>';
1001
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_ALPHA.'</p>';
999
    } 
1002
    } 
1000
    if ($aso_valeurs['gm_code_num'] == '') {
1003
    if ($aso_valeurs['gm_code_num'] == '') {
1001
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>';
1004
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_CODE_NUM.'</p>';
1002
    } 
1005
    } 
1003
    if ($aso_valeurs['gm_nom'] == '') {
1006
    if ($aso_valeurs['gm_nom'] == '') {
1004
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>';
1007
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_NOM.'</p>';
1005
    }
1008
    }
1006
    if ($aso_valeurs['gm_description_resume'] == '') {
1009
    if ($aso_valeurs['gm_description_resume'] == '') {
1007
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>';
1010
        $message .= '<p class="pap_erreur">'.ADME_LG_FORM_MENU_REGLE_INFO_BULLE.'</p>';
1008
    }
1011
    }
1009
    return $message;
1012
    return $message;
1010
}
1013
}
1011
 
1014
 
1012
 
1015
 
1013
 
1016
 
1014
/** Fonction ADME_modifierMenuClassique() - Met à jour les infos d'un menu classique
1017
/** Fonction ADME_modifierMenuClassique() - Met à jour les infos d'un menu classique
1015
*
1018
*
1016
* Fonction modifiant un menu commun à Papyrus.
1019
* Fonction modifiant un menu commun à Papyrus.
1017
* Ancien nom : commitUpdateLevel()
1020
* Ancien nom : commitUpdateLevel()
1018
*
1021
*
1019
* @param object objet Pear de connection à la base de données.
1022
* @param object objet Pear de connection à la base de données.
1020
* @param object objet Pear représentant l'authentification.
1023
* @param object objet Pear représentant l'authentification.
1021
* @param integer l'identifiant du menu à administrer.
1024
* @param integer l'identifiant du menu à administrer.
1022
* @param array le tableau des valeurs à modifier.
1025
* @param array le tableau des valeurs à modifier.
1023
* @return void les changement sont fait dans la base de données.
1026
* @return void les changement sont fait dans la base de données.
1024
*/
1027
*/
1025
function ADME_modifierMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs)
1028
function ADME_modifierMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs)
1026
{
1029
{
1027
    $requete =  'UPDATE gen_menu SET '.
1030
    $requete =  'UPDATE gen_menu SET '.
1028
                'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '.
1031
                'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '.
1029
                'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '.
1032
                'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '.
1030
                'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '.
1033
                'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '.
1031
                'gm_code_num = '.$aso_valeurs['gm_code_num'].', '.
1034
                'gm_code_num = '.$aso_valeurs['gm_code_num'].', '.
1032
                'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '.
1035
                'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '.
1033
                'gm_nom = "'.$aso_valeurs['gm_nom'].'", '.
1036
                'gm_nom = "'.$aso_valeurs['gm_nom'].'", '.
1034
                'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '.
1037
                'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '.
1035
                'gm_robot = "'.$aso_valeurs['gm_robot'].'", '.
1038
                'gm_robot = "'.$aso_valeurs['gm_robot'].'", '.
1036
                'gm_titre = "'.$aso_valeurs['gm_titre'].'", '.
1039
                'gm_titre = "'.$aso_valeurs['gm_titre'].'", '.
1037
                'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '.
1040
                'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '.
1038
                'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '.
1041
                'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '.
1039
                'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '.
1042
                'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '.
1040
                'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '.
1043
                'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '.
1041
                'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '.
1044
                'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '.
1042
                'gm_source = "'.$aso_valeurs['gm_source'].'", '.
1045
                'gm_source = "'.$aso_valeurs['gm_source'].'", '.
1043
                'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '.
1046
                'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '.
1044
                'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '.
1047
                'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '.
1045
                'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '.
1048
                'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '.
1046
                'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '.
1049
                'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '.
1047
                'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '.
1050
                'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '.
1048
                'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '.
1051
                'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '.
1049
                'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '.
1052
                'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '.
1050
                'gm_licence = "'.$aso_valeurs['gm_licence'].'", '.
1053
                'gm_licence = "'.$aso_valeurs['gm_licence'].'", '.
1051
                'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '.
1054
                'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '.
1052
                'gm_public = "'.$aso_valeurs['gm_public'].'", '.
1055
                'gm_public = "'.$aso_valeurs['gm_public'].'", '.
1053
                'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '.
1056
                'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '.
1054
                'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '.
1057
                'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '.
1055
                'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '.
1058
                'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '.
1056
                'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '.
1059
                'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '.
1057
                'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '.
1060
                'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '.
1058
                'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '.
1061
                'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" '.
1059
                'WHERE gm_id_menu = '.$adme_menu_id;
1062
                'WHERE gm_id_menu = '.$adme_menu_id;
1060
    
1063
    
1061
    $resultat = $db->query($requete);
1064
    $resultat = $db->query($requete);
1062
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1065
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1063
    
1066
    
1064
    // Gestion de la relation menu par défaut
1067
    // Gestion de la relation menu par défaut
1065
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1068
    if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) {
1066
        $requete_id_menu_supr_defaut =  'SELECT GM01.gm_id_menu AS id_menu_supr_defaut '.
1069
        $requete_id_menu_supr_defaut =  'SELECT GM01.gm_id_menu AS id_menu_supr_defaut '.
1067
                                        'FROM gen_menu AS GM01, gen_menu AS GM02, gen_menu_relation '.
1070
                                        'FROM gen_menu AS GM01, gen_menu AS GM02, gen_menu_relation '.
1068
                                        'WHERE GM02.gm_id_menu = '.$adme_menu_id.' '.
1071
                                        'WHERE GM02.gm_id_menu = '.$adme_menu_id.' '.
1069
                                        'AND GM02.gm_ce_site = GM01.gm_ce_site '.
1072
                                        'AND GM02.gm_ce_site = GM01.gm_ce_site '.
1070
                                        'AND GM01.gm_id_menu = gmr_id_menu_01 '.
1073
                                        'AND GM01.gm_id_menu = gmr_id_menu_01 '.
1071
                                        'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut"
1074
                                        'AND gmr_id_valeur = 101 ';// 101 = menu par "defaut"
1072
        
1075
        
1073
        $resultat_menu_supr_defaut = $db->query($requete_id_menu_supr_defaut);
1076
        $resultat_menu_supr_defaut = $db->query($requete_id_menu_supr_defaut);
1074
        if (DB::isError($resultat_menu_supr_defaut)) {
1077
        if (DB::isError($resultat_menu_supr_defaut)) {
1075
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu_supr_defaut->getMessage(), $requete_id_menu_supr_defaut));
1078
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu_supr_defaut->getMessage(), $requete_id_menu_supr_defaut));
1076
        }
1079
        }
1077
        $ligne_menu_supr_defaut = $resultat_menu_supr_defaut->fetchRow(DB_FETCHMODE_OBJECT);
1080
        $ligne_menu_supr_defaut = $resultat_menu_supr_defaut->fetchRow(DB_FETCHMODE_OBJECT);
1078
        if ($resultat_menu_supr_defaut->numRows() > 0 ) {
1081
        if ($resultat_menu_supr_defaut->numRows() > 0 ) {
1079
            $requete_supr_defaut =  'DELETE FROM gen_menu_relation '.
1082
            $requete_supr_defaut =  'DELETE FROM gen_menu_relation '.
1080
                                    'WHERE gmr_id_menu_01 = gmr_id_menu_02 '.
1083
                                    'WHERE gmr_id_menu_01 = gmr_id_menu_02 '.
1081
                                    'AND gmr_id_valeur = 101 '.// 101 = menu par "defaut"
1084
                                    'AND gmr_id_valeur = 101 '.// 101 = menu par "defaut"
1082
                                    'AND gmr_id_menu_01 = '.$ligne_menu_supr_defaut->id_menu_supr_defaut;
1085
                                    'AND gmr_id_menu_01 = '.$ligne_menu_supr_defaut->id_menu_supr_defaut;
1083
            $resultat_supr_defaut = $db->query($requete_supr_defaut);
1086
            $resultat_supr_defaut = $db->query($requete_supr_defaut);
1084
            if (DB::isError($resultat_supr_defaut)) {
1087
            if (DB::isError($resultat_supr_defaut)) {
1085
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1088
                die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut));
1086
            }
1089
            }
1087
        }
1090
        }
1088
        $resultat_menu_supr_defaut->free();
1091
        $resultat_menu_supr_defaut->free();
1089
        
1092
        
1090
        
1093
        
1091
        // Requete d'insertion de la relation menu par défaut
1094
        // Requete d'insertion de la relation menu par défaut
1092
        $requete =  'INSERT INTO gen_menu_relation '.
1095
        $requete =  'INSERT INTO gen_menu_relation '.
1093
                    'SET gmr_id_menu_01 = '.$adme_menu_id.', '.
1096
                    'SET gmr_id_menu_01 = '.$adme_menu_id.', '.
1094
                    'gmr_id_menu_02 = '.$adme_menu_id.', '.
1097
                    'gmr_id_menu_02 = '.$adme_menu_id.', '.
1095
                    'gmr_id_valeur = 101, '.
1098
                    'gmr_id_valeur = 101, '.
1096
                    'gmr_ordre = NULL ';
1099
                    'gmr_ordre = NULL ';
1097
        $resultat = $db->query($requete);
1100
        $resultat = $db->query($requete);
1098
        if (DB::isError($resultat)) {
1101
        if (DB::isError($resultat)) {
1099
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1102
            die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
1100
        }
1103
        }
1101
        
1104
        
1102
    }
1105
    }
1103
}
1106
}
1104
 
1107
 
1105
/** Fonction ADME_deplacerMenuClassique() - Permet de déplacer un menu dans la hiérarchie.
1108
/** Fonction ADME_deplacerMenuClassique() - Permet de déplacer un menu dans la hiérarchie.
1106
*
1109
*
1107
* Permet de déplacer un menu dans la hiérarchie des menus classiques.
1110
* Permet de déplacer un menu dans la hiérarchie des menus classiques.
1108
* Ancien nom : moveMenu()
1111
* Ancien nom : moveMenu()
1109
*
1112
*
1110
* @param  mixed   objet Pear DB de connexion à la base de données.
1113
* @param  mixed   objet Pear DB de connexion à la base de données.
1111
* @param  integer  identifiant du site administré.
1114
* @param  integer  identifiant du site administré.
1112
* @param  integer identifiant du menu à déplacer.
1115
* @param  integer identifiant du menu à déplacer.
1113
* @param  boolean indique si on veut monter le menu (true) ou le descendre (false).
1116
* @param  boolean indique si on veut monter le menu (true) ou le descendre (false).
1114
* @return void    modifie la base de données.
1117
* @return void    modifie la base de données.
1115
*/
1118
*/
1116
function ADME_deplacerMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_monter)
1119
function ADME_deplacerMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_monter)
1117
{
1120
{
1118
    //-------------------------------------------------------------------------------------------------------------------
1121
    //-------------------------------------------------------------------------------------------------------------------
1119
    // Récupération d'information sur le site de ce menu.
1122
    // Récupération d'information sur le site de ce menu.
1120
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
1123
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
1121
    if ($objet_site == false) {
1124
    if ($objet_site == false) {
1122
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'.
1125
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'.
1123
            'Id du site : '. $adme_site_id .'<br />'.
1126
            'Id du site : '. $adme_site_id .'<br />'.
1124
            'Ligne n° : '. __LINE__ .'<br />'.
1127
            'Ligne n° : '. __LINE__ .'<br />'.
1125
            'Fichier n° : '. __FILE__ .'<br />');
1128
            'Fichier n° : '. __FILE__ .'<br />');
1126
    }
1129
    }
1127
    //-------------------------------------------------------------------------------------------------------------------
1130
    //-------------------------------------------------------------------------------------------------------------------
1128
    // Récupération d'informations sur les relations du menu courant.
1131
    // Récupération d'informations sur les relations du menu courant.
1129
    $ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1');
1132
    $ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1');
1130
    if ($ligne_menu_courant_relation == false) {
1133
    if ($ligne_menu_courant_relation == false) {
1131
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1134
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1132
            'Identifiant menu : '. $adme_menu_id .'<br />'.
1135
            'Identifiant menu : '. $adme_menu_id .'<br />'.
1133
            'Identifiant valeur relation : 1 <br />'.
1136
            'Identifiant valeur relation : 1 <br />'.
1134
            'Ligne n° : '. __LINE__ .'<br />'.
1137
            'Ligne n° : '. __LINE__ .'<br />'.
1135
            'Fichier n° : '. __FILE__ .'<br />');
1138
            'Fichier n° : '. __FILE__ .'<br />');
1136
    }
1139
    }
1137
    //-------------------------------------------------------------------------------------------------------------------
1140
    //-------------------------------------------------------------------------------------------------------------------
1138
    // Récupération de l'identifiant du menu pére
1141
    // Récupération de l'identifiant du menu pére
1139
    $id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id);
1142
    $id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id);
1140
    if ($id_pere === false) {
1143
    if ($id_pere === false) {
1141
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1144
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1142
            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1145
            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1143
            'Ligne n° : '. __LINE__ .'<br />'.
1146
            'Ligne n° : '. __LINE__ .'<br />'.
1144
            'Fichier n° : '. __FILE__ .'<br />');
1147
            'Fichier n° : '. __FILE__ .'<br />');
1145
    }
1148
    }
1146
    //-------------------------------------------------------------------------------------------------------------------
1149
    //-------------------------------------------------------------------------------------------------------------------
1147
    // Recherche d'information sur le menu précédent ou suivant le menu courant
1150
    // Recherche d'information sur le menu précédent ou suivant le menu courant
1148
    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
1151
    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
1149
                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1152
                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1150
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1153
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1151
                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1154
                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1152
                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1155
                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1153
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1156
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1154
                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
1157
                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
1155
                'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père"
1158
                'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père"
1156
    if ($bln_monter) {
1159
    if ($bln_monter) {
1157
        $requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
1160
        $requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
1158
                    'ORDER BY GMR01.gmr_ordre DESC';
1161
                    'ORDER BY GMR01.gmr_ordre DESC';
1159
    } else {
1162
    } else {
1160
        $requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '.
1163
        $requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '.
1161
                    'ORDER BY GMR01.gmr_ordre ASC';
1164
                    'ORDER BY GMR01.gmr_ordre ASC';
1162
    }
1165
    }
1163
    
1166
    
1164
    $resultat_menu = $db->query($requete);
1167
    $resultat_menu = $db->query($requete);
1165
    (DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1168
    (DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1166
    
1169
    
1167
    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
1170
    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
1168
    
1171
    
1169
    $resultat_menu->free();
1172
    $resultat_menu->free();
1170
    //-------------------------------------------------------------------------------------------------------------------
1173
    //-------------------------------------------------------------------------------------------------------------------
1171
    // Si la requete ne retourne rien nous ne faisons rien.
1174
    // Si la requete ne retourne rien nous ne faisons rien.
1172
    if (! $ligne_menu) {
1175
    if (! $ligne_menu) {
1173
        return null;
1176
        return null;
1174
    }
1177
    }
1175
    //-------------------------------------------------------------------------------------------------------------------
1178
    //-------------------------------------------------------------------------------------------------------------------
1176
    // Mise à jour des relations du menu courant
1179
    // Mise à jour des relations du menu courant
1177
    $requete =  'UPDATE gen_menu_relation SET '.
1180
    $requete =  'UPDATE gen_menu_relation SET '.
1178
                'gmr_ordre = '.$ligne_menu->nouvel_ordre.' '.
1181
                'gmr_ordre = '.$ligne_menu->nouvel_ordre.' '.
1179
                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1182
                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1180
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1183
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1181
    
1184
    
1182
    $resultat_update = $db->query($requete);
1185
    $resultat_update = $db->query($requete);
1183
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1186
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1184
    //-------------------------------------------------------------------------------------------------------------------
1187
    //-------------------------------------------------------------------------------------------------------------------
1185
    // Mise à jour des relations du menu précédent ou suivant
1188
    // Mise à jour des relations du menu précédent ou suivant
1186
    $requete =  'UPDATE gen_menu_relation SET '.
1189
    $requete =  'UPDATE gen_menu_relation SET '.
1187
                'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '.
1190
                'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '.
1188
                'WHERE gmr_id_menu_01 = '.$ligne_menu->id_menu_remplace.' '.
1191
                'WHERE gmr_id_menu_01 = '.$ligne_menu->id_menu_remplace.' '.
1189
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1192
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1190
    
1193
    
1191
    $resultat_update = $db->query($requete);
1194
    $resultat_update = $db->query($requete);
1192
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1195
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1193
}
1196
}
1194
 
1197
 
-
 
1198
 
-
 
1199
/** Fonction ADME_deplacerMenuClassiqueVersSite() - Permet de deplacer des menus classique vers un autre site principal
-
 
1200
*
-
 
1201
* Permet de traduire un menu classique
-
 
1202
*
-
 
1203
* @param  mixed   objet Pear DB de connexion à la base de données.
-
 
1204
* @param  integer  identifiant du site de départ.
-
 
1205
* @param  integer  identifiant du site d'arrivée.
-
 
1206
* @param  mixed identifiant des menus à déplacer.
-
 
1207
* @return
-
 
1208
*/
-
 
1209
function ADME_deplacerMenuClassiqueVersSite($db,$id_site_depart,$id_site_arrivee,$id_menu_a_deplacer) {   
-
 
1210
    
-
 
1211
    // initialisation de l'ordre pour les noeuds à déplacer
-
 
1212
    $ordre_max = 0 ;
-
 
1213
    
-
 
1214
    $id_menu_pour_ordre = reset($id_menu_a_deplacer) ;
-
 
1215
    
-
 
1216
    // on récupère l'ordre maximum des différents sites pour ajouter les menus déplacés à la fin
-
 
1217
    // TODO: rajouter un group by par le type de relation
-
 
1218
    $requete_ordre_menu = 'SELECT MAX(gmr_ordre) as ordre_max '. 
-
 
1219
                          'FROM gen_menu_relation '.
-
 
1220
                          'LEFT JOIN gen_menu '. 
-
 
1221
                          'ON (gen_menu_relation.gmr_id_menu_01 = gen_menu.gm_id_menu '.
-
 
1222
                          'AND gen_menu.gm_ce_site = '.$id_site_arrivee.') '.
-
 
1223
                          'WHERE gmr_id_valeur = 1 '.
-
 
1224
                          'AND gmr_id_menu_02 = 0 ';
-
 
1225
    
-
 
1226
    $resultat_ordre_menu = $db->query($requete_ordre_menu);
-
 
1227
    (DB::isError($resultat_ordre_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_ordre_menu)) : '';
-
 
1228
    
-
 
1229
    $ligne = $resultat_ordre_menu->fetchRow(DB_FETCHMODE_ORDERED) ;
-
 
1230
    $ordre_max = $ligne[0]; 
-
 
1231
    
-
 
1232
    $fp = fopen('dump.html','a+');   
-
 
1233
       
-
 
1234
        fwrite($fp,'<pre>'.(print_r($id_menu_a_deplacer,true)).'</pre>');                
-
 
1235
    
-
 
1236
        fclose($fp);   
-
 
1237
    
-
 
1238
    while(count($id_menu_a_deplacer) != 0) {
-
 
1239
        
-
 
1240
        $ordre_max++ ;
-
 
1241
        
-
 
1242
        // on extrait et supprime ce premier élément
-
 
1243
        $id_menu_en_cours = array_shift($id_menu_a_deplacer) ;
-
 
1244
        
-
 
1245
        // on déplace le menu dans le nouveau site
-
 
1246
        $requete_deplacement = 'UPDATE gen_menu '.
-
 
1247
                                'SET gm_ce_site = '.$id_site_arrivee.' '.
-
 
1248
                                'WHERE gm_id_menu = '.$id_menu_en_cours.' ' ;
-
 
1249
                                
-
 
1250
        $resultat_deplacement = $db->query($requete_deplacement);
-
 
1251
        (DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_deplacement)) : '';
-
 
1252
        
-
 
1253
        // on lui affecte un ordre dans le nouveau site et un père de 0
-
 
1254
        $requete_deplacement = 'UPDATE gen_menu_relation '.
-
 
1255
                                'SET gmr_ordre = '.$ordre_max.', '.
-
 
1256
                                'gmr_id_menu_02 = 0 '.
-
 
1257
                                'WHERE gmr_id_menu_01 = '.$id_menu_en_cours.' '.
-
 
1258
                                'AND gmr_id_valeur = 1' ;
-
 
1259
                              
-
 
1260
        $resultat_deplacement = $db->query($requete_deplacement);
-
 
1261
        (DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_deplacement)) : '';
-
 
1262
        
-
 
1263
        $fp = fopen('dump.html','a+');   
-
 
1264
       
-
 
1265
        fwrite($fp,'id_menu_a_deplacer avant : '.(print_r($id_menu_a_deplacer,true)));
-
 
1266
        
-
 
1267
        // on fait la différence entre le tableaux des menus à deplacer et le résultat du déplacement des fils pour ne pas déplacer
-
 
1268
        // deux fois des mêmes menus
-
 
1269
        $id_fils_deplaces = array() ;
-
 
1270
        ADME_deplacerFilsEtTraductionsMenuClassique($db,$id_site_arrivee,$id_menu_en_cours,$id_fils_deplaces);
-
 
1271
        $id_menu_a_deplacer = array_diff($id_menu_a_deplacer, $id_fils_deplaces) ;
-
 
1272
                 
-
 
1273
        fwrite($fp,'id_fils_deplaces : '.(print_r($id_fils_deplaces,true))); 
-
 
1274
        
-
 
1275
        fwrite($fp,'id_menu_a_deplacer après : '.(print_r($id_menu_a_deplacer,true)));                
-
 
1276
    
-
 
1277
        fclose($fp);                          
-
 
1278
    }               
-
 
1279
        
-
 
1280
} 
-
 
1281
 
-
 
1282
/** Fonction ADME_deplacerFilsMenuClassique() - Permet de traduire un menu classique
-
 
1283
*
-
 
1284
* Permet de traduire un menu classique
-
 
1285
*
-
 
1286
* @param  mixed   objet Pear DB de connexion à la base de données.
-
 
1287
* @param  integer  identifiant du site d'arrivee.
-
 
1288
* @param  integer identifiant du menu pere.
-
 
1289
* @param  integer identifiant de la relation (père ou traduction).
-
 
1290
* @param  mixed le tableau contenant tous les fils déjà déplacés (attention c'est une référence)
-
 
1291
* @return mixed    un tableau contenant les id des fils deplaces.
-
 
1292
*/
-
 
1293
function ADME_deplacerFilsEtTraductionsMenuClassique($db, $id_site_arrivee, $id_menu_pere, &$tableau_fils) {
-
 
1294
    
-
 
1295
    // Récupération d'infos sur le site principal d'arrivée.
-
 
1296
    $objet_site_arrivee = GEN_lireInfoSitePrincipal($db, $id_site_arrivee);
-
 
1297
    if ($objet_site_arrivee == false) {
-
 
1298
        return ('ERREUR Papyrus Administrateur de Menus : impossible de lire les infos du site d\'arrivée.<br />'.
-
 
1299
            'ID du site : '.$id_site_arrivee.'<br />'.
-
 
1300
            'Ligne n° : '. __LINE__ .'<br />'.
-
 
1301
            'Fichier n° : '. __FILE__ .'<br />');
-
 
1302
    }
-
 
1303
    
-
 
1304
    // on fait la requete qui selectionne tous les enfants du père passé en paramètre
-
 
1305
    $requete_fils = 'SELECT gmr_id_menu_01 '.
-
 
1306
                    'FROM gen_menu_relation '.
-
 
1307
                    'WHERE gmr_id_menu_02 = '.$id_menu_pere.' '.
-
 
1308
                    'AND gmr_id_valeur = 1 '.
-
 
1309
                    'ORDER BY gmr_ordre' ;
-
 
1310
                    
-
 
1311
     $resultat_fils = $db->query($requete_fils);
-
 
1312
    (DB::isError($resultat_fils)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_fils->getMessage(), $requete_fils)) : '';               
-
 
1313
    
-
 
1314
    $id_fils_tab = array();
-
 
1315
    $i = 0 ;
-
 
1316
    
-
 
1317
    $id_fils_string = '' ;
-
 
1318
    
-
 
1319
    // pour chacun des fils
-
 
1320
    while($id_fils = $resultat_fils->fetchRow(DB_FETCHMODE_ORDERED)) {
-
 
1321
        
-
 
1322
        // on ajoute son id au tableau
-
 
1323
        $id_fils_tab[$i] =  $id_fils[0] ;
-
 
1324
        $i++;
-
 
1325
    
-
 
1326
        $tableau_fils[] = $id_fils[0] ;
-
 
1327
               
-
 
1328
        // on concatère l'id du fils pour la requete de déplacement des fils
-
 
1329
        $id_fils_string .= $id_fils[0].',' ;
-
 
1330
    }
-
 
1331
       
-
 
1332
    $id_fils_string = rtrim($id_fils_string,',');
-
 
1333
    
-
 
1334
    if($id_fils_string != '') {     
-
 
1335
        // on déplace tous les fils 
-
 
1336
        $requete_deplacement = 'UPDATE gen_menu SET '.
-
 
1337
                        'gm_ce_site = '.$id_site_arrivee.' '.
-
 
1338
                        'WHERE gm_id_menu IN ('.$id_fils_string.') ';
-
 
1339
        
-
 
1340
        $resultat_deplacement = $db->query($requete_deplacement);
-
 
1341
        (DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_deplacement->getMessage(), $requete_deplacement)) : '';                      
-
 
1342
    }
-
 
1343
    
-
 
1344
    // pour chacun des fils
-
 
1345
    foreach($id_fils_tab as $id_fils_en_cours) {
-
 
1346
        
-
 
1347
        // et on rajoute le tableau de ses fils à la suite en relançant la fonction récursivement
-
 
1348
        ADME_deplacerFilsEtTraductionsMenuClassique($db,$id_site_arrivee,$id_fils_en_cours,$tableau_fils) ;
-
 
1349
 
-
 
1350
    }
-
 
1351
    
-
 
1352
    // on déplace toutes les traductions 
-
 
1353
    $requete_deplacement_traductions = 'UPDATE gen_menu '.
-
 
1354
                            'SET gm_ce_site = '.$id_site_arrivee.' '.
-
 
1355
                            'WHERE gm_id_menu IN ( '.
-
 
1356
                                'SELECT gmr_id_menu_01 '. 
-
 
1357
                                'FROM gen_menu_relation '.
-
 
1358
                                'WHERE gmr_id_menu_02 = '.$id_menu_pere.' '.
-
 
1359
                                'AND gmr_id_valeur = 2) ' ;
-
 
1360
        
-
 
1361
        
-
 
1362
    $resultat_deplacement_traductions = $db->query($requete_deplacement_traductions);
-
 
1363
    (DB::isError($resultat_deplacement_traductions)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_deplacement_traductions->getMessage(), $requete_deplacement_traductions)) : '';
-
 
1364
 
-
 
1365
}
-
 
1366
 
1195
 
1367
 
1196
/** Fonction ADME_traduireMenuClassique() - Permet de traduire un menu classique
1368
/** Fonction ADME_traduireMenuClassique() - Permet de traduire un menu classique
1197
*
1369
*
1198
* Permet de traduire un menu classique
1370
* Permet de traduire un menu classique
1199
*
1371
*
1200
* @param  mixed   objet Pear DB de connexion à la base de données.
1372
* @param  mixed   objet Pear DB de connexion à la base de données.
1201
* @param  integer  identifiant du site administré.
1373
* @param  integer  identifiant du site administré.
1202
* @param  integer identifiant du menu à déplacer.
1374
* @param  integer identifiant du menu à déplacer.
1203
* @return void    modifie la base de données.
1375
* @return void    modifie la base de données.
1204
*/
1376
*/
1205
function ADME_traduireMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs) {
1377
function ADME_traduireMenuClassique($db, $auth, $adme_menu_id, $aso_valeurs) {
1206
	
1378
	
1207
 
1379
 
1208
    // Récupération d'infos sur le site principal.
1380
    // Récupération d'infos sur le site principal.
1209
    $objet_site = GEN_lireInfoSitePrincipal($db, $aso_valeurs['adme_site_id']);
1381
    $objet_site = GEN_lireInfoSitePrincipal($db, $aso_valeurs['adme_site_id']);
1210
    if ($objet_site == false) {
1382
    if ($objet_site == false) {
1211
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
1383
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
1212
            'ID du site : '.$aso_valeurs['adme_site_id'].'<br />'.
1384
            'ID du site : '.$aso_valeurs['adme_site_id'].'<br />'.
1213
            'Ligne n° : '. __LINE__ .'<br />'.
1385
            'Ligne n° : '. __LINE__ .'<br />'.
1214
            'Fichier n° : '. __FILE__ .'<br />');
1386
            'Fichier n° : '. __FILE__ .'<br />');
1215
    }
1387
    }
1216
    
1388
    
1217
    $nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu');
1389
    $nouveau_id_menu = SQL_obtenirNouveauId($db, 'gen_menu', 'gm_id_menu');
1218
    $auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom');
1390
    $auteur = $auth->getAuthData('ga_prenom').' '.$auth->getAuthData('ga_nom');
1219
    
1391
    
1220
    
1392
    
1221
    
1393
    
1222
      $requete =  'INSERT INTO gen_menu '.
1394
      $requete =  'INSERT INTO gen_menu '.
1223
                'SET gm_id_menu = '.$nouveau_id_menu.', '.
1395
                'SET gm_id_menu = '.$nouveau_id_menu.', '.
1224
                'gm_ce_site = '.$aso_valeurs['adme_site_id'].', '.
1396
                'gm_ce_site = '.$aso_valeurs['adme_site_id'].', '.
1225
                'gm_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1397
                'gm_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '.
1226
                'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '.
1398
                'gm_ce_application = '.$aso_valeurs['gm_ce_application'].', '.
1227
                'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '.
1399
                'gm_application_arguments = "'.$aso_valeurs['gm_application_arguments'].'", '.
1228
                'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '.
1400
                'gm_fichier_squelette = "'.$aso_valeurs['gm_fichier_squelette'].'", '.
1229
                'gm_code_num = '.$aso_valeurs['gm_code_num'].', '.
1401
                'gm_code_num = '.$aso_valeurs['gm_code_num'].', '.
1230
                'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '.
1402
                'gm_code_alpha = "'.$aso_valeurs['gm_code_alpha'].'", '.
1231
                'gm_nom = "'.$aso_valeurs['gm_nom'].'", '.
1403
                'gm_nom = "'.$aso_valeurs['gm_nom'].'", '.
1232
                'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '.
1404
                'gm_raccourci_clavier = "'.$aso_valeurs['gm_raccourci_clavier'].'", '.
1233
                'gm_robot = "'.$aso_valeurs['gm_robot'].'", '.
1405
                'gm_robot = "'.$aso_valeurs['gm_robot'].'", '.
1234
                'gm_titre = "'.$aso_valeurs['gm_titre'].'", '.
1406
                'gm_titre = "'.$aso_valeurs['gm_titre'].'", '.
1235
                'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '.
1407
                'gm_titre_alternatif = "'.$aso_valeurs['gm_titre_alternatif'].'", '.
1236
                'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '.
1408
                'gm_mots_cles = "'.$aso_valeurs['gm_mots_cles'].'", '.
1237
                'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '.
1409
                'gm_description_libre = "'.$aso_valeurs['gm_description_libre'].'", '.
1238
                'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '.
1410
                'gm_description_resume = "'.$aso_valeurs['gm_description_resume'].'", '.
1239
                'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '.
1411
                'gm_description_table_matieres = "'.$aso_valeurs['gm_description_table_matieres'].'", '.
1240
                'gm_source = "'.$aso_valeurs['gm_source'].'", '.
1412
                'gm_source = "'.$aso_valeurs['gm_source'].'", '.
1241
                'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '.
1413
                'gm_auteur = "'.$aso_valeurs['gm_auteur'].'", '.
1242
                'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '.
1414
                'gm_contributeur = "'.$aso_valeurs['gm_contributeur'].'", '.
1243
                'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '.
1415
                'gm_editeur = "'.$aso_valeurs['gm_editeur'].'", '.
1244
                'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '.
1416
                'gm_date_creation = "'.$aso_valeurs['gm_date_creation'].'", '.
1245
                'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '.
1417
                'gm_date_debut_validite = "'.$aso_valeurs['gm_date_debut_validite'].'", '.
1246
                'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '.
1418
                'gm_date_fin_validite = "'.$aso_valeurs['gm_date_fin_validite'].'", '.
1247
                'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '.
1419
                'gm_date_copyright = "'.$aso_valeurs['gm_date_copyright'].'", '.
1248
                'gm_licence = "'.$aso_valeurs['gm_licence'].'", '.
1420
                'gm_licence = "'.$aso_valeurs['gm_licence'].'", '.
1249
                'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '.
1421
                'gm_categorie = "'.$aso_valeurs['gm_categorie'].'", '.
1250
                'gm_public = "'.$aso_valeurs['gm_public'].'", '.
1422
                'gm_public = "'.$aso_valeurs['gm_public'].'", '.
1251
                'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '.
1423
                'gm_public_niveau = "'.$aso_valeurs['gm_public_niveau'].'", '.
1252
                'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '.
1424
                'gm_ce_type_portee_spatiale = "'.$aso_valeurs['gm_ce_type_portee_spatiale'].'", '.
1253
                'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '.
1425
                'gm_portee_spatiale = "'.$aso_valeurs['gm_portee_spatiale'].'", '.
1254
                'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '.
1426
                'gm_ce_type_portee_temporelle = "'.$aso_valeurs['gm_ce_type_portee_temporelle'].'", '.
1255
                'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '.
1427
                'gm_portee_temporelle = "'.$aso_valeurs['gm_portee_temporelle'].'", '.
1256
                'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" ';
1428
                'gm_ce_admin = "'.$auth->getAuthData('ga_id_administrateur').'" ';
1257
    
1429
    
1258
    $resultat = $db->query($requete);
1430
    $resultat = $db->query($requete);
1259
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1431
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1260
    
1432
    
1261
    //----------------------------------------------------------------------------
1433
    //----------------------------------------------------------------------------
1262
    // Ajout de la relation traduction
1434
    // Ajout de la relation traduction
1263
    
1435
    
1264
    if (!isset($adme_menu_id) && empty($adme_menu_id)) {
1436
    if (!isset($adme_menu_id) && empty($adme_menu_id)) {
1265
        $adme_menu_id = 0 ;// Identifiant du père
1437
        $adme_menu_id = 0 ;// Identifiant du père
1266
    }
1438
    }
1267
    //----------------------------------------------------------------------------
1439
    //----------------------------------------------------------------------------
1268
    // Récupération d'infos sur la hierarchie du menu
1440
    // Récupération d'infos sur la hierarchie du menu
1269
    $requete =  'SELECT GMR01.gmr_ordre '.
1441
    $requete =  'SELECT GMR01.gmr_ordre '.
1270
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1442
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1271
                'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '.
1443
                'WHERE GMR01.gmr_id_menu_02 = '.$adme_menu_id.' '.
1272
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
1444
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
1273
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1445
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1274
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
1446
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
1275
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1447
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1276
                'ORDER BY GMR01.gmr_ordre DESC';
1448
                'ORDER BY GMR01.gmr_ordre DESC';
1277
    
1449
    
1278
    $resultat = $db->query($requete);
1450
    $resultat = $db->query($requete);
1279
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1451
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1280
    
1452
    
1281
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1453
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1282
    $nouveau_ordre_menu = $ligne->gmr_ordre + 1;
1454
    $nouveau_ordre_menu = $ligne->gmr_ordre + 1;
1283
    $resultat->free();
1455
    $resultat->free();
1284
    
1456
    
1285
    
1457
    
1286
    // Traduction :
1458
    // Traduction :
1287
    $requete =  'INSERT INTO gen_menu_relation '.
1459
    $requete =  'INSERT INTO gen_menu_relation '.
1288
                'SET gmr_id_menu_01 = '.$adme_menu_id.', '.
1460
                'SET gmr_id_menu_01 = '.$adme_menu_id.', '.
1289
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
1461
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
1290
                'gmr_id_valeur = 2, '. // Avoir traduction
1462
                'gmr_id_valeur = 2, '. // Avoir traduction
1291
                'gmr_ordre = '.$nouveau_ordre_menu;
1463
                'gmr_ordre = '.$nouveau_ordre_menu;
1292
 
1464
 
1293
    
1465
    
1294
    $resultat = $db->query($requete);
1466
    $resultat = $db->query($requete);
1295
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1467
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1296
    
1468
    
1297
    //----------------------------------------------------------------------------
1469
    //----------------------------------------------------------------------------
1298
    // Ajout de la relation-type "menu classique"
1470
    // Ajout de la relation-type "menu classique"
1299
    
1471
    
1300
    // Récupération d'infos sur la hierarchie du menu
1472
    // Récupération d'infos sur la hierarchie du menu
1301
    $requete =  'SELECT * '.
1473
    $requete =  'SELECT * '.
1302
                'FROM gen_menu_relation, gen_menu '.
1474
                'FROM gen_menu_relation, gen_menu '.
1303
                'WHERE gmr_id_menu_02 = gmr_id_menu_01 '.
1475
                'WHERE gmr_id_menu_02 = gmr_id_menu_01 '.
1304
                'AND gmr_id_valeur = 100 '.// 100 = type menu "classique"
1476
                'AND gmr_id_valeur = 100 '.// 100 = type menu "classique"
1305
                'AND gmr_id_menu_01 = gm_id_menu '.
1477
                'AND gmr_id_menu_01 = gm_id_menu '.
1306
                'AND gm_ce_site = '.$aso_valeurs['adme_site_id'].' '.
1478
                'AND gm_ce_site = '.$aso_valeurs['adme_site_id'].' '.
1307
                'ORDER BY gmr_ordre DESC';
1479
                'ORDER BY gmr_ordre DESC';
1308
    
1480
    
1309
    $resultat = $db->query($requete);
1481
    $resultat = $db->query($requete);
1310
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1482
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1311
    
1483
    
1312
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1484
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1313
    $nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1;
1485
    $nouveau_ordre_menu_classique = $ligne->gmr_ordre + 1;
1314
    $resultat->free();
1486
    $resultat->free();
1315
    
1487
    
1316
    $requete =  'INSERT INTO gen_menu_relation '.
1488
    $requete =  'INSERT INTO gen_menu_relation '.
1317
                'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '.
1489
                'SET gmr_id_menu_01 = '.$nouveau_id_menu.', '.
1318
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
1490
                'gmr_id_menu_02 = '.$nouveau_id_menu.', '.
1319
                'gmr_id_valeur = 100, '.
1491
                'gmr_id_valeur = 100, '.
1320
                'gmr_ordre = '.$nouveau_ordre_menu_classique;
1492
                'gmr_ordre = '.$nouveau_ordre_menu_classique;
1321
    
1493
    
1322
    $result = $db->query($requete);
1494
    $result = $db->query($requete);
1323
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
1495
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
1324
	
1496
	
1325
}
1497
}
1326
 
1498
 
1327
/** Fonction ADME_indenterMenuClassique() - Permet d'augmenter ou diminuer l'indentation d'un menu dans la
1499
/** Fonction ADME_indenterMenuClassique() - Permet d'augmenter ou diminuer l'indentation d'un menu dans la
1328
 * hierarchie
1500
 * hierarchie
1329
*
1501
*
1330
* Permet d'augmenter ou diminuer l'indentation d'un menu dans la hierarchie
1502
* Permet d'augmenter ou diminuer l'indentation d'un menu dans la hierarchie
1331
*
1503
*
1332
* @param  mixed   objet Pear DB de connexion à la base de données.
1504
* @param  mixed   objet Pear DB de connexion à la base de données.
1333
* @param  integer  identifiant du site administré.
1505
* @param  integer  identifiant du site administré.
1334
* @param  integer identifiant du menu à déplacer.
1506
* @param  integer identifiant du menu à déplacer.
1335
* @param  boolean indique si on veut diminuer (gauche) l'indentation (true) ou augmenter (droite) l'indentation (false).
1507
* @param  boolean indique si on veut diminuer (gauche) l'indentation (true) ou augmenter (droite) l'indentation (false).
1336
* @return void    modifie la base de données.
1508
* @return void    modifie la base de données.
1337
*/
1509
*/
1338
function ADME_indenterMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_diminuer) {
1510
function ADME_indenterMenuClassique($db, $adme_site_id, $adme_menu_id, $bln_diminuer) {
1339
 
1511
 
1340
    //-------------------------------------------------------------------------------------------------------------------
1512
    //-------------------------------------------------------------------------------------------------------------------
1341
    // Récupération d'information sur le site de ce menu.
1513
    // Récupération d'information sur le site de ce menu.
1342
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
1514
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
1343
    
1515
    
1344
    if ($objet_site == false) {
1516
    if ($objet_site == false) {
1345
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'.
1517
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'.
1346
            'Id du site : '. $adme_site_id .'<br />'.
1518
            'Id du site : '. $adme_site_id .'<br />'.
1347
            'Ligne n° : '. __LINE__ .'<br />'.
1519
            'Ligne n° : '. __LINE__ .'<br />'.
1348
            'Fichier n° : '. __FILE__ .'<br />');
1520
            'Fichier n° : '. __FILE__ .'<br />');
1349
    }
1521
    }
1350
    
1522
    
1351
    //-------------------------------------------------------------------------------------------------------------------
1523
    //-------------------------------------------------------------------------------------------------------------------
1352
    // Récupération d'informations sur les relations du menu courant.
1524
    // Récupération d'informations sur les relations du menu courant.
1353
    $ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1');
1525
    $ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1');
1354
    if ($ligne_menu_courant_relation == false) {
1526
    if ($ligne_menu_courant_relation == false) {
1355
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1527
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1356
            'Identifiant menu : '. $adme_menu_id .'<br />'.
1528
            'Identifiant menu : '. $adme_menu_id .'<br />'.
1357
            'Identifiant valeur relation : 1 <br />'.
1529
            'Identifiant valeur relation : 1 <br />'.
1358
            'Ligne n° : '. __LINE__ .'<br />'.
1530
            'Ligne n° : '. __LINE__ .'<br />'.
1359
            'Fichier n° : '. __FILE__ .'<br />');
1531
            'Fichier n° : '. __FILE__ .'<br />');
1360
    }
1532
    }
1361
    
1533
    
1362
    
1534
    
1363
    	
1535
    	
1364
    //-------------------------------------------------------------------------------------------------------------------
1536
    //-------------------------------------------------------------------------------------------------------------------
1365
    // Récupération de l'identifiant du menu pére
1537
    // Récupération de l'identifiant du menu pére
1366
     
1538
     
1367
    $id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id);
1539
    $id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id);
1368
    if ($id_pere === false) {
1540
    if ($id_pere === false) {
1369
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1541
        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1370
            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1542
            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1371
            'Ligne n° : '. __LINE__ .'<br />'.
1543
            'Ligne n° : '. __LINE__ .'<br />'.
1372
            'Fichier n° : '. __FILE__ .'<br />');
1544
            'Fichier n° : '. __FILE__ .'<br />');
1373
    }
1545
    }
1374
	    
1546
	    
1375
	if ($bln_diminuer) {
1547
	if ($bln_diminuer) {
1376
	    
1548
	    
1377
	    // Diminution d'un niveau 
1549
	    // Diminution d'un niveau 
1378
	    
1550
	    
1379
	    if ($id_pere) {
1551
	    if ($id_pere) {
1380
	    	
1552
	    	
1381
			 // Récupération de l'identifiant du menu grand pére, sera le nouveau pere
1553
			 // Récupération de l'identifiant du menu grand pére, sera le nouveau pere
1382
			  
1554
			  
1383
		    $id_grand_pere = GEN_lireIdentifiantMenuPere($id_pere);
1555
		    $id_grand_pere = GEN_lireIdentifiantMenuPere($id_pere);
1384
		    
1556
		    
1385
		    if ($id_grand_pere === false) {
1557
		    if ($id_grand_pere === false) {
1386
		        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1558
		        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
1387
		            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1559
		            'Identifiant menu fils : '. $adme_menu_id .'<br />'.
1388
		            'Ligne n° : '. __LINE__ .'<br />'.
1560
		            'Ligne n° : '. __LINE__ .'<br />'.
1389
		            'Fichier n° : '. __FILE__ .'<br />');
1561
		            'Fichier n° : '. __FILE__ .'<br />');
1390
		    }
1562
		    }
1391
		    
1563
		    
1392
		    // Récupération d'informations sur les relations du menu pere
1564
		    // Récupération d'informations sur les relations du menu pere
1393
		    
1565
		    
1394
		    $ligne_menu_pere_relation = GEN_lireInfoMenuRelation($db, $id_pere, '1');
1566
		    $ligne_menu_pere_relation = GEN_lireInfoMenuRelation($db, $id_pere, '1');
1395
		    
1567
		    
1396
	    	if ($ligne_menu_pere_relation == false) {
1568
	    	if ($ligne_menu_pere_relation == false) {
1397
		        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1569
		        die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
1398
		            'Identifiant menu : '. $adme_menu_id .'<br />'.
1570
		            'Identifiant menu : '. $adme_menu_id .'<br />'.
1399
		            'Identifiant valeur relation : 1 <br />'.
1571
		            'Identifiant valeur relation : 1 <br />'.
1400
		            'Ligne n° : '. __LINE__ .'<br />'.
1572
		            'Ligne n° : '. __LINE__ .'<br />'.
1401
		            'Fichier n° : '. __FILE__ .'<br />');
1573
		            'Fichier n° : '. __FILE__ .'<br />');
1402
		    }
1574
		    }
1403
	    
1575
	    
1404
			    	
1576
			    	
1405
		    //-------------------------------------------------------------------------------------------------------------------
1577
		    //-------------------------------------------------------------------------------------------------------------------
1406
		    // Recherche d'information sur le menu suivant le menu pere
1578
		    // Recherche d'information sur le menu suivant le menu pere
1407
		    //-------------------------------------------------------------------------------------------------------------------
1579
		    //-------------------------------------------------------------------------------------------------------------------
1408
		    
1580
		    
1409
		    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
1581
		    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
1410
	                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1582
	                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1411
	                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1583
	                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1412
	                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1584
	                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1413
	                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1585
	                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1414
	                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1586
	                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1415
	                'AND GMR01.gmr_id_menu_02 = '.$id_grand_pere.' '.
1587
	                'AND GMR01.gmr_id_menu_02 = '.$id_grand_pere.' '.
1416
	                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1588
	                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1417
				    'AND GMR01.gmr_ordre > '.$ligne_menu_pere_relation->gmr_ordre.' '.
1589
				    'AND GMR01.gmr_ordre > '.$ligne_menu_pere_relation->gmr_ordre.' '.
1418
				    'ORDER BY GMR01.gmr_ordre DESC';
1590
				    'ORDER BY GMR01.gmr_ordre DESC';
1419
	        
1591
	        
1420
		    
1592
		    
1421
		    $resultat_menu = $db->query($requete);
1593
		    $resultat_menu = $db->query($requete);
1422
		    
1594
		    
1423
		    (DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1595
		    (DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1424
		    
1596
		    
1425
		    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
1597
		    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
1426
		    $resultat_menu->free();
1598
		    $resultat_menu->free();
1427
		    
1599
		    
1428
		    //-------------------------------------------------------------------------------------------------------------------
1600
		    //-------------------------------------------------------------------------------------------------------------------
1429
		    // Si la requete ne retourne rien nous ne faisons rien. 
1601
		    // Si la requete ne retourne rien nous ne faisons rien. 
1430
		    if (! $ligne_menu) {
1602
		    if (! $ligne_menu) {
1431
		        $no=$ligne_menu_pere_relation->gmr_ordre+1;
1603
		        $no=$ligne_menu_pere_relation->gmr_ordre+1;
1432
		    }
1604
		    }
1433
		    else {
1605
		    else {
1434
		    	$no=$ligne_menu->nouvel_ordre+1;
1606
		    	$no=$ligne_menu->nouvel_ordre+1;
1435
		    }
1607
		    }
1436
		    
1608
		    
1437
			// Mise à jour pere menu courant
1609
			// Mise à jour pere menu courant
1438
		   	$requete =  'UPDATE gen_menu_relation SET '.
1610
		   	$requete =  'UPDATE gen_menu_relation SET '.
1439
		                'gmr_id_menu_02 =  '.$id_grand_pere.' ,'.
1611
		                'gmr_id_menu_02 =  '.$id_grand_pere.' ,'.
1440
		                'gmr_ordre = '.$no.' '.
1612
		                'gmr_ordre = '.$no.' '.
1441
		                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1613
		                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1442
		                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1614
		                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1443
		    
1615
		    
1444
			$resultat_update = $db->query($requete);
1616
			$resultat_update = $db->query($requete);
1445
		    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1617
		    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1446
		    
1618
		    
1447
		    
1619
		    
1448
		    	    
1620
		    	    
1449
	    }
1621
	    }
1450
	}	    
1622
	}	    
1451
	else {
1623
	else {
1452
 
1624
 
1453
	    $requete =  'SELECT GMR01.gmr_id_menu_01 '.
1625
	    $requete =  'SELECT GMR01.gmr_id_menu_01 '.
1454
	                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1626
	                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1455
	                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1627
	                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1456
	                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1628
	                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1457
	                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1629
	                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
1458
	                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1630
	                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1459
	                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
1631
	                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
1460
	                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1632
	                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1461
        			'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
1633
        			'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
1462
                    'ORDER BY GMR01.gmr_ordre DESC';
1634
                    'ORDER BY GMR01.gmr_ordre DESC';
1463
    
1635
    
1464
	    $resultat_menu = $db->query($requete);
1636
	    $resultat_menu = $db->query($requete);
1465
    	(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1637
    	(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
1466
 
1638
 
1467
	    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);			    	
1639
	    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);			    	
1468
	    $resultat_menu->free();
1640
	    $resultat_menu->free();
1469
	    //-------------------------------------------------------------------------------------------------------------------
1641
	    //-------------------------------------------------------------------------------------------------------------------
1470
	    // Si la requete ne retourne rien nous ne faisons rien.
1642
	    // Si la requete ne retourne rien nous ne faisons rien.
1471
	    if (! $ligne_menu) {
1643
	    if (! $ligne_menu) {
1472
	        return null;
1644
	        return null;
1473
	    }
1645
	    }
1474
    	
1646
    	
1475
    	//----------------------------------------------------------------------------
1647
    	//----------------------------------------------------------------------------
1476
		// Recherche dernier fils
1648
		// Recherche dernier fils
1477
		
1649
		
1478
		$requete =  'SELECT GMR01.gmr_ordre '.
1650
		$requete =  'SELECT GMR01.gmr_ordre '.
1479
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1651
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1480
                'WHERE GMR01.gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' '.
1652
                'WHERE GMR01.gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' '.
1481
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
1653
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
1482
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1654
                'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1483
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
1655
                'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
1484
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1656
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1485
                'ORDER BY GMR01.gmr_ordre DESC';
1657
                'ORDER BY GMR01.gmr_ordre DESC';
1486
    
1658
    
1487
		$resultat = $db->query($requete);
1659
		$resultat = $db->query($requete);
1488
		(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1660
		(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1489
 
1661
 
1490
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1662
		$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1491
		
1663
		
1492
		$resultat->free();
1664
		$resultat->free();
1493
 
1665
 
1494
	    if (isset($ligne)) {
1666
	    if (isset($ligne)) {
1495
	    	$no = $ligne->gmr_ordre + 1;
1667
	    	$no = $ligne->gmr_ordre + 1;
1496
	    }	    
1668
	    }	    
1497
	    else  {
1669
	    else  {
1498
	    	$no = 1;
1670
	    	$no = 1;
1499
	    }
1671
	    }
1500
		// Mise à jour pere menu courant
1672
		// Mise à jour pere menu courant
1501
	   	$requete =  'UPDATE gen_menu_relation SET '.
1673
	   	$requete =  'UPDATE gen_menu_relation SET '.
1502
	                'gmr_id_menu_02 =  '.$ligne_menu->gmr_id_menu_01.' ,'.
1674
	                'gmr_id_menu_02 =  '.$ligne_menu->gmr_id_menu_01.' ,'.
1503
	                'gmr_ordre = '.$no.' '.
1675
	                'gmr_ordre = '.$no.' '.
1504
	                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1676
	                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
1505
	                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1677
	                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1506
	    
1678
	    
1507
		$resultat_update = $db->query($requete);
1679
		$resultat_update = $db->query($requete);
1508
	    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1680
	    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
1509
    }
1681
    }
1510
}
1682
}
1511
 
1683
 
1512
 
1684
 
1513
/** Fonction ADME_supprimerMenuClassique() - Supprime un menu classique.
1685
/** Fonction ADME_supprimerMenuClassique() - Supprime un menu classique.
1514
*
1686
*
1515
* Supprime de la base de données de Papyrus toutes les traces du menu classiques
1687
* Supprime de la base de données de Papyrus toutes les traces du menu classiques
1516
* passé en paramètre.
1688
* passé en paramètre.
1517
* Ancien nom : deleteMenu()
1689
* Ancien nom : deleteMenu()
1518
*
1690
*
1519
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1691
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1520
* @param  integer l'identifiant du site du menu à supprimer
1692
* @param  integer l'identifiant du site du menu à supprimer
1521
* @param  integer l'identifiant du menu à supprimer
1693
* @param  integer l'identifiant du menu à supprimer
1522
* @return void   le menu classique est supprimé de la base de données.
1694
* @return void   le menu classique est supprimé de la base de données.
1523
*/
1695
*/
1524
function ADME_supprimerMenuClassique($db, $adme_id_site, $id_menu_a_supprimer)
1696
function ADME_supprimerMenuClassique($db, $adme_id_site, $id_menu_a_supprimer)
1525
{
1697
{
1526
	
1698
	
1527
	$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC);
1699
	$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC);
1528
	
1700
	
1529
    //----------------------------------------------------------------------------
1701
    //----------------------------------------------------------------------------
1530
    // Y a t'il des sous_menus
1702
    // Y a t'il des sous_menus
1531
    $requete =  'SELECT COUNT(gm_id_menu) AS compte '.
1703
    $requete =  'SELECT COUNT(gm_id_menu) AS compte '.
1532
                'FROM gen_menu, gen_menu_relation '.
1704
                'FROM gen_menu, gen_menu_relation '.
1533
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '.
1705
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '.
1534
                'AND gmr_id_valeur = 1 '.
1706
                'AND gmr_id_valeur = 1 '.
1535
                'AND gmr_id_menu_01 = gm_id_menu ';
1707
                'AND gmr_id_menu_01 = gm_id_menu ';
1536
    
1708
    
1537
    $resultat = $db->query($requete);
1709
    $resultat = $db->query($requete);
1538
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1710
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1539
    
1711
    
1540
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1712
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
1541
    
1713
    
1542
    if ($ligne && ($ligne->compte > 0)) {
1714
    if ($ligne && ($ligne->compte > 0)) {
1543
        return ADME_LG_ERREUR_EXISTE_SOUS_MENU;
1715
        return ADME_LG_ERREUR_EXISTE_SOUS_MENU;
1544
    }
1716
    }
1545
    
1717
    
1546
    //-------------------------------------------------------------------------------------------------------------------
1718
    //-------------------------------------------------------------------------------------------------------------------
1547
    // Mise à jour de l'ordre des menus
1719
    // Mise à jour de l'ordre des menus
1548
    $ligne_menu_supr_relation = GEN_lireInfoMenuRelation($db, $id_menu_a_supprimer, '1'); // 1 = relation "avoir père"
1720
    $ligne_menu_supr_relation = GEN_lireInfoMenuRelation($db, $id_menu_a_supprimer, '1'); // 1 = relation "avoir père"
1549
    $requete =  'SELECT GMR01.gmr_id_menu_01, GMR01.gmr_ordre '.
1721
    $requete =  'SELECT GMR01.gmr_id_menu_01, GMR01.gmr_ordre '.
1550
                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1722
                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
1551
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1723
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
1552
                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1724
                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
1553
                'AND gm_ce_site = '.$adme_id_site.' '.// le site du menu!
1725
                'AND gm_ce_site = '.$adme_id_site.' '.// le site du menu!
1554
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1726
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
1555
                'AND GMR01.gmr_id_menu_02 = '.$ligne_menu_supr_relation->gmr_id_menu_02.' '.
1727
                'AND GMR01.gmr_id_menu_02 = '.$ligne_menu_supr_relation->gmr_id_menu_02.' '.
1556
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1728
                'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
1557
                'AND GMR01.gmr_ordre > '.$ligne_menu_supr_relation->gmr_ordre.' '.
1729
                'AND GMR01.gmr_ordre > '.$ligne_menu_supr_relation->gmr_ordre.' '.
1558
                'ORDER BY GMR01.gmr_ordre ASC';
1730
                'ORDER BY GMR01.gmr_ordre ASC';
1559
    $resultat = $db->query($requete);
1731
    $resultat = $db->query($requete);
1560
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1732
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1561
        // Mise à jour des relations hiérarchiques du menu courant
1733
        // Mise à jour des relations hiérarchiques du menu courant
1562
        $requete_maj =  'UPDATE gen_menu_relation SET '.
1734
        $requete_maj =  'UPDATE gen_menu_relation SET '.
1563
                        'gmr_ordre = '.($ligne->gmr_ordre - 1).' '.
1735
                        'gmr_ordre = '.($ligne->gmr_ordre - 1).' '.
1564
                        'WHERE gmr_id_menu_01 = '.$ligne->gmr_id_menu_01.' '.
1736
                        'WHERE gmr_id_menu_01 = '.$ligne->gmr_id_menu_01.' '.
1565
                        'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1737
                        'AND gmr_id_valeur = 1';// 1 = relation menu "père"
1566
        
1738
        
1567
        $resultat_maj = $db->query($requete_maj);
1739
        $resultat_maj = $db->query($requete_maj);
1568
        (DB::isError($resultat_maj)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_maj->getMessage(), $requete_maj)) : '';
1740
        (DB::isError($resultat_maj)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_maj->getMessage(), $requete_maj)) : '';
1569
    }
1741
    }
1570
    $resultat->free();
1742
    $resultat->free();
1571
    
1743
    
1572
    //----------------------------------------------------------------------------
1744
    //----------------------------------------------------------------------------
1573
    // S'il n'y a plus de sous niveau, on supprime le menu
1745
    // S'il n'y a plus de sous niveau, on supprime le menu
1574
    $requete =  'DELETE FROM gen_menu '.
1746
    $requete =  'DELETE FROM gen_menu '.
1575
                'WHERE gm_id_menu = '.$id_menu_a_supprimer;
1747
                'WHERE gm_id_menu = '.$id_menu_a_supprimer;
1576
    
1748
    
1577
    $resultat = $db->query($requete);
1749
    $resultat = $db->query($requete);
1578
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1750
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1579
    
1751
    
1580
    //----------------------------------------------------------------------------
1752
    //----------------------------------------------------------------------------
1581
    // Puis on supprime les relations de ce menu
1753
    // Puis on supprime les relations de ce menu
1582
    $requete =  'DELETE FROM gen_menu_relation '.
1754
    $requete =  'DELETE FROM gen_menu_relation '.
1583
                'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer;
1755
                'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer;
1584
                
1756
                
1585
                
1757
                
1586
                
1758
                
1587
    
1759
    
1588
    $resultat = $db->query($requete);
1760
    $resultat = $db->query($requete);
1589
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1761
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1590
    
1762
    
1591
    
1763
    
1592
        
1764
        
1593
	 // Suppression du contenu !!!!
1765
	 // Suppression du contenu !!!!
1594
	
1766
	
1595
    $requete =  'DELETE FROM gen_menu_contenu '.
1767
    $requete =  'DELETE FROM gen_menu_contenu '.
1596
                'WHERE gmc_ce_menu= '.$id_menu_a_supprimer.' ';
1768
                'WHERE gmc_ce_menu= '.$id_menu_a_supprimer.' ';
1597
 
1769
 
1598
    $resultat = $db->query($requete);
1770
    $resultat = $db->query($requete);
1599
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1771
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1600
    
1772
    
1601
    
1773
    
1602
    
1774
    
1603
}
1775
}
1604
 
1776
 
1605
/** Fonction ADME_supprimerMenuClassiqueTraduction() - Supprime une traduction de menu classique.
1777
/** Fonction ADME_supprimerMenuClassiqueTraduction() - Supprime une traduction de menu classique.
1606
*
1778
*
1607
* Supprime de la base de données de Papyrus toutes les traces du menu classiques
1779
* Supprime de la base de données de Papyrus toutes les traces du menu classiques
1608
* passé en paramètre.
1780
* passé en paramètre.
1609
* Ancien nom : deleteMenu()
1781
* Ancien nom : deleteMenu()
1610
*
1782
*
1611
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1783
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1612
* @param  integer l'identifiant du site du menu à supprimer
1784
* @param  integer l'identifiant du site du menu à supprimer
1613
* @param  integer l'identifiant du menu à supprimer
1785
* @param  integer l'identifiant du menu à supprimer
1614
* @return void   le menu classique est supprimé de la base de données.
1786
* @return void   le menu classique est supprimé de la base de données.
1615
*/
1787
*/
1616
function ADME_supprimerMenuClassiqueTraduction($db, $adme_id_site, $id_menu_a_supprimer)
1788
function ADME_supprimerMenuClassiqueTraduction($db, $adme_id_site, $id_menu_a_supprimer)
1617
{
1789
{
1618
	
1790
	
1619
	
1791
	
1620
	$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC);
1792
	$code_menu = GEN_lireInfoMenu($db, $id_menu_a_supprimer, DB_FETCHMODE_ASSOC);
1621
	
1793
	
1622
		
1794
		
1623
    if ($code_menu === false) {
1795
    if ($code_menu === false) {
1624
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
1796
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
1625
                'Idenitifiant du menu n° : '. $id_menu_a_supprimer .'<br />'.
1797
                'Idenitifiant du menu n° : '. $id_menu_a_supprimer .'<br />'.
1626
                'Ligne n° : '. __LINE__ .'<br />'.
1798
                'Ligne n° : '. __LINE__ .'<br />'.
1627
                'Fichier n° : '. __FILE__ .'<br />');
1799
                'Fichier n° : '. __FILE__ .'<br />');
1628
     }
1800
     }
1629
	
1801
	
1630
	
1802
	
1631
	    
1803
	    
1632
    $requete =  'DELETE FROM gen_menu '.
1804
    $requete =  'DELETE FROM gen_menu '.
1633
                'WHERE gm_id_menu = '.$id_menu_a_supprimer;
1805
                'WHERE gm_id_menu = '.$id_menu_a_supprimer;
1634
    
1806
    
1635
    $resultat = $db->query($requete);
1807
    $resultat = $db->query($requete);
1636
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1808
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1637
    
1809
    
1638
    //----------------------------------------------------------------------------
1810
    //----------------------------------------------------------------------------
1639
    // Puis on supprime les relations de ce menu
1811
    // Puis on supprime les relations de ce menu
1640
    $requete =  'DELETE FROM gen_menu_relation '.
1812
    $requete =  'DELETE FROM gen_menu_relation '.
1641
                'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer;
1813
                'WHERE gmr_id_menu_01 = '.$id_menu_a_supprimer;
1642
    
1814
    
1643
    $resultat = $db->query($requete);
1815
    $resultat = $db->query($requete);
1644
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1816
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1645
    
1817
    
1646
        //----------------------------------------------------------------------------
1818
        //----------------------------------------------------------------------------
1647
    // Puis on supprime les relations de ce menu
1819
    // Puis on supprime les relations de ce menu
1648
    $requete =  'DELETE FROM gen_menu_relation '.
1820
    $requete =  'DELETE FROM gen_menu_relation '.
1649
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer;
1821
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer;
1650
    
1822
    
1651
    $resultat = $db->query($requete);
1823
    $resultat = $db->query($requete);
1652
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1824
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1653
    
1825
    
1654
    
1826
    
1655
    
1827
    
1656
	 // Suppression du contenu !!!!
1828
	 // Suppression du contenu !!!!
1657
	
1829
	
1658
    $requete =  'DELETE FROM gen_menu_contenu '.
1830
    $requete =  'DELETE FROM gen_menu_contenu '.
1659
                'WHERE gmc_ce_menu =  '.$id_menu_a_supprimer.' ';
1831
                'WHERE gmc_ce_menu =  '.$id_menu_a_supprimer.' ';
1660
 
1832
 
1661
 
1833
 
1662
 
1834
 
1663
    $resultat = $db->query($requete);
1835
    $resultat = $db->query($requete);
1664
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1836
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1665
                
1837
                
1666
    
1838
    
1667
}
1839
}
1668
 
1840
 
1669
function ADME_verifier_traduction_possible($db, $url, $adme_site_id, $adme_menu_id) {
1841
function ADME_verifier_traduction_possible($db, $url, $adme_site_id, $adme_menu_id) {
1670
	
1842
	
1671
	
1843
	
1672
		$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
1844
		$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
1673
        if ($aso_valeurs === false) {
1845
        if ($aso_valeurs === false) {
1674
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
1846
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
1675
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
1847
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
1676
                'Ligne n° : '. __LINE__ .'<br />'.
1848
                'Ligne n° : '. __LINE__ .'<br />'.
1677
                'Fichier n° : '. __FILE__ .'<br />');
1849
                'Fichier n° : '. __FILE__ .'<br />');
1678
        }
1850
        }
1679
	
1851
	
1680
	    	// Recherche liste des menu deja traduits 
1852
	    	// Recherche liste des menu deja traduits 
1681
    		
1853
    		
1682
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
1854
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
1683
        	        'FROM gen_menu_relation, gen_menu '.
1855
        	        'FROM gen_menu_relation, gen_menu '.
1684
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
1856
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
1685
                	'AND gm_id_menu  = gmr_id_menu_02  '.
1857
                	'AND gm_id_menu  = gmr_id_menu_02  '.
1686
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
1858
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
1687
	
1859
	
1688
	  	$resultat = $db->query($requete) ;
1860
	  	$resultat = $db->query($requete) ;
1689
	  	
1861
	  	
1690
	    if (DB::isError($resultat)) {
1862
	    if (DB::isError($resultat)) {
1691
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1863
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1692
	    }
1864
	    }
1693
	    
1865
	    
1694
	    $not_in_langue='';
1866
	    $not_in_langue='';
1695
	    if ( $resultat->numRows() == 0 ) {
1867
	    if ( $resultat->numRows() == 0 ) {
1696
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
1868
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
1697
	    }
1869
	    }
1698
	    else {
1870
	    else {
1699
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1871
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
1700
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
1872
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
1701
 					$end="'".$ligne->gm_ce_i18n."'";
1873
 					$end="'".$ligne->gm_ce_i18n."'";
1702
				}
1874
				}
1703
	    		if ($not_in_langue) {
1875
	    		if ($not_in_langue) {
1704
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
1876
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
1705
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
1877
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
1706
			    }
1878
			    }
1707
	    		else {
1879
	    		else {
1708
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
1880
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
1709
	    		}
1881
	    		}
1710
	    }
1882
	    }
1711
	    
1883
	    
1712
	   					
1884
	   					
1713
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
1885
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
1714
 
1886
 
1715
		$resultat = $db->query($requete) ;
1887
		$resultat = $db->query($requete) ;
1716
	    if (DB::isError($resultat)) {
1888
	    if (DB::isError($resultat)) {
1717
    	    die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1889
    	    die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
1718
    	}
1890
    	}
1719
    	
1891
    	
1720
    
1892
    
1721
    $retour = $resultat->numRows();
1893
    $retour = $resultat->numRows();
1722
    $resultat->free();
1894
    $resultat->free();
1723
    
1895
    
1724
    $message='';
1896
    $message='';
1725
    if ($retour == 0) {
1897
    if ($retour == 0) {
1726
    	  $message = '<p class="pap_erreur">Plus de traduction possible pour ce menu </p>';
1898
    	  $message = '<p class="pap_erreur">Plus de traduction possible pour ce menu </p>';
1727
    }
1899
    }
1728
    return  $message;
1900
    return  $message;
1729
}
1901
}
1730
 
1902
 
1731
 
1903
 
1732
 
1904
 
1733
/** Fonction ADME_selectionnerMenuClassiqueTraduction()() Selection un menu classique comme traduction par defaut
1905
/** Fonction ADME_selectionnerMenuClassiqueTraduction()() Selection un menu classique comme traduction par defaut
1734
*
1906
*
1735
*
1907
*
1736
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1908
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1737
* @param  integer l'identifiant du site du menu à supprimer
1909
* @param  integer l'identifiant du site du menu à supprimer
1738
* @param  integer l'identifiant du menu à supprimer
1910
* @param  integer l'identifiant du menu à supprimer
1739
* @return void   le menu classique est supprimé de la base de données.
1911
* @return void   le menu classique est supprimé de la base de données.
1740
*/
1912
*/
1741
function ADME_selectionnerMenuClassiqueTraduction($db, $adme_id_site, $id_menu)
1913
function ADME_selectionnerMenuClassiqueTraduction($db, $adme_id_site, $id_menu)
1742
{
1914
{
1743
	
1915
	
1744
	// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on
1916
	// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on
1745
	// est dans un menu en version originale
1917
	// est dans un menu en version originale
1746
	
1918
	
1747
			
1919
			
1748
	$requete_origine_traduction  =  'SELECT gmr_id_menu_01 '.
1920
	$requete_origine_traduction  =  'SELECT gmr_id_menu_01 '.
1749
        	        				'FROM gen_menu_relation, gen_menu '.
1921
        	        				'FROM gen_menu_relation, gen_menu '.
1750
            	    				'WHERE gmr_id_menu_02  = ' . $id_menu .' '.
1922
            	    				'WHERE gmr_id_menu_02  = ' . $id_menu .' '.
1751
				                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
1923
				                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
1752
	
1924
	
1753
	$resultat_origine_traduction = $db->query($requete_origine_traduction) ;
1925
	$resultat_origine_traduction = $db->query($requete_origine_traduction) ;
1754
	  	
1926
	  	
1755
	if (DB::isError($resultat_origine_traduction)) {
1927
	if (DB::isError($resultat_origine_traduction)) {
1756
	    die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete_origine_traduction) );
1928
	    die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete_origine_traduction) );
1757
	}
1929
	}
1758
		
1930
		
1759
	
1931
	
1760
	if ($resultat_origine_traduction->numRows() > 0) {
1932
	if ($resultat_origine_traduction->numRows() > 0) {
1761
		$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT);
1933
		$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT);
1762
		$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01;
1934
		$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01;
1763
	}
1935
	}
1764
	else {
1936
	else {
1765
		$id_menu_origine=$id_menu;
1937
		$id_menu_origine=$id_menu;
1766
	}
1938
	}
1767
 
1939
 
1768
	$requete_suppression   = 'DELETE from gen_menu_relation '.
1940
	$requete_suppression   = 'DELETE from gen_menu_relation '.
1769
						     'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' .
1941
						     'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' .
1770
						     'AND gmr_id_valeur=105 '; // 105  Traduction par defaut 
1942
						     'AND gmr_id_valeur=105 '; // 105  Traduction par defaut 
1771
 
1943
 
1772
    $resultat_suppression = $db->query($requete_suppression);
1944
    $resultat_suppression = $db->query($requete_suppression);
1773
    (DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : '';
1945
    (DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : '';
1774
    
1946
    
1775
 
1947
 
1776
	$requete_insertion   = 'INSERT into gen_menu_relation '.
1948
	$requete_insertion   = 'INSERT into gen_menu_relation '.
1777
						     ' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' .
1949
						     ' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' .
1778
						     ' gmr_id_menu_02 = ' . $id_menu . ', ' .
1950
						     ' gmr_id_menu_02 = ' . $id_menu . ', ' .
1779
						     ' gmr_id_valeur = 105' ;
1951
						     ' gmr_id_valeur = 105' ;
1780
 
1952
 
1781
    $resultat_insertion = $db->query($requete_insertion);
1953
    $resultat_insertion = $db->query($requete_insertion);
1782
    (DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : '';
1954
    (DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : '';
1783
 
1955
 
1784
 
1956
 
1785
                
1957
                
1786
    
1958
    
1787
}
1959
}
1788
    
1960
    
1789
 
1961
 
1790
/** Fonction ADME_limiterMenuClassique() (limiter) un menu classique à la langue selectionne
1962
/** Fonction ADME_limiterMenuClassique() (limiter) un menu classique à la langue selectionne
1791
*
1963
*
1792
*
1964
*
1793
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1965
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1794
* @param  integer l'identifiant du site du menu à supprimer
1966
* @param  integer l'identifiant du site du menu à supprimer
1795
* @param  integer l'identifiant du menu à supprimer
1967
* @param  integer l'identifiant du menu à supprimer
1796
* @return void   le menu classique est supprimé de la base de données.
1968
* @return void   le menu classique est supprimé de la base de données.
1797
*/
1969
*/
1798
function ADME_limiterMenuClassique($db, $adme_id_site, $id_menu, $zone)
1970
function ADME_limiterMenuClassique($db, $adme_id_site, $id_menu, $zone)
1799
{
1971
{
1800
 
1972
 
1801
	
1973
	
1802
		$requete_insertion   = 'INSERT into gen_menu_relation '.
1974
		$requete_insertion   = 'INSERT into gen_menu_relation '.
1803
						     ' SET gmr_id_menu_01 = ' . $id_menu . ', ' .
1975
						     ' SET gmr_id_menu_01 = ' . $id_menu . ', ' .
1804
						     ' gmr_id_menu_02 = ' . $id_menu . ', ' .
1976
						     ' gmr_id_menu_02 = ' . $id_menu . ', ' .
1805
						     ' gmr_id_valeur = 106' ;
1977
						     ' gmr_id_valeur = 106' ;
1806
 
1978
 
1807
	    $resultat_insertion = $db->query($requete_insertion);
1979
	    $resultat_insertion = $db->query($requete_insertion);
1808
 
1980
 
1809
 
1981
 
1810
 
1982
 
1811
    $requete_mise_a_jour =  'UPDATE gen_menu SET '.
1983
    $requete_mise_a_jour =  'UPDATE gen_menu SET '.
1812
                'gm_ce_i18n = "'.$zone.'" '.
1984
                'gm_ce_i18n = "'.$zone.'" '.
1813
                'WHERE gm_id_menu = '.$id_menu;
1985
                'WHERE gm_id_menu = '.$id_menu;
1814
    
1986
    
1815
    $resultat_mise_a_jour = $db->query($requete_mise_a_jour);
1987
    $resultat_mise_a_jour = $db->query($requete_mise_a_jour);
1816
    (DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : '';
1988
    (DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : '';
1817
 
1989
 
1818
	    
1990
	    
1819
}
1991
}
1820
    
1992
    
1821
 
1993
 
1822
/** Fonction ADME_ouvrirMenuClassique() Ouvrir un menu classique à toutes les langues (suite à une fermeture)
1994
/** Fonction ADME_ouvrirMenuClassique() Ouvrir un menu classique à toutes les langues (suite à une fermeture)
1823
*
1995
*
1824
*
1996
*
1825
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1997
* @param  mixed  l'objet Pear DB de connexion à la base de données.
1826
* @param  integer l'identifiant du site du menu à supprimer
1998
* @param  integer l'identifiant du site du menu à supprimer
1827
* @param  integer l'identifiant du menu à supprimer
1999
* @param  integer l'identifiant du menu à supprimer
1828
* @return void   le menu classique est supprimé de la base de données.
2000
* @return void   le menu classique est supprimé de la base de données.
1829
*/
2001
*/
1830
function ADME_ouvrirMenuClassique($db, $adme_id_site, $id_menu)
2002
function ADME_ouvrirMenuClassique($db, $adme_id_site, $id_menu)
1831
{
2003
{
1832
	
2004
	
1833
 
2005
 
1834
	$requete_suppression   = 'DELETE from gen_menu_relation '.
2006
	$requete_suppression   = 'DELETE from gen_menu_relation '.
1835
						     'WHERE gmr_id_menu_01 = ' . $id_menu . ' ' .
2007
						     'WHERE gmr_id_menu_01 = ' . $id_menu . ' ' .
1836
						     'AND gmr_id_valeur=106 '; // 106  fermeture du menu
2008
						     'AND gmr_id_valeur=106 '; // 106  fermeture du menu
1837
 
2009
 
1838
    $resultat_suppression = $db->query($requete_suppression);
2010
    $resultat_suppression = $db->query($requete_suppression);
1839
 
2011
 
1840
 
2012
 
1841
    $requete_mise_a_jour =  'UPDATE gen_menu SET '.
2013
    $requete_mise_a_jour =  'UPDATE gen_menu SET '.
1842
                'gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
2014
                'gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '.
1843
                'WHERE gm_id_menu = '.$id_menu;
2015
                'WHERE gm_id_menu = '.$id_menu;
1844
    
2016
    
1845
    $resultat_mise_a_jour = $db->query($requete_mise_a_jour);
2017
    $resultat_mise_a_jour = $db->query($requete_mise_a_jour);
1846
    (DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : '';
2018
    (DB::isError($resultat_mise_a_jour)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_mise_a_jour->getMessage(), $requete_mise_a_jour)) : '';
1847
 
2019
 
1848
	
2020
	
1849
}
2021
}
1850
 
2022
 
1851
 
2023
 
1852
 
2024
 
1853
// +------------------------------------------------------------------------------------------------------+
2025
// +------------------------------------------------------------------------------------------------------+
1854
// |                                            PIED du PROGRAMME                                         |
2026
// |                                            PIED du PROGRAMME                                         |
1855
// +------------------------------------------------------------------------------------------------------+
2027
// +------------------------------------------------------------------------------------------------------+
1856
 
2028
 
1857
 
2029
 
1858
/* +--Fin du code ----------------------------------------------------------------------------------------+
2030
/* +--Fin du code ----------------------------------------------------------------------------------------+
1859
*
2031
*
1860
* $Log: not supported by cvs2svn $
2032
* $Log: not supported by cvs2svn $
1861
* Revision 1.41  2007-10-24 14:43:02  ddelon
2033
* Revision 1.41  2007-10-24 14:43:02  ddelon
1862
* Gestion des menus reservés à une langue
2034
* Gestion des menus reservés à une langue
1863
*
2035
*
1864
* Revision 1.40  2007-07-03 14:35:11  florian
2036
* Revision 1.40  2007-07-03 14:35:11  florian
1865
* correction bug maj non prise en charge
2037
* correction bug maj non prise en charge
1866
*
2038
*
1867
* Revision 1.39  2007-07-03 14:07:02  florian
2039
* Revision 1.39  2007-07-03 14:07:02  florian
1868
* correction bug maj non prise en charge
2040
* correction bug maj non prise en charge
1869
*
2041
*
1870
* Revision 1.38  2007-06-26 14:18:53  florian
2042
* Revision 1.38  2007-06-26 14:18:53  florian
1871
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier
2043
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier
1872
*
2044
*
1873
* Revision 1.37  2006/10/16 15:49:07  ddelon
2045
* Revision 1.37  2006/10/16 15:49:07  ddelon
1874
* Refactorisation code mulitlinguisme et gestion menu invisibles
2046
* Refactorisation code mulitlinguisme et gestion menu invisibles
1875
*
2047
*
1876
* Revision 1.36  2006/10/06 13:38:45  florian
2048
* Revision 1.36  2006/10/06 13:38:45  florian
1877
* ergonomie amélioree
2049
* ergonomie amélioree
1878
*
2050
*
1879
* Revision 1.35  2006/09/07 13:45:56  jp_milcent
2051
* Revision 1.35  2006/09/07 13:45:56  jp_milcent
1880
* Trie par ordre alphabétique des appli.
2052
* Trie par ordre alphabétique des appli.
1881
*
2053
*
1882
* Revision 1.34  2006/06/29 23:04:01  ddelon
2054
* Revision 1.34  2006/06/29 23:04:01  ddelon
1883
* Bug defaut traduction sur menu commun
2055
* Bug defaut traduction sur menu commun
1884
*
2056
*
1885
* Revision 1.33  2006/06/29 18:58:57  ddelon
2057
* Revision 1.33  2006/06/29 18:58:57  ddelon
1886
* Multilinguisme : menu par defaut pour les menu commun
2058
* Multilinguisme : menu par defaut pour les menu commun
1887
*
2059
*
1888
* Revision 1.32  2006/06/28 12:53:34  ddelon
2060
* Revision 1.32  2006/06/28 12:53:34  ddelon
1889
* Multilinguisme : menu par defaut
2061
* Multilinguisme : menu par defaut
1890
*
2062
*
1891
* Revision 1.31  2006/04/12 21:11:54  ddelon
2063
* Revision 1.31  2006/04/12 21:11:54  ddelon
1892
* Multilinguisme menus communs
2064
* Multilinguisme menus communs
1893
*
2065
*
1894
* Revision 1.30  2006/03/27 14:33:04  ddelon
2066
* Revision 1.30  2006/03/27 14:33:04  ddelon
1895
* Gestion suppression de contenu menu afficheur
2067
* Gestion suppression de contenu menu afficheur
1896
*
2068
*
1897
* Revision 1.29  2006/03/23 20:24:59  ddelon
2069
* Revision 1.29  2006/03/23 20:24:59  ddelon
1898
* *** empty log message ***
2070
* *** empty log message ***
1899
*
2071
*
1900
* Revision 1.28  2006/03/15 09:30:50  florian
2072
* Revision 1.28  2006/03/15 09:30:50  florian
1901
* suppression des echos, qui entrainaient des problemes d'affichages
2073
* suppression des echos, qui entrainaient des problemes d'affichages
1902
*
2074
*
1903
* Revision 1.27  2006/03/13 21:00:20  ddelon
2075
* Revision 1.27  2006/03/13 21:00:20  ddelon
1904
* Suppression messages d'erreur multilinguisme
2076
* Suppression messages d'erreur multilinguisme
1905
*
2077
*
1906
* Revision 1.26  2006/03/10 11:02:36  alexandre_tb
2078
* Revision 1.26  2006/03/10 11:02:36  alexandre_tb
1907
* remplacement de l'image "Traduire" par un texte "traduire" vu qu'on a pas d'image pour la notion de traduire...
2079
* remplacement de l'image "Traduire" par un texte "traduire" vu qu'on a pas d'image pour la notion de traduire...
1908
*
2080
*
1909
* Revision 1.25  2006/03/02 10:49:49  ddelon
2081
* Revision 1.25  2006/03/02 10:49:49  ddelon
1910
* Fusion branche multilinguisme dans branche principale
2082
* Fusion branche multilinguisme dans branche principale
1911
*
2083
*
1912
* Revision 1.24.2.1  2006/02/28 14:02:11  ddelon
2084
* Revision 1.24.2.1  2006/02/28 14:02:11  ddelon
1913
* Finition multilinguisme
2085
* Finition multilinguisme
1914
*
2086
*
1915
* Revision 1.24  2005/09/23 13:58:07  ddelon
2087
* Revision 1.24  2005/09/23 13:58:07  ddelon
1916
* Php5, Projet et Redirection
2088
* Php5, Projet et Redirection
1917
*
2089
*
1918
* Revision 1.23  2005/09/20 17:01:22  ddelon
2090
* Revision 1.23  2005/09/20 17:01:22  ddelon
1919
* php5 et bugs divers
2091
* php5 et bugs divers
1920
*
2092
*
1921
* Revision 1.22  2005/07/08 21:13:15  ddelon
2093
* Revision 1.22  2005/07/08 21:13:15  ddelon
1922
* Gestion indentation menu
2094
* Gestion indentation menu
1923
*
2095
*
1924
* Revision 1.21  2005/05/26 16:13:08  jpm
2096
* Revision 1.21  2005/05/26 16:13:08  jpm
1925
* Correction taille éditeur: passage en text
2097
* Correction taille éditeur: passage en text
1926
*
2098
*
1927
* Revision 1.19  2005/05/26 15:34:46  jpm
2099
* Revision 1.19  2005/05/26 15:34:46  jpm
1928
* Ajout d'un espace.
2100
* Ajout d'un espace.
1929
*
2101
*
1930
* Revision 1.18  2005/05/26 08:54:20  jpm
2102
* Revision 1.18  2005/05/26 08:54:20  jpm
1931
* Ajout info admin ayant fait la dernière modif.
2103
* Ajout info admin ayant fait la dernière modif.
1932
*
2104
*
1933
* Revision 1.17  2005/04/19 16:47:16  jpm
2105
* Revision 1.17  2005/04/19 16:47:16  jpm
1934
* Gestion des dates  de fin de validité des menus.
2106
* Gestion des dates  de fin de validité des menus.
1935
*
2107
*
1936
* Revision 1.16  2005/03/29 15:49:12  jpm
2108
* Revision 1.16  2005/03/29 15:49:12  jpm
1937
* Ajout de la date de création dans le formulaire des menus.
2109
* Ajout de la date de création dans le formulaire des menus.
1938
*
2110
*
1939
* Revision 1.15  2005/02/28 11:05:06  jpm
2111
* Revision 1.15  2005/02/28 11:05:06  jpm
1940
* Modification des auteurs.
2112
* Modification des auteurs.
1941
*
2113
*
1942
* Revision 1.14  2004/12/01 16:47:28  jpm
2114
* Revision 1.14  2004/12/01 16:47:28  jpm
1943
* Ajout d'une boite javascript de confirmation de suppression d'un menu.
2115
* Ajout d'une boite javascript de confirmation de suppression d'un menu.
1944
*
2116
*
1945
* Revision 1.13  2004/11/29 18:34:51  jpm
2117
* Revision 1.13  2004/11/29 18:34:51  jpm
1946
* Correction bogue checkbox.
2118
* Correction bogue checkbox.
1947
*
2119
*
1948
* Revision 1.12  2004/11/15 16:51:12  jpm
2120
* Revision 1.12  2004/11/15 16:51:12  jpm
1949
* Correction bogue de mise à jour de l'ordre des menus.
2121
* Correction bogue de mise à jour de l'ordre des menus.
1950
*
2122
*
1951
* Revision 1.11  2004/11/10 19:41:14  jpm
2123
* Revision 1.11  2004/11/10 19:41:14  jpm
1952
* Correction bogue.
2124
* Correction bogue.
1953
*
2125
*
1954
* Revision 1.10  2004/11/10 17:26:07  jpm
2126
* Revision 1.10  2004/11/10 17:26:07  jpm
1955
* Fin gestion de la traduction.
2127
* Fin gestion de la traduction.
1956
*
2128
*
1957
* Revision 1.9  2004/11/09 17:53:00  jpm
2129
* Revision 1.9  2004/11/09 17:53:00  jpm
1958
* Changement des noms des actions sur les menus classiques.
2130
* Changement des noms des actions sur les menus classiques.
1959
*
2131
*
1960
* Revision 1.8  2004/11/09 17:48:35  jpm
2132
* Revision 1.8  2004/11/09 17:48:35  jpm
1961
* Gestion de différentes interfaces d'administration.
2133
* Gestion de différentes interfaces d'administration.
1962
*
2134
*
1963
* Revision 1.7  2004/11/09 12:37:34  jpm
2135
* Revision 1.7  2004/11/09 12:37:34  jpm
1964
* Fin de gestion des menus et mise en conformité avec la convention de codage.
2136
* Fin de gestion des menus et mise en conformité avec la convention de codage.
1965
*
2137
*
1966
* Revision 1.6  2004/11/08 17:40:07  jpm
2138
* Revision 1.6  2004/11/08 17:40:07  jpm
1967
* Gestion correcte de l'ouverture et fermeture des menus.
2139
* Gestion correcte de l'ouverture et fermeture des menus.
1968
* Utilisation des sessions.
2140
* Utilisation des sessions.
1969
*
2141
*
1970
* Revision 1.5  2004/11/04 19:11:38  jpm
2142
* Revision 1.5  2004/11/04 19:11:38  jpm
1971
* Mise en conformité vis à vis de la convention de codage.
2143
* Mise en conformité vis à vis de la convention de codage.
1972
* Amélioration de la récursivité de la gestion de l'affichage des menus.
2144
* Amélioration de la récursivité de la gestion de l'affichage des menus.
1973
*
2145
*
1974
* Revision 1.4  2004/10/25 16:27:42  jpm
2146
* Revision 1.4  2004/10/25 16:27:42  jpm
1975
* Correction d'un bogue dans la gestion du déplacement des menus.
2147
* Correction d'un bogue dans la gestion du déplacement des menus.
1976
*
2148
*
1977
* Revision 1.3  2004/09/23 17:45:13  jpm
2149
* Revision 1.3  2004/09/23 17:45:13  jpm
1978
* Amélioration de la gestion des liens annuler et du selecteur de sites.
2150
* Amélioration de la gestion des liens annuler et du selecteur de sites.
1979
*
2151
*
1980
* Revision 1.2  2004/07/06 17:07:37  jpm
2152
* Revision 1.2  2004/07/06 17:07:37  jpm
1981
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
2153
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
1982
*
2154
*
1983
* Revision 1.1  2004/06/16 15:04:32  jpm
2155
* Revision 1.1  2004/06/16 15:04:32  jpm
1984
* Changement de nom de Génésia en Papyrus.
2156
* Changement de nom de Génésia en Papyrus.
1985
* Changement de l'arborescence.
2157
* Changement de l'arborescence.
1986
*
2158
*
1987
* Revision 1.27  2004/05/10 12:13:03  jpm
2159
* Revision 1.27  2004/05/10 12:13:03  jpm
1988
* Modification des formulaires.
2160
* Modification des formulaires.
1989
*
2161
*
1990
* Revision 1.26  2004/05/07 16:31:20  jpm
2162
* Revision 1.26  2004/05/07 16:31:20  jpm
1991
* Amélioration du formulaire d'un menu classique.
2163
* Amélioration du formulaire d'un menu classique.
1992
*
2164
*
1993
* Revision 1.25  2004/05/07 07:23:53  jpm
2165
* Revision 1.25  2004/05/07 07:23:53  jpm
1994
* Amélioration du code, des commentaires et correction de bogues.
2166
* Amélioration du code, des commentaires et correction de bogues.
1995
*
2167
*
1996
*
2168
*
1997
* +-- Fin du code ----------------------------------------------------------------------------------------+
2169
* +-- Fin du code ----------------------------------------------------------------------------------------+
1998
*/
2170
*/
1999
?>
2171
?>