Subversion Repositories Applications.papyrus

Rev

Rev 1676 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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