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 |
// ----
|
1673 |
ddelon |
35 |
// CVS : $Id: admin_menu.php,v 1.28 2007-10-24 14:43:01 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
|
1673 |
ddelon |
49 |
*@version $Revision: 1.28 $ $Date: 2007-10-24 14:43:01 $
|
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'];
|
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('&', '&', $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('&', '&', $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])) {
|
142 |
jpm |
164 |
// Nous cherchons à enregistrer une modification de menu
|
|
|
165 |
$message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST);
|
|
|
166 |
if (!empty($message)) {
|
|
|
167 |
// Les données 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 {
|
|
|
172 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
173 |
$message = ADME_modifierMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
174 |
}
|
7 |
jpm |
175 |
}
|
|
|
176 |
|
|
|
177 |
// Déplacer 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 |
|
|
|
182 |
// Déplacer 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 |
|
409 |
ddelon |
187 |
// Déplacer le menu vers la gauche (diminuer d'un niveau)
|
|
|
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 |
|
|
|
192 |
// Déplacer le menu vers la droite (augmenter d'un niveau)
|
|
|
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('&', '&', $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])) {
|
754 |
ddelon |
225 |
// Nous cherchons à enregistrer une traduction de menu
|
|
|
226 |
$message = ADME_validerFormTraduireMenuClassique($objet_pear_db, $_POST);
|
|
|
227 |
if (!empty($message)) {
|
|
|
228 |
// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.
|
|
|
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 {
|
|
|
233 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
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) {
|
142 |
jpm |
241 |
// Récupération du menu de remplacement pour éviter de fermer l'arborescence
|
|
|
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']);
|
142 |
jpm |
249 |
// Remplacement de l'id du menu courant par le remplaçant.
|
|
|
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('&', '&', $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('&', '&', $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('&', '&', $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('&', '&', $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('&', '&', $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('&', '&', $copie_objet_pear_url->getUrl()));
|
|
|
306 |
exit;
|
|
|
307 |
|
7 |
jpm |
308 |
}
|
|
|
309 |
|
818 |
ddelon |
310 |
|
|
|
311 |
|
142 |
jpm |
312 |
// Formulaire de mise à 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('&', '&', $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])) {
|
142 |
jpm |
330 |
// Nous cherchons à enregistrer une modification de menu
|
|
|
331 |
$message = ADME_validerFormAjouterMenuCommun($objet_pear_db, $_POST);
|
|
|
332 |
if (!empty($message)) {
|
|
|
333 |
// Les données 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 {
|
|
|
338 |
// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.
|
|
|
339 |
$message = ADME_modifierMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);
|
|
|
340 |
}
|
7 |
jpm |
341 |
}
|
|
|
342 |
|
|
|
343 |
// Déplace vers le haut de la hiérarchie 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 |
|
|
|
348 |
// Déplace vers le bas de la hiérarchie 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 |
|
|
|
353 |
// Déplacer le menu vers la gauche (diminuer d'un niveau)
|
|
|
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 |
|
422 |
ddelon |
358 |
// Déplacer le menu vers la droite (augmenter d'un niveau)
|
|
|
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('&', '&', $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('&', '&', $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('&', '&', $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('&', '&', $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>
|
|
|
484 |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" />
|
|
|
485 |
<label for="password">Mot de passe : </label>
|
|
|
486 |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" />
|
|
|
487 |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" />
|
|
|
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 $
|
1673 |
ddelon |
503 |
* Revision 1.27 2007-07-04 14:59:13 florian
|
|
|
504 |
* correction bug maj non prise en charge
|
|
|
505 |
*
|
1514 |
florian |
506 |
* Revision 1.26 2007/04/19 15:34:35 neiluj
|
|
|
507 |
* préparration release (livraison) "Narmer" - v0.25
|
|
|
508 |
*
|
1336 |
neiluj |
509 |
* Revision 1.25 2006/10/06 10:40:51 florian
|
|
|
510 |
* harmonisation des messages d'erreur de l'authentification
|
|
|
511 |
*
|
1016 |
florian |
512 |
* Revision 1.24 2006/06/29 19:13:26 ddelon
|
|
|
513 |
* Bug defaut traduction sur menu commun
|
|
|
514 |
*
|
878 |
ddelon |
515 |
* Revision 1.23 2006/06/29 18:58:57 ddelon
|
|
|
516 |
* Multilinguisme : menu par defaut pour les menu commun
|
|
|
517 |
*
|
877 |
ddelon |
518 |
* Revision 1.22 2006/06/28 12:53:34 ddelon
|
|
|
519 |
* Multilinguisme : menu par defaut
|
|
|
520 |
*
|
871 |
ddelon |
521 |
* Revision 1.21 2006/04/12 21:11:54 ddelon
|
|
|
522 |
* Multilinguisme menus communs
|
|
|
523 |
*
|
818 |
ddelon |
524 |
* Revision 1.20 2006/03/23 20:24:58 ddelon
|
|
|
525 |
* *** empty log message ***
|
|
|
526 |
*
|
790 |
ddelon |
527 |
* Revision 1.19 2006/03/02 10:49:49 ddelon
|
|
|
528 |
* Fusion branche multilinguisme dans branche principale
|
|
|
529 |
*
|
754 |
ddelon |
530 |
* Revision 1.18.2.2 2006/02/28 14:02:08 ddelon
|
|
|
531 |
* Finition multilinguisme
|
|
|
532 |
*
|
|
|
533 |
* Revision 1.18.2.1 2005/12/27 15:56:00 ddelon
|
|
|
534 |
* Fusion Head vers multilinguisme (wikini double clic)
|
|
|
535 |
*
|
|
|
536 |
* Revision 1.18 2005/09/23 15:27:17 florian
|
|
|
537 |
* correction de bugs
|
|
|
538 |
*
|
463 |
florian |
539 |
* Revision 1.17 2005/07/18 16:14:32 ddelon
|
|
|
540 |
* css admin + menu communs
|
|
|
541 |
*
|
422 |
ddelon |
542 |
* Revision 1.16 2005/07/08 21:13:15 ddelon
|
|
|
543 |
* Gestion indentation menu
|
|
|
544 |
*
|
409 |
ddelon |
545 |
* Revision 1.15 2005/02/28 11:04:25 jpm
|
|
|
546 |
* Modification des auteurs.
|
|
|
547 |
*
|
285 |
jpm |
548 |
* Revision 1.14 2005/02/28 10:31:41 jpm
|
|
|
549 |
* Changement de nom de dossier.
|
|
|
550 |
*
|
276 |
jpm |
551 |
* Revision 1.13 2004/11/16 13:01:41 jpm
|
|
|
552 |
* Ajout d'un commentaire.
|
|
|
553 |
*
|
163 |
jpm |
554 |
* Revision 1.12 2004/11/15 16:51:08 jpm
|
|
|
555 |
* Correction bogue de mise à jour de l'ordre des menus.
|
|
|
556 |
*
|
155 |
jpm |
557 |
* Revision 1.11 2004/11/10 17:26:18 jpm
|
|
|
558 |
* Fin gestion de la traduction.
|
|
|
559 |
*
|
150 |
jpm |
560 |
* Revision 1.10 2004/11/10 11:58:58 jpm
|
|
|
561 |
* Mise en place des constantes de traduction de l'appli.
|
|
|
562 |
*
|
148 |
jpm |
563 |
* Revision 1.9 2004/11/09 17:53:03 jpm
|
|
|
564 |
* Changement des noms des actions sur les menus classiques.
|
|
|
565 |
*
|
143 |
jpm |
566 |
* Revision 1.8 2004/11/09 17:49:11 jpm
|
|
|
567 |
* Mise en conformité et gestion de différentes interfaces d'administration.
|
|
|
568 |
*
|
142 |
jpm |
569 |
* Revision 1.7 2004/10/25 16:28:02 jpm
|
|
|
570 |
* Correction convention de codage.
|
|
|
571 |
*
|
111 |
jpm |
572 |
* Revision 1.6 2004/09/23 17:45:19 jpm
|
|
|
573 |
* Amélioration de la gestion des liens annuler et du selecteur de sites.
|
|
|
574 |
*
|
56 |
jpm |
575 |
* Revision 1.5 2004/09/23 16:49:24 jpm
|
|
|
576 |
* Correction d'une erreur dans l'url de l'ajout de menu commun.
|
|
|
577 |
*
|
54 |
jpm |
578 |
* Revision 1.4 2004/07/06 17:24:54 jpm
|
|
|
579 |
* Suppression d'inclusions de fichiers inutiles.
|
|
|
580 |
*
|
30 |
jpm |
581 |
* Revision 1.3 2004/07/06 17:07:28 jpm
|
|
|
582 |
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
|
|
|
583 |
*
|
25 |
jpm |
584 |
* Revision 1.2 2004/06/16 15:06:30 jpm
|
|
|
585 |
* Suppression fichier inutile.
|
|
|
586 |
*
|
8 |
jpm |
587 |
* Revision 1.1 2004/06/16 15:04:39 jpm
|
1336 |
neiluj |
588 |
* Changement de nom de Papyrus en Papyrus.
|
8 |
jpm |
589 |
* Changement de l'arborescence.
|
|
|
590 |
*
|
7 |
jpm |
591 |
* Revision 1.26 2004/05/10 14:32:21 jpm
|
|
|
592 |
* Changement du titre.
|
|
|
593 |
*
|
|
|
594 |
* Revision 1.25 2004/05/10 12:13:23 jpm
|
|
|
595 |
* Ajout de la sélection des sites.
|
|
|
596 |
*
|
|
|
597 |
* Revision 1.24 2004/05/07 16:33:05 jpm
|
|
|
598 |
* Intégration de constantes.
|
|
|
599 |
*
|
|
|
600 |
* Revision 1.23 2004/05/07 07:23:53 jpm
|
|
|
601 |
* Amélioration du code, des commentaires et correction de bogues.
|
|
|
602 |
*
|
|
|
603 |
* Revision 1.22 2004/05/05 06:45:44 jpm
|
|
|
604 |
* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.
|
|
|
605 |
*
|
|
|
606 |
* Revision 1.21 2004/05/04 16:27:33 jpm
|
|
|
607 |
* Réduction de code pour la fonction afficherContenuTete().
|
|
|
608 |
*
|
|
|
609 |
* Revision 1.20 2004/05/03 11:23:26 jpm
|
|
|
610 |
* Début mise en conformité des commentaires.
|
|
|
611 |
*
|
|
|
612 |
*
|
|
|
613 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
|
|
614 |
*/
|
|
|
615 |
?>
|