Line 19... |
Line 19... |
19 |
// | |
|
19 |
// | |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
24 |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.17 2005-07-08 22:01:25 ddelon Exp $
|
24 |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.18 2005-07-18 16:14:32 ddelon Exp $
|
25 |
/**
|
25 |
/**
|
26 |
* Application de gestion des menus communs
|
26 |
* Application de gestion des menus communs
|
27 |
*
|
27 |
*
|
28 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus communs.
|
28 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus communs.
|
29 |
* Par menus communs, nous entendons tous les menus devant paraitre sur l'ensemble des pages de plusieurs site,
|
29 |
* Par menus communs, nous entendons tous les menus devant paraitre sur l'ensemble des pages de plusieurs site,
|
Line 36... |
Line 36... |
36 |
//Autres auteurs :
|
36 |
//Autres auteurs :
|
37 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
37 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
38 |
*@author David Delon <david.delon@clapas.net>
|
38 |
*@author David Delon <david.delon@clapas.net>
|
39 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
39 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
40 |
*@copyright Tela-Botanica 2000-2004
|
40 |
*@copyright Tela-Botanica 2000-2004
|
41 |
*@version $Revision: 1.17 $ $Date: 2005-07-08 22:01:25 $
|
41 |
*@version $Revision: 1.18 $ $Date: 2005-07-18 16:14:32 $
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
43 |
*/
|
43 |
*/
|
Line 44... |
Line 44... |
44 |
|
44 |
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
Line 53... |
Line 53... |
53 |
|
53 |
|
54 |
|
54 |
|
55 |
// +------------------------------------------------------------------------------------------------------+
|
55 |
// +------------------------------------------------------------------------------------------------------+
|
56 |
// | LISTE de FONCTIONS |
|
56 |
// | LISTE de FONCTIONS |
|
57 |
// +------------------------------------------------------------------------------------------------------+
|
57 |
// +------------------------------------------------------------------------------------------------------+
|
58 |
/** Fonction ADME_afficherListeMenuClassique () - Affiche un arbre de menu en xhtml
|
58 |
/** Fonction ADME_afficherListeMenuCommun () - Affiche un arbre de menu en xhtml
|
59 |
*
|
59 |
*
|
60 |
* Elle forme l'arbre des menus communs à administrer.
|
60 |
* Elle forme l'arbre des menus communs à administrer.
|
61 |
* Ancien nom : deployer_menu().
|
61 |
* Ancien nom : deployer_menu().
|
Line 224... |
Line 224... |
224 |
$url->removeQueryString('adme_action');
|
224 |
$url->removeQueryString('adme_action');
|
225 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_DESCENDRE);
|
225 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_DESCENDRE);
|
226 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE.'">'.
|
226 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_DESCENDRE_TITLE.'">'.
|
227 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_COMMUN_DESCENDRE_ALT.'" />'.
|
227 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_BAS.'" alt="'.ADME_LG_ACTION_COMMUN_DESCENDRE_ALT.'" />'.
|
228 |
'</a> '."\n";
|
228 |
'</a> '."\n";
|
- |
|
229 |
|
- |
|
230 |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_DIMINUER);
|
- |
|
231 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_DIMINUER_TITLE.'">'.
|
- |
|
232 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_GAUCHE.'" alt="'.ADME_LG_ACTION_COMMUN_DIMINUER_ALT.'" />'.
|
- |
|
233 |
'</a> '."\n";
|
- |
|
234 |
$url->removeQueryString('adme_action');
|
- |
|
235 |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_AUGMENTER);
|
- |
|
236 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_AUGMENTER_TITLE.'">'.
|
- |
|
237 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_FLECHE_DROITE.'" alt="'.ADME_LG_ACTION_COMMUN_AUGMENTER_ALT.'" />'.
|
- |
|
238 |
'</a> '."\n";
|
- |
|
239 |
|
- |
|
240 |
|
229 |
$url->removeQueryString('adme_action');
|
241 |
$url->removeQueryString('adme_action');
|
230 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_SUPPRIMER);
|
242 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_SUPPRIMER);
|
231 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
|
243 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_TITLE.'" onclick="javascript:return confirm(\''.ADME_LG_ACTION_SUPPRIMER_CONFIRMATION.'\');">'.
|
232 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT.'" />'.
|
244 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_SUPPRIMER.'" alt="'.ADME_LG_ACTION_COMMUN_SUPPRIMER_ALT.'" />'.
|
233 |
'</a> '."\n";
|
245 |
'</a> '."\n";
|
Line 804... |
Line 816... |
804 |
|
816 |
|
805 |
$resultat = $db->query($requete);
|
817 |
$resultat = $db->query($requete);
|
806 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
|
818 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
|
Line -... |
Line 819... |
- |
|
819 |
}
|
- |
|
820 |
|
- |
|
821 |
function ADME_indenterMenuCommun($db, $adme_site_id, $adme_menu_id, $bln_diminuer) {
|
- |
|
822 |
|
- |
|
823 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
824 |
// Récupération d'information sur le site de ce menu.
|
- |
|
825 |
$objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
|
- |
|
826 |
|
- |
|
827 |
if ($objet_site == false) {
|
- |
|
828 |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_SITE.'<br />'.
|
- |
|
829 |
'Id du site : '. $adme_site_id .'<br />'.
|
- |
|
830 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
831 |
'Fichier n° : '. __FILE__ .'<br />');
|
- |
|
832 |
}
|
- |
|
833 |
|
- |
|
834 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
835 |
// Récupération d'informations sur les relations du menu courant.
|
- |
|
836 |
$ligne_menu_courant_relation = GEN_lireInfoMenuRelation($db, $adme_menu_id, '1');
|
- |
|
837 |
if ($ligne_menu_courant_relation == false) {
|
- |
|
838 |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
|
- |
|
839 |
'Identifiant menu : '. $adme_menu_id .'<br />'.
|
- |
|
840 |
'Identifiant valeur relation : 1 <br />'.
|
- |
|
841 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
842 |
'Fichier n° : '. __FILE__ .'<br />');
|
- |
|
843 |
}
|
- |
|
844 |
|
- |
|
845 |
|
- |
|
846 |
|
- |
|
847 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
848 |
// Récupération de l'identifiant du menu pére
|
- |
|
849 |
|
- |
|
850 |
$id_pere = GEN_lireIdentifiantMenuPere($adme_menu_id);
|
- |
|
851 |
if ($id_pere === false) {
|
- |
|
852 |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
|
- |
|
853 |
'Identifiant menu fils : '. $adme_menu_id .'<br />'.
|
- |
|
854 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
855 |
'Fichier n° : '. __FILE__ .'<br />');
|
- |
|
856 |
}
|
- |
|
857 |
|
- |
|
858 |
if ($bln_diminuer) {
|
- |
|
859 |
|
- |
|
860 |
// Diminution d'un niveau
|
- |
|
861 |
|
- |
|
862 |
if ($id_pere) {
|
- |
|
863 |
|
- |
|
864 |
// Récupération de l'identifiant du menu grand pére, sera le nouveau pere
|
- |
|
865 |
|
- |
|
866 |
$id_grand_pere = GEN_lireIdentifiantMenuPere($id_pere);
|
- |
|
867 |
|
- |
|
868 |
if ($id_grand_pere === false) {
|
- |
|
869 |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_ID_MENU_PERE.'<br />'.
|
- |
|
870 |
'Identifiant menu fils : '. $adme_menu_id .'<br />'.
|
- |
|
871 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
872 |
'Fichier n° : '. __FILE__ .'<br />');
|
- |
|
873 |
}
|
- |
|
874 |
|
- |
|
875 |
// Récupération d'informations sur les relations du menu pere
|
- |
|
876 |
|
- |
|
877 |
$ligne_menu_pere_relation = GEN_lireInfoMenuRelation($db, $id_pere, '1');
|
- |
|
878 |
|
- |
|
879 |
if ($ligne_menu_pere_relation == false) {
|
- |
|
880 |
die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU_RELATION.'<br />'.
|
- |
|
881 |
'Identifiant menu : '. $adme_menu_id .'<br />'.
|
- |
|
882 |
'Identifiant valeur relation : 1 <br />'.
|
- |
|
883 |
'Ligne n° : '. __LINE__ .'<br />'.
|
- |
|
884 |
'Fichier n° : '. __FILE__ .'<br />');
|
- |
|
885 |
}
|
- |
|
886 |
|
- |
|
887 |
|
- |
|
888 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
889 |
// Recherche d'information sur le menu suivant le menu pere
|
- |
|
890 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
891 |
|
- |
|
892 |
$requete = 'SELECT GMR01.gmr_ordre AS nouvel_ordre, GMR01.gmr_id_menu_01 AS id_menu_remplace '.
|
- |
|
893 |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
|
- |
|
894 |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
|
- |
|
895 |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
|
- |
|
896 |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site!
|
- |
|
897 |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun""
|
- |
|
898 |
'AND GMR01.gmr_id_menu_02 = '.$id_grand_pere.' '.
|
- |
|
899 |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
|
- |
|
900 |
'AND GMR01.gmr_ordre > '.$ligne_menu_pere_relation->gmr_ordre.' '.
|
- |
|
901 |
'ORDER BY GMR01.gmr_ordre DESC';
|
- |
|
902 |
|
- |
|
903 |
|
- |
|
904 |
$resultat_menu = $db->query($requete);
|
- |
|
905 |
|
- |
|
906 |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
|
- |
|
907 |
|
- |
|
908 |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
909 |
$resultat_menu->free();
|
- |
|
910 |
|
- |
|
911 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
912 |
// Si la requete ne retourne rien nous ne faisons rien.
|
- |
|
913 |
if (! $ligne_menu) {
|
- |
|
914 |
$no=$ligne_menu_pere_relation->gmr_ordre+1;
|
- |
|
915 |
}
|
- |
|
916 |
else {
|
- |
|
917 |
$no=$ligne_menu->nouvel_ordre+1;
|
- |
|
918 |
}
|
- |
|
919 |
|
- |
|
920 |
// Mise à jour pere menu courant
|
- |
|
921 |
$requete = 'UPDATE gen_menu_relation SET '.
|
- |
|
922 |
'gmr_id_menu_02 = '.$id_grand_pere.' ,'.
|
- |
|
923 |
'gmr_ordre = '.$no.' '.
|
- |
|
924 |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
|
- |
|
925 |
'AND gmr_id_valeur = 1';// 1 = relation menu "père"
|
- |
|
926 |
|
- |
|
927 |
$resultat_update = $db->query($requete);
|
- |
|
928 |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
|
- |
|
929 |
|
- |
|
930 |
|
- |
|
931 |
|
- |
|
932 |
}
|
- |
|
933 |
}
|
- |
|
934 |
else {
|
- |
|
935 |
|
- |
|
936 |
$requete = 'SELECT GMR01.gmr_id_menu_01 '.
|
- |
|
937 |
'FROM gen_menu, gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
|
- |
|
938 |
'WHERE GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
|
- |
|
939 |
'AND GMR01.gmr_id_menu_01 = gm_id_menu './/jonction avec la table GEN_MENU
|
- |
|
940 |
'AND gm_ce_site = 0 '.// les menus communs ne sont pas liés à un site!
|
- |
|
941 |
'AND GMR02.gmr_id_valeur = 102 '.// 102 = menu type "commun"
|
- |
|
942 |
'AND GMR01.gmr_id_menu_02 = '.$id_pere.' '.
|
- |
|
943 |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = relation menu "père"
|
- |
|
944 |
'AND GMR01.gmr_ordre < '.$ligne_menu_courant_relation->gmr_ordre.' '.
|
- |
|
945 |
'ORDER BY GMR01.gmr_ordre DESC';
|
- |
|
946 |
|
- |
|
947 |
$resultat_menu = $db->query($requete);
|
- |
|
948 |
(DB::isError($resultat_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete)) : '';
|
- |
|
949 |
|
- |
|
950 |
$ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
951 |
$resultat_menu->free();
|
- |
|
952 |
//-------------------------------------------------------------------------------------------------------------------
|
- |
|
953 |
// Si la requete ne retourne rien nous ne faisons rien.
|
- |
|
954 |
if (! $ligne_menu) {
|
- |
|
955 |
return null;
|
- |
|
956 |
}
|
- |
|
957 |
|
- |
|
958 |
//----------------------------------------------------------------------------
|
- |
|
959 |
// Recherche dernier fils
|
- |
|
960 |
|
- |
|
961 |
$requete = 'SELECT GMR01.gmr_ordre '.
|
- |
|
962 |
'FROM gen_menu_relation AS GMR01, gen_menu_relation AS GMR02 '.
|
- |
|
963 |
'WHERE GMR01.gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' '.
|
- |
|
964 |
'AND GMR01.gmr_id_valeur = 1 '.// 1 = avoir "père"
|
- |
|
965 |
'AND GMR02.gmr_id_menu_01 = GMR01.gmr_id_menu_01 '.
|
- |
|
966 |
'AND GMR02.gmr_id_menu_01 = GMR02.gmr_id_menu_02 '.
|
- |
|
967 |
'AND GMR02.gmr_id_valeur = 102 '.// 100 = menu type "commun"
|
- |
|
968 |
'ORDER BY GMR01.gmr_ordre DESC';
|
- |
|
969 |
|
- |
|
970 |
$resultat = $db->query($requete);
|
- |
|
971 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
|
- |
|
972 |
|
- |
|
973 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
974 |
$no = $ligne->gmr_ordre + 1;
|
- |
|
975 |
$resultat->free();
|
- |
|
976 |
|
- |
|
977 |
|
- |
|
978 |
// Mise à jour pere menu courant
|
- |
|
979 |
$requete = 'UPDATE gen_menu_relation SET '.
|
- |
|
980 |
'gmr_id_menu_02 = '.$ligne_menu->gmr_id_menu_01.' ,'.
|
- |
|
981 |
'gmr_ordre = '.$no.' '.
|
- |
|
982 |
'WHERE gmr_id_menu_01 = '.$ligne_menu_courant_relation->gmr_id_menu_01.' '.
|
- |
|
983 |
'AND gmr_id_valeur = 1';// 1 = relation menu "père"
|
- |
|
984 |
|
- |
|
985 |
$resultat_update = $db->query($requete);
|
- |
|
986 |
(DB::isError($resultat_update)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete)) : '';
|
- |
|
987 |
|
- |
|
988 |
|
- |
|
989 |
}
|
- |
|
990 |
}
|
- |
|
991 |
|
807 |
}
|
992 |
|
808 |
|
993 |
|
809 |
/** Fonction ADME_supprimerMenuCommun() - Supprime un menu classique.
|
994 |
/** Fonction ADME_supprimerMenuCommun() - Supprime un menu commun.
|
810 |
*
|
995 |
*
|
811 |
* Supprime de la base de données de Génésia toutes les traces du menu classiques
|
996 |
* Supprime de la base de données de Génésia toutes les traces du menu commun
|
812 |
* passé en paramètre.
|
997 |
* passé en paramètre.
|
813 |
* Ancien nom : deleteUpper()
|
998 |
* Ancien nom : deleteUpper()
|
814 |
*
|
999 |
*
|
815 |
* @param PEAR::DB l'objet Pear DB de connexion à la base de données.
|
1000 |
* @param PEAR::DB l'objet Pear DB de connexion à la base de données.
|
816 |
* @param integer l'identifiant du menu à supprimer
|
1001 |
* @param integer l'identifiant du menu à supprimer
|
817 |
* @return void le menu classique est supprimé de la base de données.
|
1002 |
* @return void le menu commun est supprimé de la base de données.
|
818 |
*/
|
1003 |
*/
|
819 |
function ADME_supprimerMenuCommun($db, $id_menu_a_supprimer)
|
1004 |
function ADME_supprimerMenuCommun($db, $id_menu_a_supprimer)
|
820 |
{
|
1005 |
{
|
Line 888... |
Line 1073... |
888 |
|
1073 |
|
889 |
|
1074 |
|
890 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
1075 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
1076 |
*
|
- |
|
1077 |
* $Log: not supported by cvs2svn $
|
- |
|
1078 |
* Revision 1.17 2005/07/08 22:01:25 ddelon
|
891 |
*
|
1079 |
* Copyright
|
892 |
* $Log: not supported by cvs2svn $
|
1080 |
*
|
893 |
* Revision 1.16 2005/05/26 16:13:08 jpm
|
1081 |
* Revision 1.16 2005/05/26 16:13:08 jpm
|
894 |
* Correction taille éditeur: passage en text
|
1082 |
* Correction taille éditeur: passage en text
|
895 |
*
|
1083 |
*
|