Subversion Repositories Applications.papyrus

Rev

Rev 128 | Rev 134 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 128 Rev 130
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>'.'&nbsp;'."\n";
821
                    '</a>'.'&nbsp;'."\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 .= '&nbsp;'."\n";
829
    $xhtml_info .= '&nbsp;'."\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>&nbsp;'."\n";
837
                    '</a>&nbsp;'."\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>&nbsp;'."\n";
852
                        '</a>&nbsp;'."\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>'.'&nbsp;'."\n";
857
                        '</a>'.'&nbsp;'."\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>'.'&nbsp;'."\n";
866
                            '</a>'.'&nbsp;'."\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
*