Subversion Repositories Applications.papyrus

Rev

Rev 2066 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// Copyright (C) 1999-2004 Tela Botanica (accueil@tela-botanica.org)
4
//
5
// Ce logiciel est un programme informatique servant à gérer du contenu et des
6
// applications web.
7
 
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
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
12
// sur le site "http://www.cecill.info".
13
 
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
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
18
// titulaire des droits patrimoniaux et les concédants successifs.
19
 
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
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 à
24
// manipuler et qui le réserve donc à des développeurs et des professionnels
25
// avertis possédant  des  connaissances  informatiques approfondies.  Les
26
// utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
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,
29
// à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
30
 
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
33
// termes.
34
// ----
35
// CVS : $Id: admin_menu.php,v 1.29 2007-10-25 10:10:23 alexandre_tb Exp $
36
/**
37
* Application gérant les menus de Papyrus
38
*
39
* Cette application permet de gérer les menus classiques, les menus communs
40
* et les liaison d'une application à un menu.
41
*
42
*@package Admin_menu
43
//Auteur original :
44
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
45
//Autres auteurs :
46
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
47
*@author        Laurent COUDOUNEAU <lc@gsite.org>
48
*@copyright     Tela-Botanica 2000-2004
49
*@version       $Revision: 1.29 $ $Date: 2007-10-25 10:10:23 $
50
// +------------------------------------------------------------------------------------------------------+
51
*/
52
 
53
// +------------------------------------------------------------------------------------------------------+
54
// |                                            ENTETE du PROGRAMME                                       |
55
// +------------------------------------------------------------------------------------------------------+
56
/** Inclusion du fichier de configuration de cette application.*/
57
require_once GEN_CHEMIN_PAP.'applications/admin_menu/configuration/adme_configuration.inc.php';
58
 
59
//Utilisation de la bibliotheque PEAR NET_URL
60
 
61
/** Inclusion de la bibliotheque PEAR de conception de formulaire.*/
62
require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
63
require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php';
64
 
65
/** Inclusion de l'API de fonctions gerant les erreurs sql.*/
66
require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php';
67
 
68
/** Inclusion des fonctions de manipulation du sql.
69
* Permet la recuperation d'un nouvel identifiant d'une table.*/
70
require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
71
 
72
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_site..." de Papyrus.*/
73
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';
74
 
75
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_menu..." de Papyrus.*/
76
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
77
 
78
/** <BR> Inclusion de la bibliotheque de fonctions concernant les tables "gen_applications..." de Papyrus.*/
79
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php';
80
 
81
/** <BR> Inclusion de la bibliotheque de fonctions concernant l'affichage commun.*/
82
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_general.fonct.php';//ok
83
 
84
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion des menus classiques.*/
85
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_classique.fonct.php';//ok
86
 
87
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion des menus communs.*/
88
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_commun.fonct.php';//ok
89
 
90
/** <BR> Inclusion de la bibliotheque de fonctions concernant la gestion de la redaction de contenu.*/
91
//require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_contenu.fonct.php';//ok
92
 
