Line 1... |
Line 1... |
1 |
<?php
|
1 |
<?php
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
3 |
// +------------------------------------------------------------------------------------------------------+
|
3 |
// +------------------------------------------------------------------------------------------------------+
|
4 |
// | PHP version 4.1 |
|
4 |
// | PHP version 4.1 |
|
5 |
// +------------------------------------------------------------------------------------------------------+
|
5 |
// +------------------------------------------------------------------------------------------------------+
|
6 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
|
6 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
|
Line 17... |
Line 17... |
17 |
// | |
|
17 |
// | |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
22 |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.5 2004-11-04 19:11:38 jpm Exp $
|
22 |
// CVS : $Id: adme_menu_classique.fonct.php,v 1.6 2004-11-08 17:40:07 jpm Exp $
|
23 |
/**
|
23 |
/**
|
24 |
* Fonctions de gestion des menus classiques
|
24 |
* Fonctions de gestion des menus classiques
|
25 |
*
|
25 |
*
|
26 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
|
26 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
|
27 |
* Par menus classiques nous entendons tous les menus devant paraitre dans l'arborescences
|
27 |
* Par menus classiques nous entendons tous les menus devant paraitre dans l'arborescences
|
Line 33... |
Line 33... |
33 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
33 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
34 |
//Autres auteurs :
|
34 |
//Autres auteurs :
|
35 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
35 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
36 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
36 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
37 |
*@copyright Tela-Botanica 2000-2004
|
37 |
*@copyright Tela-Botanica 2000-2004
|
38 |
*@version $Revision: 1.5 $ $Date: 2004-11-04 19:11:38 $
|
38 |
*@version $Revision: 1.6 $ $Date: 2004-11-08 17:40:07 $
|
39 |
// +------------------------------------------------------------------------------------------------------+
|
39 |
// +------------------------------------------------------------------------------------------------------+
|
40 |
*/
|
40 |
*/
|
Line 41... |
Line 41... |
41 |
|
41 |
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
Line 670... |
Line 670... |
670 |
* @param integer l'identifiant du menu à administrer.
|
670 |
* @param integer l'identifiant du menu à administrer.
|
671 |
* @param integer l'identifiant du menu qui doit être ouvert.
|
671 |
* @param integer l'identifiant du menu qui doit être ouvert.
|
672 |
* @param integer l'identifiant du menu qui doit être déployé.
|
672 |
* @param integer l'identifiant du menu qui doit être déployé.
|
673 |
* @return string du code XHTML.
|
673 |
* @return string du code XHTML.
|
674 |
*/
|
674 |
*/
|
675 |
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $id_menu_a_deployer, $bln_premier_appel = true)
|
675 |
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true)
|
676 |
{
|
676 |
{
|
677 |
// Initialisation des variables :
|
677 |
// Initialisation des variables :
|
678 |
$retour = '';
|
678 |
$retour = '';
|
Line 679... |
Line 679... |
679 |
|
679 |
|
Line 692... |
Line 692... |
692 |
$resultat_sous_menu = $db->query($requete_sous_menu) ;
|
692 |
$resultat_sous_menu = $db->query($requete_sous_menu) ;
|
693 |
if (DB::isError($resultat_sous_menu)) {
|
693 |
if (DB::isError($resultat_sous_menu)) {
|
694 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu));
|
694 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_sous_menu->getMessage(), $requete_sous_menu));
|
695 |
}
|
695 |
}
|
Line -... |
Line 696... |
- |
|
696 |
|
- |
|
697 |
// Gestion du stockage ou déstockage des menus ouverts
|
- |
|
698 |
if ($adme_action == 'adme_menu_ouvrir' && $id_menu_a_deployer != 0) {
|
- |
|
699 |
$_SESSION['adme_menus_ouverts'][$adme_menu_id] = $adme_menu_id;
|
- |
|
700 |
}
|
- |
|
701 |
if ($adme_action == 'adme_menu_fermer' && $id_menu_a_deployer != 0) {
|
- |
|
702 |
unset($_SESSION['adme_menus_ouverts'][$adme_menu_id]);
|
- |
|
703 |
foreach ($_SESSION['adme_menus_ouverts'] as $val) {
|
- |
|
704 |
if (GEN_etreAncetre($adme_menu_id, $val)) {
|
- |
|
705 |
unset($_SESSION['adme_menus_ouverts'][$val]);
|
- |
|
706 |
}
|
- |
|
707 |
}
|
- |
|
708 |
}
|
- |
|
709 |
|
696 |
|
710 |
// Gestion affichage des menus
|
697 |
if ($resultat_sous_menu->numRows() > 0) {
|
711 |
if ($resultat_sous_menu->numRows() > 0) {
|
698 |
// Ici, on sait qu'un menu a des sous menus, on commence par l'afficher:
|
712 |
// Ici, on sait qu'un menu a des sous menus, on commence par l'afficher:
|
699 |
if ($bln_premier_appel == false) {
|
713 |
if ($bln_premier_appel == false) {
|
- |
|
714 |
$retour .= '<li>'."\n";
|
- |
|
715 |
|
700 |
$retour .= '<li>'."\n";
|
716 |
if (GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) ||
|
- |
|
717 |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_ouvrir') ||
|
- |
|
718 |
isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer])
|
701 |
if (GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer) || $adme_menu_ouvert == $id_menu_a_deployer || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)){
|
719 |
){
|
702 |
// Affiche un -
|
720 |
// Affiche un -
|
703 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 1);
|
721 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 1);
|
- |
|
722 |
} else if ( !GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) ||
|
- |
|
723 |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_fermer') ||
|
- |
|
724 |
!isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer])
|
704 |
} else if (!(GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)) || !(GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer))) {
|
725 |
){
|
705 |
// Affiche un +
|
726 |
// Affiche un +
|
706 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 2);
|
727 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 2);
|
707 |
}
|
728 |
}
|
708 |
}
|
729 |
}
|
- |
|
730 |
if ($bln_premier_appel == true || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id) ||
|
- |
|
731 |
($id_menu_a_deployer == $adme_menu_id && $adme_action == 'adme_menu_ouvrir') ||
|
- |
|
732 |
isset($_SESSION['adme_menus_ouverts'][$id_menu_a_deployer])
|
709 |
if ($bln_premier_appel == true || GEN_etreFils($adme_menu_ouvert, $id_menu_a_deployer) || $adme_menu_ouvert == $id_menu_a_deployer || GEN_etreAncetre($id_menu_a_deployer, $adme_menu_id)){
|
733 |
){
|
710 |
$retour .= '<ul>'."\n";
|
734 |
$retour .= '<ul>'."\n";
|
711 |
while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
|
735 |
while ($ligne_sous_menu = $resultat_sous_menu->fetchRow(DB_FETCHMODE_OBJECT)) {
|
712 |
$retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $ligne_sous_menu->gm_id_menu, false);
|
736 |
$retour .= ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $ligne_sous_menu->gm_id_menu, false);
|
713 |
}
|
737 |
}
|
714 |
$retour .= '</ul>'."\n";
|
738 |
$retour .= '</ul>'."\n";
|
715 |
}
|
739 |
}
|
716 |
if ($bln_premier_appel == false) {
|
740 |
if ($bln_premier_appel == false) {
|
717 |
$retour .= '</li>'."\n";
|
741 |
$retour .= '</li>'."\n";
|
718 |
}
|
742 |
}
|
719 |
} else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) {
|
743 |
} else if ($resultat_sous_menu->numRows() == 0 && $bln_premier_appel == false) {
|
720 |
$retour .= '<li>'."\n";
|
744 |
$retour .= '<li>'."\n";
|
721 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, $adme_menu_ouvert, 0);
|
745 |
$retour .= ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $id_menu_a_deployer, 0);
|
722 |
$retour .= '</li>'."\n";
|
746 |
$retour .= '</li>'."\n";
|
Line 723... |
Line 747... |
723 |
}
|
747 |
}
|
724 |
|
748 |
|
Line 729... |
Line 753... |
729 |
*
|
753 |
*
|
730 |
* Ancien nom : menu_toHtml().
|
754 |
* Ancien nom : menu_toHtml().
|
731 |
*
|
755 |
*
|
732 |
* @return string Une liste HTML
|
756 |
* @return string Une liste HTML
|
733 |
*/
|
757 |
*/
|
734 |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_menu_ouvert, $int_deplier)
|
758 |
function ADME_retournerXhtmlMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $int_deplier)
|
735 |
{
|
759 |
{
|
736 |
$etiquette_annuler = 'Annuler';
|
760 |
$etiquette_annuler = 'Annuler';
|
737 |
$etiquette_alt_modifier = 'Modifier';
|
761 |
$etiquette_alt_modifier = 'Modifier';
|
738 |
$etiquette_title_modifier = 'Modifier ce menu';
|
762 |
$etiquette_title_modifier = 'Modifier ce menu';
|
739 |
$etiquette_alt_supprimer = 'Supprimer';
|
763 |
$etiquette_alt_supprimer = 'Supprimer';
|
Line 781... |
Line 805... |
781 |
if ($int_deplier != 0) {
|
805 |
if ($int_deplier != 0) {
|
782 |
if ($int_deplier == 1) {
|
806 |
if ($int_deplier == 1) {
|
783 |
// Afficher un -
|
807 |
// Afficher un -
|
784 |
$image_plier_deplier = ADME_IMAGE_MOINS;
|
808 |
$image_plier_deplier = ADME_IMAGE_MOINS;
|
785 |
$alt = $etiquette_plier;
|
809 |
$alt = $etiquette_plier;
|
786 |
$url->addQueryString('adme_menu_ouvert', GEN_lireIdentifiantMenuPere($adme_menu_id));
|
810 |
$url->addQueryString('adme_action', 'adme_menu_fermer');
|
787 |
$url_plier_deplier = $url->getURL();
|
811 |
$url_plier_deplier = $url->getURL();
|
788 |
$url->removeQueryString('adme_menu_ouvert');
|
- |
|
789 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert);
|
- |
|
790 |
} else if ($int_deplier == 2) {
|
812 |
} else if ($int_deplier == 2) {
|
791 |
// Afficher un +
|
813 |
// Afficher un +
|
792 |
$image_plier_deplier = ADME_IMAGE_PLUS;
|
814 |
$image_plier_deplier = ADME_IMAGE_PLUS;
|
793 |
$alt = $etiquette_deplier;
|
815 |
$alt = $etiquette_deplier;
|
794 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_id);
|
816 |
$url->addQueryString('adme_action', 'adme_menu_ouvrir');
|
795 |
$url_plier_deplier = $url->getURL();
|
817 |
$url_plier_deplier = $url->getURL();
|
796 |
$url->removeQueryString('adme_menu_ouvert');
|
- |
|
797 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert);
|
- |
|
798 |
}
|
818 |
}
|
799 |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'.
|
819 |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'.
|
800 |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'.
|
820 |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'.
|
801 |
'</a>'.' '."\n";
|
821 |
'</a>'.' '."\n";
|
802 |
} else {
|
- |
|
803 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert);
|
- |
|
804 |
}
|
822 |
}
|
Line 805... |
Line 823... |
805 |
|
823 |
|
806 |
//-------------------------------------------------------------------------------------------------------------------
|
824 |
//-------------------------------------------------------------------------------------------------------------------
|
807 |
// XHTML du nom du menu et de ses infos
|
825 |
// XHTML du nom du menu et de ses infos
|
Line 810... |
Line 828... |
810 |
$xhtml_info .= '('.$ligne_app->gap_nom.' / '.$ligne->ga_prenom.')';
|
828 |
$xhtml_info .= '('.$ligne_app->gap_nom.' / '.$ligne->ga_prenom.')';
|
811 |
$xhtml_info .= ' '."\n";
|
829 |
$xhtml_info .= ' '."\n";
|
Line 812... |
Line 830... |
812 |
|
830 |
|
813 |
//-------------------------------------------------------------------------------------------------------------------
|
831 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
832 |
// XHTML actions
|
814 |
// XHTML actions
|
833 |
$url->removeQueryString('adme_action');
|
815 |
$url->addQueryString('adme_action', 'modifier_menu_classique');
|
834 |
$url->addQueryString('adme_action', 'modifier_menu_classique');
|
816 |
$xhtml_action = '<a href="'.$url->getURL().'" title="'.$etiquette_title_modifier.'">'.
|
835 |
$xhtml_action = '<a href="'.$url->getURL().'" title="'.$etiquette_title_modifier.'">'.
|
817 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.$etiquette_alt_modifier.'" />'.
|
836 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_VOIR.'" alt="'.$etiquette_alt_modifier.'" />'.
|
818 |
'</a> '."\n";
|
837 |
'</a> '."\n";
|
Line 830... |
Line 849... |
830 |
$url->addQueryString('adme_action', 'supprimer_menu_classique');
|
849 |
$url->addQueryString('adme_action', 'supprimer_menu_classique');
|
831 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_supprimer.'">'.
|
850 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_supprimer.'">'.
|
832 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.$etiquette_alt_supprimer.'" />'.
|
851 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.$etiquette_alt_supprimer.'" />'.
|
833 |
'</a> '."\n";
|
852 |
'</a> '."\n";
|
834 |
$url->removeQueryString('adme_action');
|
853 |
$url->removeQueryString('adme_action');
|
835 |
$url->removeQueryString('adme_menu_ouvert');
|
- |
|
836 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_id);
|
- |
|
837 |
$url->addQueryString('adme_action', 'ajouter_menu_classique');
|
854 |
$url->addQueryString('adme_action', 'ajouter_menu_classique');
|
838 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_ajouter.'">'.
|
855 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_ajouter.'">'.
|
839 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.$etiquette_alt_ajouter.'" />'.
|
856 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_NOUVEAU.'" alt="'.$etiquette_alt_ajouter.'" />'.
|
840 |
'</a>'.' '."\n";
|
857 |
'</a>'.' '."\n";
|
Line 841... |
Line 858... |
841 |
|
858 |
|
842 |
// Si l'application liée est "texte simple", on ajoute un icone avec un lien vers
|
859 |
// Si l'application liée est "texte simple", on ajoute un icone avec un lien vers
|
843 |
// l'administration de cette application.
|
860 |
// l'administration de cette application.
|
844 |
if ($ligne->gm_ce_application == 3) { // l'appli afficheur a pour id 3
|
861 |
if ($ligne->gm_ce_application == 3) { // l'appli afficheur a pour id 3
|
845 |
$url->removeQueryString('adme_action');
|
- |
|
846 |
$url->removeQueryString('adme_menu_ouvert');
|
- |
|
847 |
$url->addQueryString('adme_menu_ouvert', $adme_menu_ouvert);
|
862 |
$url->removeQueryString('adme_action');
|
848 |
$url->addQueryString('adme_action', 'contenu_rediger');
|
863 |
$url->addQueryString('adme_action', 'contenu_rediger');
|
849 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_redaction.'">'.
|
864 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.$etiquette_title_redaction.'">'.
|
850 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.$etiquette_alt_redaction.'" />'.
|
865 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TEXTE.'" alt="'.$etiquette_alt_redaction.'" />'.
|
851 |
'</a>'.' '."\n";
|
866 |
'</a>'.' '."\n";
|
Line 863... |
Line 878... |
863 |
|
878 |
|
864 |
|
879 |
|
865 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
880 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
881 |
*
|
- |
|
882 |
* $Log: not supported by cvs2svn $
|
- |
|
883 |
* Revision 1.5 2004/11/04 19:11:38 jpm
|
- |
|
884 |
* Mise en conformité vis à vis de la convention de codage.
|
866 |
*
|
885 |
* Amélioration de la récursivité de la gestion de l'affichage des menus.
|
867 |
* $Log: not supported by cvs2svn $
|
886 |
*
|
868 |
* Revision 1.4 2004/10/25 16:27:42 jpm
|
887 |
* Revision 1.4 2004/10/25 16:27:42 jpm
|
869 |
* Correction d'un bogue dans la gestion du déplacement des menus.
|
888 |
* Correction d'un bogue dans la gestion du déplacement des menus.
|
870 |
*
|
889 |
*
|