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 |
// ----
|
818 |
ddelon |
35 |
// CVS : $Id: admin_menu.php,v 1.21 2006-04-12 21:11:54 ddelon 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
|
818 |
ddelon |
49 |
*@version $Revision: 1.21 $ $Date: 2006-04-12 21:11:54 $
|
7 |
jpm |
50 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
51 |
*/
|
|
|
52 |
|
|
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
54 |
// | ENTÊTE 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 |
|
163 |
jpm |
59 |
//Utilisation de la bibliothèque PEAR NET_URL
|
|
|
60 |
|
7 |
jpm |
61 |
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
|
|
|
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 |
|
|
|
65 |
/** Inclusion de l'API de fonctions gérant 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.
|
|
|
69 |
* Permet la récupération d'un nouvel identifiant d'une table.*/
|
276 |
jpm |
70 |
require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
|
7 |
jpm |
71 |
|
|
|
72 |
/** <BR> Inclusion de la bibliothèque 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 bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/
|
|
|
76 |
require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
|
|
|
77 |
|
142 |
jpm |
78 |
/** <BR> Inclusion de la bibliothèque 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 bibliothèque de fonctions concernant l'affichage commun.*/
|
|
|
82 |
require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_general.fonct.php';//ok
|
|
|
83 |
|
7 |
jpm |
84 |
/** <BR> Inclusion de la bibliothèque 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 bibliothèque 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 bibliothèque de fonctions concernant la gestion de la rédaction 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')) {
|
|
|
95 |
/** Inclusion du fichier de traduction suite à 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 défaut.*/
|
|
|
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'];
|
790 |
ddelon |
120 |
$copie_objet_pear_url = $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 {
|
142 |
jpm |
128 |
$_GET['adme_site_id'] = (!isset($_GET['adme_site_id'])) ? 0 : $_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('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
144 |
exit;
|
7 |
jpm |
145 |
}
|
|
|
146 |
|
790 |
ddelon |
147 |
|
|
|
148 |
|
7 |
jpm |
149 |
// Formulaire de mise à jour du menu
|
150 |
jpm |
150 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER) {
|
790 |
ddelon |
151 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
152 |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
|
|
|
153 |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION);
|
|
|
154 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
155 |
exit;
|
|
|
156 |
}
|
|
|
157 |
|
|
|
158 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION) {
|
142 |
jpm |
159 |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
|
|
160 |
return $sortie_xhtml;
|
7 |
jpm |
161 |
}
|
754 |
ddelon |
162 |
|
790 |
ddelon |
163 |
|
150 |
jpm |
164 |
if (isset($_POST[ADME_LG_ACTION_CLASSIQUE_VERIFIER])) {
|
142 |
jpm |
165 |
// Nous cherchons à enregistrer une modification de menu
|
|
|
166 |
$message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST);
|
|
|
167 |
if (!empty($message)) {
|
|
|
168 |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
|
150 |
jpm |
169 |
$sortie_xhtml .= $message;
|
754 |
ddelon |
170 |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
150 |
jpm |
171 |
return $sortie_xhtml;
|
142 |
jpm |
172 |
} else {
|
|
|
173 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
174 |
$message = ADME_modifierMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
175 |
}
|
7 |
jpm |
176 |
}
|
|
|
177 |
|
|
|
178 |
// Déplacer le menu vers le haut
|
150 |
jpm |
179 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MONTER) {
|
142 |
jpm |
180 |
ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
|
7 |
jpm |
181 |
}
|
|
|
182 |
|
|
|
183 |
// Déplacer le menu vers le bas
|
150 |
jpm |
184 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DESCENDRE) {
|
142 |
jpm |
185 |
ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
|
7 |
jpm |
186 |
}
|
|
|
187 |
|
409 |
ddelon |
188 |
// Déplacer le menu vers la gauche (diminuer d'un niveau)
|
|
|
189 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DIMINUER) {
|
|
|
190 |
ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
|
|
|
191 |
}
|
|
|
192 |
|
|
|
193 |
// Déplacer le menu vers la droite (augmenter d'un niveau)
|
|
|
194 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AUGMENTER) {
|
|
|
195 |
ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
|
|
|
196 |
}
|
|
|
197 |
|
754 |
ddelon |
198 |
// Traduire le menu
|
|
|
199 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE) {
|
790 |
ddelon |
200 |
$message='';
|
|
|
201 |
$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
|
|
202 |
if ((!empty($message))) {
|
|
|
203 |
// Pas de traduction possible !
|
|
|
204 |
$sortie_xhtml .= $message;
|
|
|
205 |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
|
|
|
206 |
return $sortie_xhtml;
|
|
|
207 |
}
|
|
|
208 |
else {
|
|
|
209 |
// Les données sont valide. Nous affichons le formulaire de traduction
|
|
|
210 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
211 |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
|
|
|
212 |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION);
|
|
|
213 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
214 |
exit;
|
|
|
215 |
}
|
|
|
216 |
|
|
|
217 |
}
|
|
|
218 |
|
|
|
219 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE_ACTION) {
|
754 |
ddelon |
220 |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE);
|
790 |
ddelon |
221 |
return $sortie_xhtml;
|
754 |
ddelon |
222 |
}
|
|
|
223 |
|
790 |
ddelon |
224 |
|
754 |
ddelon |
225 |
if (isset($_POST[ADME_LG_ACTION_CLASSIQUE_VERIFIER_TRADUCTION])) {
|
|
|
226 |
// Nous cherchons à enregistrer une traduction de menu
|
|
|
227 |
$message = ADME_validerFormTraduireMenuClassique($objet_pear_db, $_POST);
|
|
|
228 |
if (!empty($message)) {
|
|
|
229 |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
|
|
|
230 |
$sortie_xhtml .= $message;
|
|
|
231 |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST);
|
|
|
232 |
return $sortie_xhtml;
|
|
|
233 |
} else {
|
|
|
234 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
235 |
$message = ADME_traduireMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
236 |
}
|
|
|
237 |
}
|
|
|
238 |
|
|
|
239 |
|
142 |
jpm |
240 |
// Supprimer le menu
|
150 |
jpm |
241 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER) {
|
142 |
jpm |
242 |
// Récupération du menu de remplacement pour éviter de fermer l'arborescence
|
|
|
243 |
if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {
|
|
|
244 |
$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;
|
|
|
245 |
} else {
|
|
|
246 |
$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);
|
|
|
247 |
}
|
|
|
248 |
// Suppression du menu classique
|
155 |
jpm |
249 |
$message = ADME_supprimerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
|
142 |
jpm |
250 |
// Remplacement de l'id du menu courant par le remplaçant.
|
|
|
251 |
$_GET['adme_menu_id'] = $adme_menu_id_remplacement;
|
790 |
ddelon |
252 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
253 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
254 |
exit;
|
7 |
jpm |
255 |
}
|
|
|
256 |
|
754 |
ddelon |
257 |
|
|
|
258 |
// Supprimer le menu traduit
|
|
|
259 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER_TRADUCTION) {
|
|
|
260 |
// Suppression du menu classique
|
|
|
261 |
$message = ADME_supprimerMenuClassiqueTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
|
790 |
ddelon |
262 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
263 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
264 |
exit;
|
754 |
ddelon |
265 |
}
|
|
|
266 |
|
|
|
267 |
|
142 |
jpm |
268 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
269 |
// GESTION DES MENUS COMMUNS
|
7 |
jpm |
270 |
|
|
|
271 |
// Ajout un menu commun
|
150 |
jpm |
272 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AJOUTER) {
|
142 |
jpm |
273 |
$message = ADME_ajouterMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']);
|
818 |
ddelon |
274 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
275 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
276 |
exit;
|
|
|
277 |
|
7 |
jpm |
278 |
}
|
|
|
279 |
|
818 |
ddelon |
280 |
|
|
|
281 |
|
142 |
jpm |
282 |
// Formulaire de mise à jour du menu commun.
|
150 |
jpm |
283 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER) {
|
818 |
ddelon |
284 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
285 |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
|
|
|
286 |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_MODIFIER_ACTION);
|
|
|
287 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
288 |
exit;
|
|
|
289 |
}
|
|
|
290 |
|
|
|
291 |
|
|
|
292 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER_ACTION) {
|
|
|
293 |
$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
142 |
jpm |
294 |
return $sortie_xhtml;
|
7 |
jpm |
295 |
}
|
818 |
ddelon |
296 |
|
|
|
297 |
|
|
|
298 |
|
150 |
jpm |
299 |
if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER])) {
|
142 |
jpm |
300 |
// Nous cherchons à enregistrer une modification de menu
|
|
|
301 |
$message = ADME_validerFormAjouterMenuCommun($objet_pear_db, $_POST);
|
|
|
302 |
if (!empty($message)) {
|
|
|
303 |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
|
150 |
jpm |
304 |
$sortie_xhtml .= $message;
|
142 |
jpm |
305 |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
150 |
jpm |
306 |
return $sortie_xhtml;
|
142 |
jpm |
307 |
} else {
|
|
|
308 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
309 |
$message = ADME_modifierMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
310 |
}
|
7 |
jpm |
311 |
}
|
|
|
312 |
|
|
|
313 |
// Déplace vers le haut de la hiérarchie un menu commun
|
150 |
jpm |
314 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MONTER) {
|
142 |
jpm |
315 |
ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
|
7 |
jpm |
316 |
}
|
|
|
317 |
|
|
|
318 |
// Déplace vers le bas de la hiérarchie un menu commun
|
150 |
jpm |
319 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DESCENDRE) {
|
142 |
jpm |
320 |
ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
|
7 |
jpm |
321 |
}
|
422 |
ddelon |
322 |
|
|
|
323 |
// Déplacer le menu vers la gauche (diminuer d'un niveau)
|
|
|
324 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DIMINUER) {
|
|
|
325 |
ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);
|
|
|
326 |
}
|
7 |
jpm |
327 |
|
422 |
ddelon |
328 |
// Déplacer le menu vers la droite (augmenter d'un niveau)
|
|
|
329 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AUGMENTER) {
|
|
|
330 |
ADME_indenterMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);
|
|
|
331 |
}
|
|
|
332 |
|
818 |
ddelon |
333 |
// Traduire le menu
|
|
|
334 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE) {
|
|
|
335 |
$message='';
|
|
|
336 |
$message = ADME_verifier_traduction_possible($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);
|
|
|
337 |
if ((!empty($message))) {
|
|
|
338 |
// Pas de traduction possible !
|
|
|
339 |
$sortie_xhtml .= $message;
|
|
|
340 |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
|
|
|
341 |
return $sortie_xhtml;
|
|
|
342 |
}
|
|
|
343 |
else {
|
|
|
344 |
// Les données sont valide. Nous affichons le formulaire de traduction
|
|
|
345 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
346 |
$copie_objet_pear_url->addQueryString('adme_menu_id',$_GET['adme_menu_id']);
|
|
|
347 |
$copie_objet_pear_url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION);
|
|
|
348 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
349 |
exit;
|
|
|
350 |
}
|
|
|
351 |
|
|
|
352 |
}
|
|
|
353 |
|
|
|
354 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_TRADUIRE_ACTION) {
|
|
|
355 |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST,TRUE);
|
|
|
356 |
return $sortie_xhtml;
|
|
|
357 |
}
|
|
|
358 |
|
|
|
359 |
|
|
|
360 |
if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER_TRADUCTION])) {
|
|
|
361 |
// Nous cherchons à enregistrer une traduction de menu
|
|
|
362 |
$message = ADME_validerFormTraduireMenuCommun($objet_pear_db, $_POST);
|
|
|
363 |
if (!empty($message)) {
|
|
|
364 |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
|
|
|
365 |
$sortie_xhtml .= $message;
|
|
|
366 |
$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST);
|
|
|
367 |
return $sortie_xhtml;
|
|
|
368 |
} else {
|
|
|
369 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
370 |
$message = ADME_traduireMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
371 |
}
|
|
|
372 |
}
|
|
|
373 |
|
|
|
374 |
|
|
|
375 |
|
7 |
jpm |
376 |
// Supprime définitivement un menu commun
|
150 |
jpm |
377 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER) {
|
142 |
jpm |
378 |
// Récupération du menu de remplacement pour éviter de fermer l'arborescence
|
|
|
379 |
if (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {
|
|
|
380 |
$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;
|
|
|
381 |
} else {
|
|
|
382 |
$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);
|
|
|
383 |
}
|
|
|
384 |
// Suppression du menu commun
|
|
|
385 |
ADME_supprimerMenuCommun($objet_pear_db, $_GET['adme_menu_id']);
|
|
|
386 |
// Remplacement de l'id du menu courant par le remplaçant.
|
|
|
387 |
$_GET['adme_menu_id'] = $adme_menu_id_remplacement;
|
818 |
ddelon |
388 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
389 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
390 |
exit;
|
|
|
391 |
|
7 |
jpm |
392 |
}
|
|
|
393 |
|
818 |
ddelon |
394 |
// Supprimer le menu traduit
|
|
|
395 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER_TRADUCTION) {
|
|
|
396 |
// Suppression du menu commun
|
|
|
397 |
$message = ADME_supprimerMenuCommunTraduction($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);
|
|
|
398 |
$copie_objet_pear_url->addQueryString('adme_site_id',$_GET['adme_site_id']);
|
|
|
399 |
header("Location: ".str_replace('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
400 |
exit;
|
|
|
401 |
}
|
|
|
402 |
|
|
|
403 |
|
|
|
404 |
|
142 |
jpm |
405 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
406 |
// GESTION DES INTERFACES D'ADMINISTRATION
|
7 |
jpm |
407 |
|
142 |
jpm |
408 |
// Appel de l'application d'administration
|
148 |
jpm |
409 |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_ADMINISTRER) {
|
142 |
jpm |
410 |
$id_appli = GEN_retournerIdAppliMenu($objet_pear_db, $_GET['adme_menu_id']);
|
|
|
411 |
$chemin_admin = GEN_retournerCheminInterfaceAdmin($objet_pear_db, $id_appli);
|
|
|
412 |
$nom_admin = GEN_retournerNomInterfaceAdmin($objet_pear_db, $id_appli);
|
|
|
413 |
if ($chemin_admin !== false) {
|
|
|
414 |
include_once $chemin_admin;
|
|
|
415 |
$objet_admin = new $nom_admin;
|
|
|
416 |
if (method_exists($objet_admin, 'afficherContenuCorps')) {
|
|
|
417 |
$retour_admin = $objet_admin->afficherContenuCorps();
|
|
|
418 |
}
|
|
|
419 |
if ($retour_admin !== false) {
|
|
|
420 |
return $retour_admin;
|
|
|
421 |
}
|
7 |
jpm |
422 |
}
|
|
|
423 |
}
|
|
|
424 |
|
142 |
jpm |
425 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
426 |
// Affichage des messages si nécessaire
|
|
|
427 |
if (! empty($message)) {
|
|
|
428 |
$sortie_xhtml .= "\n".'<p class="pap_erreur">'.$message.'</p>';
|
7 |
jpm |
429 |
}
|
|
|
430 |
|
142 |
jpm |
431 |
//---------------------------------------------------------------------------------------------------------------
|
|
|
432 |
// Affichage formulaire principal et retour du XHTML!
|
|
|
433 |
$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);
|
|
|
434 |
return $sortie_xhtml;
|
7 |
jpm |
435 |
// Fin de l'authentification
|
|
|
436 |
} else {
|
142 |
jpm |
437 |
// Pas d'authentification nous affichons un message!
|
|
|
438 |
return GEN_afficherInfoIdentification($objet_pear_url);
|
7 |
jpm |
439 |
}
|
|
|
440 |
}// Fin de la fonction afficherContenuCorps()
|
|
|
441 |
|
|
|
442 |
// +------------------------------------------------------------------------------------------------------+
|
142 |
jpm |
443 |
// | PIED du PROGRAMME |
|
7 |
jpm |
444 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
445 |
|
|
|
446 |
|
|
|
447 |
|
|
|
448 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
|
|
449 |
*
|
|
|
450 |
* $Log: not supported by cvs2svn $
|
818 |
ddelon |
451 |
* Revision 1.20 2006/03/23 20:24:58 ddelon
|
|
|
452 |
* *** empty log message ***
|
|
|
453 |
*
|
790 |
ddelon |
454 |
* Revision 1.19 2006/03/02 10:49:49 ddelon
|
|
|
455 |
* Fusion branche multilinguisme dans branche principale
|
|
|
456 |
*
|
754 |
ddelon |
457 |
* Revision 1.18.2.2 2006/02/28 14:02:08 ddelon
|
|
|
458 |
* Finition multilinguisme
|
|
|
459 |
*
|
|
|
460 |
* Revision 1.18.2.1 2005/12/27 15:56:00 ddelon
|
|
|
461 |
* Fusion Head vers multilinguisme (wikini double clic)
|
|
|
462 |
*
|
|
|
463 |
* Revision 1.18 2005/09/23 15:27:17 florian
|
|
|
464 |
* correction de bugs
|
|
|
465 |
*
|
463 |
florian |
466 |
* Revision 1.17 2005/07/18 16:14:32 ddelon
|
|
|
467 |
* css admin + menu communs
|
|
|
468 |
*
|
422 |
ddelon |
469 |
* Revision 1.16 2005/07/08 21:13:15 ddelon
|
|
|
470 |
* Gestion indentation menu
|
|
|
471 |
*
|
409 |
ddelon |
472 |
* Revision 1.15 2005/02/28 11:04:25 jpm
|
|
|
473 |
* Modification des auteurs.
|
|
|
474 |
*
|
285 |
jpm |
475 |
* Revision 1.14 2005/02/28 10:31:41 jpm
|
|
|
476 |
* Changement de nom de dossier.
|
|
|
477 |
*
|
276 |
jpm |
478 |
* Revision 1.13 2004/11/16 13:01:41 jpm
|
|
|
479 |
* Ajout d'un commentaire.
|
|
|
480 |
*
|
163 |
jpm |
481 |
* Revision 1.12 2004/11/15 16:51:08 jpm
|
|
|
482 |
* Correction bogue de mise à jour de l'ordre des menus.
|
|
|
483 |
*
|
155 |
jpm |
484 |
* Revision 1.11 2004/11/10 17:26:18 jpm
|
|
|
485 |
* Fin gestion de la traduction.
|
|
|
486 |
*
|
150 |
jpm |
487 |
* Revision 1.10 2004/11/10 11:58:58 jpm
|
|
|
488 |
* Mise en place des constantes de traduction de l'appli.
|
|
|
489 |
*
|
148 |
jpm |
490 |
* Revision 1.9 2004/11/09 17:53:03 jpm
|
|
|
491 |
* Changement des noms des actions sur les menus classiques.
|
|
|
492 |
*
|
143 |
jpm |
493 |
* Revision 1.8 2004/11/09 17:49:11 jpm
|
|
|
494 |
* Mise en conformité et gestion de différentes interfaces d'administration.
|
|
|
495 |
*
|
142 |
jpm |
496 |
* Revision 1.7 2004/10/25 16:28:02 jpm
|
|
|
497 |
* Correction convention de codage.
|
|
|
498 |
*
|
111 |
jpm |
499 |
* Revision 1.6 2004/09/23 17:45:19 jpm
|
|
|
500 |
* Amélioration de la gestion des liens annuler et du selecteur de sites.
|
|
|
501 |
*
|
56 |
jpm |
502 |
* Revision 1.5 2004/09/23 16:49:24 jpm
|
|
|
503 |
* Correction d'une erreur dans l'url de l'ajout de menu commun.
|
|
|
504 |
*
|
54 |
jpm |
505 |
* Revision 1.4 2004/07/06 17:24:54 jpm
|
|
|
506 |
* Suppression d'inclusions de fichiers inutiles.
|
|
|
507 |
*
|
30 |
jpm |
508 |
* Revision 1.3 2004/07/06 17:07:28 jpm
|
|
|
509 |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
|
|
|
510 |
*
|
25 |
jpm |
511 |
* Revision 1.2 2004/06/16 15:06:30 jpm
|
|
|
512 |
* Suppression fichier inutile.
|
|
|
513 |
*
|
8 |
jpm |
514 |
* Revision 1.1 2004/06/16 15:04:39 jpm
|
|
|
515 |
* Changement de nom de Génésia en Papyrus.
|
|
|
516 |
* Changement de l'arborescence.
|
|
|
517 |
*
|
7 |
jpm |
518 |
* Revision 1.26 2004/05/10 14:32:21 jpm
|
|
|
519 |
* Changement du titre.
|
|
|
520 |
*
|
|
|
521 |
* Revision 1.25 2004/05/10 12:13:23 jpm
|
|
|
522 |
* Ajout de la sélection des sites.
|
|
|
523 |
*
|
|
|
524 |
* Revision 1.24 2004/05/07 16:33:05 jpm
|
|
|
525 |
* Intégration de constantes.
|
|
|
526 |
*
|
|
|
527 |
* Revision 1.23 2004/05/07 07:23:53 jpm
|
|
|
528 |
* Amélioration du code, des commentaires et correction de bogues.
|
|
|
529 |
*
|
|
|
530 |
* Revision 1.22 2004/05/05 06:45:44 jpm
|
|
|
531 |
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
|
|
|
532 |
*
|
|
|
533 |
* Revision 1.21 2004/05/04 16:27:33 jpm
|
|
|
534 |
* Réduction de code pour la fonction afficherContenuTete().
|
|
|
535 |
*
|
|
|
536 |
* Revision 1.20 2004/05/03 11:23:26 jpm
|
|
|
537 |
* Début mise en conformité des commentaires.
|
|
|
538 |
*
|
|
|
539 |
*
|
|
|
540 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
|
|
541 |
*/
|
|
|
542 |
?>
|