93
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus
94
if (file_exists(ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
95
    /** Inclusion du fichier de traduction suite a la transaction avec le navigateur.*/
96
    require_once ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
97
} else {
98
    /** Inclusion du fichier de traduction par defaut.*/
99
    require_once ADME_CHEMIN_LANGUE.'adme_langue_'.ADME_I18N_DEFAUT.'.inc.php';
100
}
101
 
102
// Stockage des styles de l'application
103
GEN_stockerStyleExterne('adme_standard', ADME_CHEMIN_STYLE.'adme_standard.css');
104
 
105
// +------------------------------------------------------------------------------------------------------+
106
// |                                            CORPS du PROGRAMME                                        |
107
// +------------------------------------------------------------------------------------------------------+
108
 
109
function afficherContenuCorps()
110
{
111
 
112
 
113
 
114
    //-------------------------------------------------------------------------------------------------------------------
115
    // Initialisation des variables
116
    $sortie_xhtml = '';
117
    $objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth'];
118
    $objet_pear_db = $GLOBALS['_GEN_commun']['pear_db'];
119
    $objet_pear_url = $GLOBALS['_GEN_commun']['url'];
120
    $copie_objet_pear_url = (PHP_VERSION < 5) ? $objet_pear_url : clone($objet_pear_url);
121
    $url_site = $GLOBALS['_GEN_commun']['url_site'];
122
    if (isset($GLOBALS['_GEN_commun']['url_menu'])) {
123
	    $url_menu = $GLOBALS['_GEN_commun']['url_menu'];
124
    }
125
    if (isset($_POST['adme_site_id'])) {
126
        $_GET['adme_site_id'] = $_POST['adme_site_id'];
127
    } else {
128
        $_GET['adme_site_id'] = (!isset($_GET['adme_site_id'])) ? 1 : $_GET['adme_site_id'];
129
    }
130
    $_GET['adme_menu_id'] = (!isset($_GET['adme_menu_id'])) ? 0 : $_GET['adme_menu_id'];
131
    $_GET['adme_action'] = (!isset($_GET['adme_action'])) ? '' : $_GET['adme_action'];
132
 
133
    //-------------------------------------------------------------------------------------------------------------------
134
    // Authentification
135
    if ($objet_pear_auth->getAuth()) {
136
 
137
        // quelques fois ces variables de session sont utilisées sans avoir été initialisées
138
        // ce qui peut provoquer des warnings et des bugs mineurs
139
        if(!isset($_SESSION['adme_menus_classiques_ouverts'])) {
140
            $_SESSION['adme_menus_classiques_ouverts'] = array();
141
        }
142
 
143
        if(!isset($_SESSION['adme_menus_communs_ouverts'])) {
144
            $_SESSION['adme_menus_communs_ouverts'] = array();
145
        }
146
 
147
 
148
 
149
        //---------------------------------------------------------------------------------------------------------------
150
        // GESTION DES MENUS CLASSIQUES
151
 
152
        // Ajouter un menu classique
153
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AJOUTER) {
154
            $message = ADME_ajouterMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']);
155
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
156
			header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
157
			exit;
158
        }
159
 
160
 
161
        // Formulaire de mise à jour du menu
162
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER) {
163
        	$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
164
        	$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
165
        	$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION);
166
        	header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
167
        	exit;
168
        }
169
 
170
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION) {
171
            $sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
172
            return $sortie_xhtml;
173
        }
174
 
175
        //var_dump($_POST);
176
        if (isset($_POST['form_boutons'][ADME_LG_ACTION_CLASSIQUE_VERIFIER])) {
177
            // Nous cherchons a enregistrer une modification de menu
178
            $message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST);
179
            if (!empty($message)) {
180
                // Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
181
                $sortie_xhtml .= $message;
182
                $sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
183
                return $sortie_xhtml;
184
            } else {
185
                // Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart.
186
                $message = ADME_modifierMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
187
            }
188
        }
189
 
190
        // Deplacer le menu vers le haut
191
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MONTER) {
192
            ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
193
        }
194
 
195
        // Deplacer le menu vers le bas
196
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DESCENDRE) {
197
            ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
198
        }
199
 
200
        // Deplacer le menu vers la gauche (diminuer d'un niveau)
201
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DIMINUER) {
202
            ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
203
        }
204
 
205
        // Deplacer le menu vers la droite (augmenter d'un niveau)
206
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AUGMENTER) {
207
            ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
208
        }
209
 
210
        // Deplacer le menu vers un autre site
211
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DEPLACER_MENUS) {
212
            if(isset($_POST['adme_id_site_depart']) && isset($_POST['adme_id_site_arrivee']) && isset($_POST['adme_id_menu_deplacement'])) {
213
                ADME_deplacerMenuClassiqueVersSite($objet_pear_db, $_POST['adme_id_site_depart'], $_POST['adme_id_site_arrivee'],$_POST['adme_id_menu_deplacement']);
214
            }
215
        }
216
 
217
        // Traduire le menu
218
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE) {
219
        	$message='';
220
        	$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
221
            if ((!empty($message))) {
222
            // Pas de traduction possible !
223
                $sortie_xhtml .= $message;
224
            	$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
225
        		return $sortie_xhtml;
226
            }
227
            else {
228
		        // 	Les données sont valide. Nous affichons le formulaire de traduction
229
	        	$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
230
	        	$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
231
	        	$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION);
232
	        	header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
233
	        	exit;
234
        	}
235
 
236
        }
237
 
238
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION) {
239
        	$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE);
240
        	return $sortie_xhtml;
241
        }
242
 
243
 
