Subversion Repositories Applications.papyrus

Rev

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

Rev 56 Rev 110
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.3 2004-09-23 17:45:13 jpm Exp $
22
// CVS : $Id: adme_menu_classique.fonct.php,v 1.4 2004-10-25 16:27:42 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.3 $ $Date: 2004-09-23 17:45:13 $
38
*@version       $Revision: 1.4 $ $Date: 2004-10-25 16:27:42 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
Line 41... Line 41...
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
43
// |                                            ENTÊTE du PROGRAMME                                       |
43
// |                                            ENTÊTE du PROGRAMME                                       |
44
// +------------------------------------------------------------------------------------------------------+
-
 
Line 45... Line 44...
45
                                    /*Mettre ici les inclusions de fichiers*/
44
// +------------------------------------------------------------------------------------------------------+
46
 
45
 
47
 
46
 
48
 
-
 
Line 49... Line 47...
49
// +------------------------------------------------------------------------------------------------------+
47
 
50
// |                                            CORPS du PROGRAMME                                        |
48
// +------------------------------------------------------------------------------------------------------+
51
// +------------------------------------------------------------------------------------------------------+
49
// |                                            CORPS du PROGRAMME                                        |
52
                                       /*Mettre ici le code du programme*/
-
 
-
 
50
// +------------------------------------------------------------------------------------------------------+
53
 
51
 
54
 
52
 
55
 
53
 
56
// +------------------------------------------------------------------------------------------------------+
54
// +------------------------------------------------------------------------------------------------------+
57
// |                                           LISTE de FONCTIONS                                         |
55
// |                                           LISTE de FONCTIONS                                         |
Line 643... Line 641...
643
*/
641
*/
644
function moveMenu($db, $adminProject, $adminLocale, $menuid, $up)
642
function moveMenu($db, $adminProject, $adminLocale, $menuid, $up)
645
{
643
{
646
    //----------------------------------------------------------------------------
644
    //----------------------------------------------------------------------------
647
    // Récupération d'information sur le site de ce menu.
645
    // Récupération d'information sur le site de ce menu.
648
    $PRJrow = GEN_lireInfoSitePrincipalCodeAlpha($db, $adminProject);
646
    $objet_site = GEN_lireInfoSitePrincipalCodeAlpha($db, $adminProject);
649
    if ($PRJrow == false) {
647
    if ($objet_site == false) {
650
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
648
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
651
            'Code alpha du site : '. $adminProject .'<br />'.
649
            'Code alpha du site : '. $adminProject .'<br />'.
652
            'Ligne n° : '. __LINE__ .'<br />'.
650
            'Ligne n° : '. __LINE__ .'<br />'.
653
            'Fichier n° : '. __FILE__ .'<br />');
651
            'Fichier n° : '. __FILE__ .'<br />');
654
    }
652
    }
Line 660... Line 658...
660
            'Identifiant menu : '. $menuid .'<br />'.
658
            'Identifiant menu : '. $menuid .'<br />'.
661
            'Identifiant valeur relation : 1 <br />'.
659
            'Identifiant valeur relation : 1 <br />'.
662
            'Ligne n° : '. __LINE__ .'<br />'.
660
            'Ligne n° : '. __LINE__ .'<br />'.
663
            'Fichier n° : '. __FILE__ .'<br />');
661
            'Fichier n° : '. __FILE__ .'<br />');
664
    }
662
    }
665
    $id_pere = $ligne_menu_courant_relation->gmr_id_menu_02;
663
    //----------------------------------------------------------------------------
666
    
-
 
667
    // Il serait mieux d'utiliser la fonction ci-dessous.
664
    // Récupération de l'identifiant du menu pére
668
    // Mais cela ne semble pas fonctionner!!!
-
 
669
    /*
-
 
670
    $id_pere = GEN_lireIdentifiantMenuPere($menuid);
665
    $id_pere = GEN_lireIdentifiantMenuPere($menuid);
671
    if ($id_pere == false) {
666
    if ($id_pere === false) {
672
        die('ERREUR Génésia Administrateur de Menus : impossible de lire identifiant du menu père.<br />'.
667
        die('ERREUR Génésia Administrateur de Menus : impossible de lire identifiant du menu père.<br />'.
673
            'Identifiant menu fils : '. $menuid .'<br />'.
668
            'Identifiant menu fils : '. $menuid .'<br />'.
674
            'Ligne n° : '. __LINE__ .'<br />'.
669
            'Ligne n° : '. __LINE__ .'<br />'.
675
            'Fichier n° : '. __FILE__ .'<br />');
670
            'Fichier n° : '. __FILE__ .'<br />');
676
    }
671
    }
677
    */
-
 
678
    
-
 
679
    //----------------------------------------------------------------------------
672
    //----------------------------------------------------------------------------
680
    // Recherche d'information sur le menu précédent ou suivant le menu courant
673
    // Recherche d'information sur le menu précédent ou suivant le menu courant
681
    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
674
    $requete =  'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
682
                'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
675
                'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
683
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
676
                'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
-
 
677
                'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
-
 
678
                'AND gm_ce_site = '.$objet_site->gs_id_site.' '.
684
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
679
                'AND GMR02.gmr_id_valeur = 100 '.// 100 = menu type "classique"
685
                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
680
                'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
686
                'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père"
681
                'AND GMR01.gmr_id_valeur = 1 ';// 1 = relation menu "père"
