| 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.
|