244
        if (isset($_POST['form_boutons'][ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
245
            // Nous cherchons a enregistrer une traduction de menu
246
            $message = ADME_validerFormTraduireMenuClassique($objet_pear_db, $_POST);
247
            if (!empty($message)) {
248
                // Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
249
                $sortie_xhtml .= $message;
250
                $sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST);
251
                return $sortie_xhtml;
252
            } else {
253
                // Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart.
254
                $message = ADME_traduireMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
255
            }
256
        }
257
 
258
 
259
        // Supprimer le menu
260
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER) {
261
            // Recuperation du menu de remplacement pour eviter de fermer l'arborescence
262
            if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {
263
                $adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;
264
            } else {
265
                $adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);
266
            }
267
            // Suppression du menu classique
268
            $message = ADME_supprimerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
269
            // Remplacement de l'id du menu courant par le remplacant.
270
            $_GET['adme_menu_id'] = $adme_menu_id_remplacement;
271
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
272
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
273
            exit;
274
        }
275
 
276
 
277
        // Supprimer le menu traduit
278
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION) {
279
            // Suppression du menu classique
280
            $message = ADME_supprimerMenuClassiqueTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
281
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
282
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
283
            exit;
284
        }
285
 
286
        // Selectionner le menu comme traduction par defaut :
287
 
288
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUCTION_DEFAUT) {
289
            $message = ADME_selectionnerMenuClassiqueTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
290
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
291
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
292
            exit;
293
        }
294
 
295
 
296
        // Restreindre le menu a la langue selectionne
297
 
298
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_LIMITER) {
299
            $message = ADME_limiterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'],$_GET['zone']);
300
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id'],$_GET['zone']);
301
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
302
            exit;
303
        }
304
 
305
        // Ouvrir le menu suite a une restriction
306
 
307
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_OUVRIR) {
308
            $message = ADME_ouvrirMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
309
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
310
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
311
            exit;
312
        }
313
 
314
 
315
 
316
 
317
 
318
        //---------------------------------------------------------------------------------------------------------------
319
        // GESTION DES MENUS COMMUNS
320
 
321
        // Ajout un menu commun
322
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AJOUTER) {
323
            $message = ADME_ajouterMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']);
324
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
325
			header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
326
			exit;
327
 
328
        }
329
 
330
 
331
 
332
        // Formulaire de mise a jour du menu commun.
333
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER) {
334
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
335
        	$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
336
        	$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_MODIFIER_ACTION);
337
        	header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
338
        	exit;
339
        }
340
 
341
 
342
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER_ACTION) {
343
            $sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
344
            return $sortie_xhtml;
345
        }
346
 
347
 
348
 
349
        if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER])) {
350
            // Nous cherchons a enregistrer une modification de menu
351
            $message = ADME_validerFormAjouterMenuCommun($objet_pear_db, $_POST);
352
            if (!empty($message)) {
353
                // Les donnees ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
354
                $sortie_xhtml .= $message;
355
                $sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
356
                return $sortie_xhtml;
357
            } else {
358
                // Les donnees sont valide. Nous les enregistrons et retournons au formulaire de depart.
359
                $message = ADME_modifierMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
360
            }
361
        }
362
 
363
        // Deplace vers le haut de la hierarchie un menu commun
364
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MONTER) {
365
            ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
366
        }
367
 
368
        // Deplace vers le bas de la hierarchie un menu commun
369
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DESCENDRE) {
370
            ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
371
        }
372
 
373
        // Deplacer le menu vers la gauche (diminuer d'un niveau)
374
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DIMINUER) {
375
            ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
376
        }
377
 
378
        // Deplacer le menu vers la droite (augmenter d'un niveau)
379
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AUGMENTER) {
380
            ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
381
        }
382
 
383
        // Traduire le menu
384
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE) {
385
        	$message='';
386
        	$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
387
            if ((!empty($message))) {
388
            // Pas de traduction possible !
389
                $sortie_xhtml .= $message;
390
            	$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
391
        		return $sortie_xhtml;
392
            }
393
            else {
394
		        // 	Les données sont valide. Nous affichons le formulaire de traduction
395
	        	$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
396
	        	$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
397
	        	$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION);
398
	        	header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
399
	        	exit;
400
        	}
401
 
402
        }
403
 
404
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION) {
405
        	$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE);
406
        	return $sortie_xhtml;
407
        }
408
 
409
 
