Rev 155 | Rev 285 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library is free software; you can redistribute it and/or |// | modify it under the terms of the GNU Lesser General Public |// | License as published by the Free Software Foundation; either |// | version 2.1 of the License, or (at your option) any later version. |// | |// | This library is distributed in the hope that it will be useful, |// | but WITHOUT ANY WARRANTY; without even the implied warranty of |// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |// | Lesser General Public License for more details. |// | |// | You should have received a copy of the GNU Lesser General Public |// | License along with this library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: admin_menu.php,v 1.13 2004-11-16 13:01:41 jpm Exp $/*** Application gérant les menus de Papyrus** Cette application permet de gérer les menus classiques, les menus communs* et les liaison d'une application à un menu.**@package Admin_menu//Auteur original :*@author Laurent COUDOUNEAU <lc@gsite.org>//Autres auteurs :*@author Alexandre GRANIER <alexandre@tela-botanica.org>*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.13 $ $Date: 2004-11-16 13:01:41 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTÊTE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/** Inclusion du fichier de configuration de cette application.*/require_once GEN_CHEMIN_PAP.'applications/admin_menu/configuration/adme_configuration.inc.php';//Utilisation de la bibliothèque PEAR NET_URL/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';require_once ADME_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php';/** Inclusion de l'API de fonctions gérant les erreurs sql.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'debogage_1.0/BOG_sql.fonct.php';/** Inclusion des fonctions de manipulation du sql.* Permet la récupération d'un nouvel identifiant d'une table.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_API.'sql_1.0/SQL_manipulation.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php';/** <BR> Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_general.fonct.php';//ok/** <BR> Inclusion de la bibliothèque de fonctions concernant la gestion des menus classiques.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_classique.fonct.php';//ok/** <BR> Inclusion de la bibliothèque de fonctions concernant la gestion des menus communs.*/require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_menu_commun.fonct.php';//ok/** <BR> Inclusion de la bibliothèque de fonctions concernant la gestion de la rédaction de contenu.*///require_once ADME_CHEMIN_BIBLIOTHEQUE_ADME.'adme_contenu.fonct.php';//ok// Inclusion des fichiers de traduction de l'appli ADME dePapyrusif (file_exists(ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/require_once ADME_CHEMIN_LANGUE.'adme_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';} else {/** Inclusion du fichier de traduction par défaut.*/require_once ADME_CHEMIN_LANGUE.'adme_langue_'.ADME_I18N_DEFAUT.'.inc.php';}// Stockage des styles de l'applicationGEN_stockerStyleExterne('adme_standard', ADME_CHEMIN_STYLE.'adme_standard.css');// +------------------------------------------------------------------------------------------------------+// | CORPS du PROGRAMME |// +------------------------------------------------------------------------------------------------------+function afficherContenuCorps(){//-------------------------------------------------------------------------------------------------------------------// Initialisation des variables$sortie_xhtml = '';$objet_pear_auth = $GLOBALS['_GEN_commun']['pear_auth'];$objet_pear_db = $GLOBALS['_GEN_commun']['pear_db'];$objet_pear_url = $GLOBALS['_GEN_commun']['url'];$url_site = $GLOBALS['_GEN_commun']['url_site'];$url_menu = $GLOBALS['_GEN_commun']['url_menu'];$url_i18n = $GLOBALS['_GEN_commun']['url_i18n'];if (isset($_POST['adme_site_id'])) {$_GET['adme_site_id'] = $_POST['adme_site_id'];} else {$_GET['adme_site_id'] = (!isset($_GET['adme_site_id'])) ? 0 : $_GET['adme_site_id'];}$_GET['adme_menu_id'] = (!isset($_GET['adme_menu_id'])) ? 0 : $_GET['adme_menu_id'];$_GET['adme_action'] = (!isset($_GET['adme_action'])) ? '' : $_GET['adme_action'];//-------------------------------------------------------------------------------------------------------------------// Authentificationif ($objet_pear_auth->getAuth()) {//---------------------------------------------------------------------------------------------------------------// GESTION DES MENUS CLASSIQUES// Ajouter un menu classiqueif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_AJOUTER) {$message = ADME_ajouterMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']);}// Formulaire de mise à jour du menuif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MODIFIER) {$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);return $sortie_xhtml;}if (isset($_POST[ADME_LG_ACTION_CLASSIQUE_VERIFIER])) {// Nous cherchons à enregistrer une modification de menu$message = ADME_validerFormAjouterMenuClassique($objet_pear_db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= $message;$sortie_xhtml .= ADME_afficherFormMenuClassique($objet_pear_db, $objet_pear_url, $_GET['adme_menu_id'], $_POST);return $sortie_xhtml;} else {// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.$message = ADME_modifierMenuClassique($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);}}// Déplacer le menu vers le hautif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_MONTER) {ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);}// Déplacer le menu vers le basif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DESCENDRE) {ADME_deplacerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);}// Supprimer le menuif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_SUPPRIMER) {// Récupération du menu de remplacement pour éviter de fermer l'arborescenceif (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;} else {$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);}// Suppression du menu classique$message = ADME_supprimerMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id']);// Remplacement de l'id du menu courant par le remplaçant.$_GET['adme_menu_id'] = $adme_menu_id_remplacement;}//---------------------------------------------------------------------------------------------------------------// GESTION DES MENUS COMMUNS// Ajout un menu communif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_AJOUTER) {$message = ADME_ajouterMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_site_id'], $_GET['adme_menu_id']);}// Formulaire de mise à jour du menu commun.if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MODIFIER) {$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);return $sortie_xhtml;}if (isset($_POST[ADME_LG_ACTION_COMMUN_VERIFIER])) {// Nous cherchons à enregistrer une modification de menu$message = ADME_validerFormAjouterMenuCommun($objet_pear_db, $_POST);if (!empty($message)) {// Les données ne sont pas valide. Nous retournons le formulaires avec les messages d'erreurs.$sortie_xhtml .= $message;$sortie_xhtml .= ADME_afficherFormMenuCommun($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_POST);return $sortie_xhtml;} else {// Les données sont valide. Nous les enregistrons et retournons au formulaire de départ.$message = ADME_modifierMenuCommun($objet_pear_db, $objet_pear_auth, $_GET['adme_menu_id'], $_POST);}}// Déplace vers le haut de la hiérarchie un menu communif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_MONTER) {ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], true);}// Déplace vers le bas de la hiérarchie un menu communif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_DESCENDRE) {ADME_deplacerMenuCommun($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false);}// Supprime définitivement un menu communif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_COMMUN_SUPPRIMER) {// Récupération du menu de remplacement pour éviter de fermer l'arborescenceif (GEN_donnerDernierFreres($_GET['adme_menu_id']) == false) {$adme_menu_id_remplacement = GEN_lireIdentifiantMenuPere($_GET['adme_menu_id']);;} else {$adme_menu_id_remplacement = GEN_donnerDernierFreres($_GET['adme_menu_id']);}// Suppression du menu communADME_supprimerMenuCommun($objet_pear_db, $_GET['adme_menu_id']);// Remplacement de l'id du menu courant par le remplaçant.$_GET['adme_menu_id'] = $adme_menu_id_remplacement;}//---------------------------------------------------------------------------------------------------------------// GESTION DES INTERFACES D'ADMINISTRATION// Appel de l'application d'administrationif (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_ADMINISTRER) {$id_appli = GEN_retournerIdAppliMenu($objet_pear_db, $_GET['adme_menu_id']);$chemin_admin = GEN_retournerCheminInterfaceAdmin($objet_pear_db, $id_appli);$nom_admin = GEN_retournerNomInterfaceAdmin($objet_pear_db, $id_appli);if ($chemin_admin !== false) {include_once $chemin_admin;$objet_admin = new $nom_admin;if (method_exists($objet_admin, 'afficherContenuCorps')) {$retour_admin = $objet_admin->afficherContenuCorps();}if ($retour_admin !== false) {return $retour_admin;}}}//---------------------------------------------------------------------------------------------------------------// Affichage des messages si nécessaireif (! empty($message)) {$sortie_xhtml .= "\n".'<p class="pap_erreur">'.$message.'</p>';}//---------------------------------------------------------------------------------------------------------------// Affichage formulaire principal et retour du XHTML!$sortie_xhtml .= ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $_GET['adme_site_id'], $_GET['adme_menu_id'], $_GET['adme_action']);return $sortie_xhtml;// Fin de l'authentification} else {// Pas d'authentification nous affichons un message!return GEN_afficherInfoIdentification($objet_pear_url);}}// Fin de la fonction afficherContenuCorps()// +------------------------------------------------------------------------------------------------------+// | PIED du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.12 2004/11/15 16:51:08 jpm* Correction bogue de mise à jour de l'ordre des menus.** Revision 1.11 2004/11/10 17:26:18 jpm* Fin gestion de la traduction.** Revision 1.10 2004/11/10 11:58:58 jpm* Mise en place des constantes de traduction de l'appli.** Revision 1.9 2004/11/09 17:53:03 jpm* Changement des noms des actions sur les menus classiques.** Revision 1.8 2004/11/09 17:49:11 jpm* Mise en conformité et gestion de différentes interfaces d'administration.** Revision 1.7 2004/10/25 16:28:02 jpm* Correction convention de codage.** Revision 1.6 2004/09/23 17:45:19 jpm* Amélioration de la gestion des liens annuler et du selecteur de sites.** Revision 1.5 2004/09/23 16:49:24 jpm* Correction d'une erreur dans l'url de l'ajout de menu commun.** Revision 1.4 2004/07/06 17:24:54 jpm* Suppression d'inclusions de fichiers inutiles.** Revision 1.3 2004/07/06 17:07:28 jpm* Modification de la documentation pour une mailleur analyse par PhpDocumentor.** Revision 1.2 2004/06/16 15:06:30 jpm* Suppression fichier inutile.** Revision 1.1 2004/06/16 15:04:39 jpm* Changement de nom de Génésia en Papyrus.* Changement de l'arborescence.** Revision 1.26 2004/05/10 14:32:21 jpm* Changement du titre.** Revision 1.25 2004/05/10 12:13:23 jpm* Ajout de la sélection des sites.** Revision 1.24 2004/05/07 16:33:05 jpm* Intégration de constantes.** Revision 1.23 2004/05/07 07:23:53 jpm* Amélioration du code, des commentaires et correction de bogues.** Revision 1.22 2004/05/05 06:45:44 jpm* Suppression de l'appel de la fonction générant le "vous êtes ici" dans la fonction affichant l'entête de l'application.** Revision 1.21 2004/05/04 16:27:33 jpm* Réduction de code pour la fonction afficherContenuTete().** Revision 1.20 2004/05/03 11:23:26 jpm* Début mise en conformité des commentaires.*** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>