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