410
        if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION])) {
411
            // Nous cherchons à enregistrer une traduction de menu
412
            $message = ADME_validerFormTraduireMenuCommun($objet_pear_db, $_POST);
413
            if (!empty($message)) {
414
                // Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
415
                $sortie_xhtml .= $message;
416
                $sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST);
417
                return $sortie_xhtml;
418
            } else {
419
                // Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
420
                $message = ADME_traduireMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
421
            }
422
        }
423
 
424
 
425
 
426
        // Supprime définitivement un menu commun
427
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER) {
428
            // Récupération du menu de remplacement pour éviter de fermer l'arborescence
429
            if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {
430
                $adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;
431
            } else {
432
                $adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);
433
            }
434
            // Suppression du menu commun
435
            ADME_supprimerMenuCommun($objet_pear_db, $_GET['adme_menu_id']);
436
            // Remplacement de l'id du menu courant par le remplaçant.
437
            $_GET['adme_menu_id'] = $adme_menu_id_remplacement;
438
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
439
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
440
            exit;
441
 
442
        }
443
 
444
        // Supprimer le menu traduit
445
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION) {
446
            // Suppression du menu commun
447
            $message = ADME_supprimerMenuCommunTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
448
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
449
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
450
            exit;
451
        }
452
 
453
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT) {
454
            $message = ADME_selectionnerMenuCommunTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
455
            $copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
456
            header("Location: ".str_replace('&amp;', '&', $copie_objet_pear_url->getUrl()));
457
            exit;
458
        }
459
 
460
 
461
 
462
 
463
        //---------------------------------------------------------------------------------------------------------------
464
        // GESTION DES INTERFACES D'ADMINISTRATION
465
 
466
        // Appel de l'application d'administration
467
        if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_ADMINISTRER) {
468
            $id_appli = GEN_retournerIdAppliMenu($objet_pear_db, $_GET['adme_menu_id']);
469
            $chemin_admin = GEN_retournerCheminInterfaceAdmin($objet_pear_db, $id_appli);
470
            $nom_admin = GEN_retournerNomInterfaceAdmin($objet_pear_db, $id_appli);
471
            if ($chemin_admin !== false) {
472
                include_once $chemin_admin;
473
                $objet_admin = new $nom_admin;
474
                if (method_exists($objet_admin, 'afficherContenuCorps')) {
475
                    $retour_admin = $objet_admin->afficherContenuCorps();
476
                }
477
                if ($retour_admin !== false) {
478
                    return $retour_admin;
479
                }
480
            }
481
        }
482
 
483
        //---------------------------------------------------------------------------------------------------------------
484
        // Affichage des messages si nécessaire
485
        if (! empty($message)) {
486
            $sortie_xhtml .= "\n".'<p class="pap_erreur">'.$message.'</p>';
487
        }
488
 
489
        //---------------------------------------------------------------------------------------------------------------
490
        // Affichage formulaire principal et retour du XHTML!
491
        $sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
492
        return $sortie_xhtml;
493
        // Fin de l'authentification
494
    } else {
495
        // Pas d'authentification nous affichons un message!
496
        $res='';
497
    	$res .= '<p class="zone_alert">'.ADME_IDENTIFIEZ_VOUS.'</p>'."\n" ;
498
		$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ;
499
		$res .= $objet_pear_url->getURL();
500
		$res .= '" method="post">
501
                <fieldset>
502
                    <legend>Identifiez vous</legend>
503
                        <label for="username">Courriel : </label>
504
                        <input type="text"  id="username" name="username" maxlength="80" tabindex="1" value="courriel" />
505
                        <label for="password">Mot de passe : </label>
506
                        <input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" />
507
                        <input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" />
508
                </fieldset>
509
                </form>';
510
        return $res ;
511
    }
512
}// Fin de la fonction afficherContenuCorps()
513
 
514
// +------------------------------------------------------------------------------------------------------+
515
// |                                            PIED du PROGRAMME                                         |
516
// +------------------------------------------------------------------------------------------------------+
517
 
518
 
519
 