687
    if ($up) {
682
    if ($up) {
688
        $requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
683
        $requete .= 'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
Line 690... Line 685...
690
    } else {
685
    } else {
691
        $requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '.
686
        $requete .= 'AND GMR01.gmr_ordre > '.$ligne_menu_courant_relation->gmr_ordre.' '.
692
                    'ORDER BY GMR01.gmr_ordre ASC';
687
                    'ORDER BY GMR01.gmr_ordre ASC';
693
    }
688
    }
Line 694... Line 689...
694
    
689
    
695
    $MENUresult = $db->query($requete);
690
    $resultat_menu = $db->query($requete);
696
    (DB::isError($MENUresult)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $MENUresult->getMessage(), $requete)) : '';
-
 
697
    
-
 
698
    $MENUrow = $MENUresult->fetchRow(DB_FETCHMODE_OBJECT);
-
 
Line -... Line 691...
-
 
691
    (DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
-
 
692
    
699
    $MENUresult->free();
693
    $ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
700
    
694
    $resultat_menu->free();
701
    //----------------------------------------------------------------------------
695
    //----------------------------------------------------------------------------
702
    // Si la requete ne retourne rien nous ne faisons rien.
696
    // Si la requete ne retourne rien nous ne faisons rien.
703
    if (! $MENUrow) {
697
    if (! $ligne_menu) {
704
        return;
-
 
705
    }
698
        return;
706
    
699
    }
707
    //----------------------------------------------------------------------------
700
    //----------------------------------------------------------------------------
708
    // Mise à jour des relations du menu courant
701
    // Mise à jour des relations du menu courant
709
    $requete =  'UPDATE gen_menu_relation SET '.
702
    $requete =  'UPDATE gen_menu_relation SET '.
710
                'gmr_ordre = '.$MENUrow->nouvel_ordre.' '.
703
                'gmr_ordre = '.$ligne_menu->nouvel_ordre.' '.
Line 711... Line 704...
711
                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
704
                'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
712
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
705
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
713
    
706
    
714
    $result = $db->query($requete);
707
    $resultat_update = $db->query($requete);
715
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
708
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
716
    //----------------------------------------------------------------------------
709
    //----------------------------------------------------------------------------
717
    // Mise à jour des relations du menu précédent ou suivant
710
    // Mise à jour des relations du menu précédent ou suivant
718
    $requete =  'UPDATE gen_menu_relation SET '.
711
    $requete =  'UPDATE gen_menu_relation SET '.
Line 719... Line 712...
719
                'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '.
712
                'gmr_ordre = '.$ligne_menu_courant_relation->gmr_ordre.' '.
720
                'WHERE gmr_id_menu_01 = '.$MENUrow->id_menu_remplace.' '.
713
                'WHERE gmr_id_menu_01 = '.$ligne_menu->id_menu_remplace.' '.
721
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
714
                'AND gmr_id_valeur = 1';// 1 = relation menu "père"
Line 722... Line 715...
722
    
715
    
723
    $result = $db->query($requete);
716
    $resultat_update = $db->query($requete);
724
    (DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : '';
717
    (DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
Line 735... Line 728...
735
*/
728
*/
736
function deleteMenu($objet_pear_db, $id_menu_a_supprimer)
729
function deleteMenu($objet_pear_db, $id_menu_a_supprimer)
737
{
730
{
738
    //----------------------------------------------------------------------------
731
    //----------------------------------------------------------------------------
739
    // Y a t'il des sous_menus
732
    // Y a t'il des sous_menus
740
    $requete =    'SELECT COUNT(gm_id_menu) AS compte '.
733
    $requete =  'SELECT COUNT(gm_id_menu) AS compte '.
741
                'FROM gen_menu, gen_menu_relation '.
734
                'FROM gen_menu, gen_menu_relation '.
742
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '.
735
                'WHERE gmr_id_menu_02 = '.$id_menu_a_supprimer.' '.
743
                'AND gmr_id_valeur = 1 '.
736
                'AND gmr_id_valeur = 1 '.
744
                'AND gmr_id_menu_01 = gm_id_menu ';
737
                'AND gmr_id_menu_01 = gm_id_menu ';
Line 767... Line 760...
767
    
760
    
768
    $resultat = $objet_pear_db->query($requete);
761
    $resultat = $objet_pear_db->query($requete);
769
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
762
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 770... Line -...
770
}
-
 
771
 
763
}
772
 
764
 
773
/** Fonction deployer_menu () - Affiche un menu en html
765
/** Fonction deployer_menu () - Affiche un menu en html
774
*
766
*
775
*   @param  integer l'identifiant du menu
767
*   @param  integer l'identifiant du menu
Line 945... Line 937...
945
}
937
}
Line 946... Line 938...
946
 
938
 
947
// +------------------------------------------------------------------------------------------------------+
939
// +------------------------------------------------------------------------------------------------------+
948
// |                                            PIED du PROGRAMME                                         |
940
// |                                            PIED du PROGRAMME                                         |
949
// +------------------------------------------------------------------------------------------------------+
-
 
Line 950... Line 941...
950
                                           /*Partie non obligatoire*/                                     
941
// +------------------------------------------------------------------------------------------------------+
951
 
942
 
952
 
943
 
-
 
944
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
945
*
-
 
946
* $Log: not supported by cvs2svn $
953
/* +--Fin du code ----------------------------------------------------------------------------------------+
947
* Revision 1.3  2004/09/23 17:45:13  jpm
954
*
948
* Amélioration de la gestion des liens annuler et du selecteur de sites.
955
* $Log: not supported by cvs2svn $
949
*
956
* Revision 1.2  2004/07/06 17:07:37  jpm
950
* Revision 1.2  2004/07/06 17:07:37  jpm
957
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.
951
* Modification de la documentation pour une mailleur analyse par PhpDocumentor.