520
/* +--Fin du code ----------------------------------------------------------------------------------------+
521
*
522
* $Log: not supported by cvs2svn $
523
* Revision 1.28  2007-10-24 14:43:01  ddelon
524
* Gestion des menus reservés à une langue
525
*
526
* Revision 1.27  2007-07-04 14:59:13  florian
527
* correction bug maj non prise en charge
528
*
529
* Revision 1.26  2007/04/19 15:34:35  neiluj
530
* préparration release (livraison) "Narmer" - v0.25
531
*
532
* Revision 1.25  2006/10/06 10:40:51  florian
533
* harmonisation des messages d'erreur de l'authentification
534
*
535
* Revision 1.24  2006/06/29 19:13:26  ddelon
536
* Bug defaut traduction sur menu commun
537
*
538
* Revision 1.23  2006/06/29 18:58:57  ddelon
539
* Multilinguisme : menu par defaut pour les menu commun
540
*
541
* Revision 1.22  2006/06/28 12:53:34  ddelon
542
* Multilinguisme : menu par defaut
543
*
544
* Revision 1.21  2006/04/12 21:11:54  ddelon
545
* Multilinguisme menus communs
546
*
547
* Revision 1.20  2006/03/23 20:24:58  ddelon
548
* *** empty log message ***
549
*
550
* Revision 1.19  2006/03/02 10:49:49  ddelon
551
* Fusion branche multilinguisme dans branche principale
552
*
553
* Revision 1.18.2.2  2006/02/28 14:02:08  ddelon
554
* Finition multilinguisme
555
*
556
* Revision 1.18.2.1  2005/12/27 15:56:00  ddelon
557
* Fusion Head vers multilinguisme (wikini double clic)
558
*
559
* Revision 1.18  2005/09/23 15:27:17  florian
560
* correction de bugs
561
*
562
* Revision 1.17  2005/07/18 16:14:32  ddelon
563
* css admin + menu communs
564
*
565
* Revision 1.16  2005/07/08 21:13:15  ddelon
566
* Gestion indentation menu
567
*
568
* Revision 1.15  2005/02/28 11:04:25  jpm
569
* Modification des auteurs.
570
*
571
* Revision 1.14  2005/02/28 10:31:41  jpm
572
* Changement de nom de dossier.
573
*
574
* Revision 1.13  2004/11/16 13:01:41  jpm
575
* Ajout d'un commentaire.
576
*
577
* Revision 1.12  2004/11/15 16:51:08  jpm
578
* Correction bogue de mise à jour de l'ordre des menus.
579
*
580
* Revision 1.11  2004/11/10 17:26:18  jpm
581
* Fin gestion de la traduction.
582
*
583
* Revision 1.10  2004/11/10 11:58:58  jpm
584
* Mise en place des constantes de traduction de l'appli.
585
*
586
* Revision 1.9  2004/11/09 17:53:03  jpm
587
* Changement des noms des actions sur les menus classiques.
588
*
589
* Revision 1.8  2004/11/09 17:49:11  jpm
590
* Mise en conformité et gestion de différentes interfaces d'administration.
591
*
592
* Revision 1.7  2004/10/25 16:28:02  jpm
593
* Correction convention de codage.
594
*
595
* Revision 1.6  2004/09/23 17:45:19  jpm
596
* Amélioration de la gestion des liens annuler et du selecteur de sites.
597
*
598
* Revision 1.5  2004/09/23 16:49:24  jpm
599
* Correction d'une erreur dans l'url de l'ajout de menu commun.
600
*
601
* Revision 1.4  2004/07/06 17:24:54  jpm
602
* Suppression d'inclusions de fichiers inutiles.
603
*
604
* Revision 1.3  2004/07/06 17:07:28  jpm
605
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
606
*
607
* Revision 1.2  2004/06/16 15:06:30  jpm
608
* Suppression fichier inutile.
609
*
610
* Revision 1.1  2004/06/16 15:04:39  jpm
611
* Changement de nom de Papyrus en Papyrus.
612
* Changement de l'arborescence.
613
*
614
* Revision 1.26  2004/05/10 14:32:21  jpm
615
* Changement du titre.
616
*
617
* Revision 1.25  2004/05/10 12:13:23  jpm
618
* Ajout de la sélection des sites.
619
*
620
* Revision 1.24  2004/05/07 16:33:05  jpm
621
* Intégration de constantes.
622
*
623
* Revision 1.23  2004/05/07 07:23:53  jpm
624
* Amélioration du code, des commentaires et correction de bogues.
625
*
626
* Revision 1.22  2004/05/05 06:45:44  jpm
627
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
628
*
629
* Revision 1.21  2004/05/04 16:27:33  jpm
630
* Réduction de code pour la fonction afficherContenuTete().
631
*
632
* Revision 1.20  2004/05/03 11:23:26  jpm
633
* Début mise en conformité des commentaires.
634
*
635
*
636
* +-- Fin du code ----------------------------------------------------------------------------------------+
637
*/
638
?>