Subversion Repositories Applications.papyrus

Rev

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

Rev 1153 Rev 1499
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: pap_menu.fonct.php,v 1.30 2006-12-12 17:19:58 jp_milcent Exp $
22
// CVS : $Id: pap_menu.fonct.php,v 1.31 2007-06-26 15:39:46 jp_milcent Exp $
23
/**
23
/**
24
* Bibliothèque de fonction sur le rendu.
24
* Bibliothèque de fonction sur le rendu.
25
*
25
*
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
27
*
27
*
Line 30... Line 30...
30
//Auteur original :
30
//Auteur original :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
34
*@copyright     Tela-Botanica 2000-2004
34
*@copyright     Tela-Botanica 2000-2004
35
*@version       $Revision: 1.30 $ $Date: 2006-12-12 17:19:58 $
35
*@version       $Revision: 1.31 $ $Date: 2007-06-26 15:39:46 $
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
37
*/
37
*/
Line 38... Line 38...
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
Line 389... Line 389...
389
    $resultat->free();
389
    $resultat->free();
Line 390... Line 390...
390
 
390
 
391
    return $info_menu;
391
    return $info_menu;
Line -... Line 392...
-
 
392
}
-
 
393
 
-
 
394
/** Fonction GEN_lireContenuMenuHistorique() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_contenu
-
 
395
*
-
 
396
* Retourne la ligne de la table gen_menu_contenu concernant le menu ayant pour identifiant la valeur
-
 
397
* passée en paramètre. Toutes les versions archivées du contenu du menu sont retournées.
-
 
398
*
-
 
399
* @param  mixed     une instance de la classse Pear DB.
-
 
400
* @param  int       l'identifiant d'un menu.
-
 
401
* @param  string    le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
-
 
402
* @return  mixed    un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu_contenu, ou false en cas d'erreur.
-
 
403
*/
-
 
404
function GEN_lireContenuMenuHistorique(&$db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
-
 
405
{
-
 
406
    //----------------------------------------------------------------------------
-
 
407
    // Gestion des erreurs
-
 
408
 
-
 
409
    //----------------------------------------------------------------------------
-
 
410
    // Recherche des informations sur le menu
-
 
411
    $requete =  'SELECT * '.
-
 
412
                'FROM gen_menu_contenu '.
-
 
413
                'WHERE gmc_ce_menu = '.$id_menu;
-
 
414
 
-
 
415
    $resultat = $db->query($requete);
-
 
416
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
417
 
-
 
418
    if ($resultat->numRows() < 1) {
-
 
419
        return false;
-
 
420
    }
-
 
421
	
-
 
422
	$resultat =& $db->query($requete);
-
 
423
    (PEAR::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
424
	while ($menu_contenu = $resultat->fetchRow($mode)) {
-
 
425
		$aso_info[] = $menu_contenu;
-
 
426
	}
-
 
427
    return $aso_info;
392
}
428
}
393
 
429
 
394
/** Fonction GEN_retournerMenus() - Renvoie un tableau contenant les id de l'ensemble des menus
430
/** Fonction GEN_retournerMenus() - Renvoie un tableau contenant les id de l'ensemble des menus
395
*
431
*
396
* Retourne un tableau contenant les id de l'ensemble des menus des différents sites de Papyrus.
432
* Retourne un tableau contenant les id de l'ensemble des menus des différents sites de Papyrus.
Line 709... Line 745...
709
*
745
*
710
*
746
*
711
* @param  object objet Pear de connection à la base de données.
747
* @param  object objet Pear de connection à la base de données.
712
*/
748
*/
Line 713... Line 749...
713
 
749
 
714
function GEN_rechercheMenuIdentifiant($db, $id_menu) {
-
 
715
	
750
function GEN_rechercheMenuIdentifiant($db, $id_menu)
716
	
751
{
717
		$requete =  'SELECT  gm_code_num   '.
752
		$requete =  'SELECT  gm_code_num   '.
718
        	        'FROM gen_menu  '.
753
        	        'FROM gen_menu  '.
719
            	    'WHERE gm_id_menu =  '.$id_menu.' ';
754
            	    'WHERE gm_id_menu =  '.$id_menu.' ';
Line 734... Line 769...
734
*
769
*
735
* @param  object objet Pear de connection à la base de données.
770
* @param  object objet Pear de connection à la base de données.
736
* @param  integer code numérique du menu
771
* @param  integer code numérique du menu
737
* @return identifiant menu
772
* @return identifiant menu
738
*/
773
*/
739
function GEN_retournerIdMenuParCodeNum($db, $code_menu) {
774
function GEN_retournerIdMenuParCodeNum($db, $code_menu)
-
 
775
{
740
	// Si identifiant existe pour la langue choisie : retour identifiant
776
	// Si identifiant existe pour la langue choisie : retour identifiant
741
	// Si identifiant n'existe pas : retour identifiant de la langue par defaut :
777
	// Si identifiant n'existe pas : retour identifiant de la langue par defaut :
742
	// Recherche de l'identifiant par defaut 
778
	// Recherche de l'identifiant par defaut 
743
	// Recherche de l'identifiant de la langue du site
779
	// Recherche de l'identifiant de la langue du site
744
	// Recherche de l'identifiant par defaut 
780
	// Recherche de l'identifiant par defaut 
Line 796... Line 832...
796
}
832
}
Line 797... Line 833...
797
 
833
 
798
/* Fonction GEN_rechercheContenu
834
/* Fonction GEN_rechercheContenu
799
*
835
*
800
*/
836
*/
Line 801... Line 837...
801
function GEN_rechercheContenu($db,$id_menu,$type_fetch=DB_FETCHMODE_OBJECT) {
837
function GEN_rechercheContenu($db, $id_menu, $type_fetch = DB_FETCHMODE_OBJECT) {
802
 	
838
 	
803
	$requete  =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
839
	$requete  =	'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
804
	               			'FROM gen_menu_contenu  '.
840
				'FROM gen_menu_contenu  '.
805
			                'WHERE gmc_ce_menu = '.$id_menu.' '.
841
				'WHERE gmc_ce_menu = '.$id_menu.' '.
Line 806... Line 842...
806
	    		            'AND gmc_ce_type_contenu in (1,2) '.
842
				'AND gmc_ce_type_contenu in (1,2) '.
807
	            		    'AND gmc_bool_dernier = 1';
-
 
808
	
843
				'AND gmc_bool_dernier = 1';
809
	$resultat = $db->query($requete);
-
 
810
	
844
	
811
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
845
	$resultat = $db->query($requete);
812
	
846
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
813
	
-
 
814
	// Rien trouvé ? : Pas encore de contenu 
847
 
815
	// Recherche identifiant par défaut 
-
 
816
	
848
	// Rien trouvé ? : Pas encore de contenu 
817
	if ( $resultat->numRows() == 0 ) {
-
 
818
 
849
	// Recherche identifiant par défaut 
819
		$id_menu_defaut=GEN_rechercheMenuIdentifiantVersionParDefaut($db,$id_menu);
850
	if ( $resultat->numRows() == 0 ) {
820
		
851
		$id_menu_defaut = GEN_rechercheMenuIdentifiantVersionParDefaut($db,$id_menu);
821
		$requete  =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
852
		$requete  =	'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
822
	               			'FROM gen_menu_contenu  '.
853
					'FROM gen_menu_contenu  '.
823
			                'WHERE gmc_ce_menu = '.$id_menu_defaut.' '.
-
 
Line 824... Line 854...
824
	    		            'AND gmc_ce_type_contenu in (1,2) '.
854
					'WHERE gmc_ce_menu = '.$id_menu_defaut.' '.
825
	            		    'AND gmc_bool_dernier = 1';
-
 
826
	
855
					'AND gmc_ce_type_contenu in (1,2) '.
827
		
-
 
Line 828... Line 856...
828
		$resultat = $db->query($requete);
856
					'AND gmc_bool_dernier = 1';
829
	
857
		
830
		(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
858
		$resultat = $db->query($requete);
831
	
-
 
832
 
859
		(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 833... Line 860...
833
		if ( $resultat->numRows() == 0 ) {
860
 
834
			// Toujours rien ? 
861
		if ( $resultat->numRows() == 0 ) {
835
			// Tentative recherche dans la langue du site par defaut 
862
			// Toujours rien ? 
836
		
863
			// Tentative recherche dans la langue du site par defaut 
837
			$id_menu_origine=GEN_rechercheMenuIdentifiantVersionOriginale($db,$id_menu);
864
			$id_menu_origine = GEN_rechercheMenuIdentifiantVersionOriginale($db, $id_menu);
838
		
-
 
Line 839... Line 865...
839
			$requete  =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
865
		
840
	               			'FROM gen_menu_contenu  '.
-
 
841
			                'WHERE gmc_ce_menu = '.$id_menu_origine.' '.
866
			$requete  =  'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
Line 842... Line 867...
842
	    		            'AND gmc_ce_type_contenu in (1,2) '.
867
	               			'FROM gen_menu_contenu  '.
843
	            		    'AND gmc_bool_dernier = 1';
-
 
844
	
-
 
845
		
-
 
846
			$resultat = $db->query($requete);
868
			                'WHERE gmc_ce_menu = '.$id_menu_origine.' '.
Line 847... Line 869...
847
	
869
	    		            'AND gmc_ce_type_contenu in (1,2) '.
-
 
870
	            		    'AND gmc_bool_dernier = 1';
-
 
871
		
Line -... Line 872...
-
 
872
			$resultat = $db->query($requete);
-
 
873
			(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
874
		
848
			(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
875
		}
-
 
876
	}
-
 
877
	
-
 
878
	$ligne_contenu = $resultat->fetchRow($type_fetch);
-
 
879
	return $ligne_contenu;
Line -... Line 880...
-
 
880
}
-
 
881
 
849
		
882
function GEN_rechercheContenuIdentifiant($db, $id_contenu, $mode = DB_FETCHMODE_OBJECT) {
-
 
883
 	
-
 
884
	$requete  =	'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu, gmc_date_modification '.
-
 
885
				'FROM gen_menu_contenu  '.
-
 
886
				'WHERE gmc_id_contenu = '.$id_contenu.' ';
Line 850... Line 887...
850
		}
887
	
851
		
888
	$resultat = $db->query($requete);
852
	
889
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
853
			
890
 
Line 926... Line 963...
926
 
963
 
927
 
964
 
-
 
965
 
-
 
966
/* +--Fin du code ---------------------------------------------------------------------------------------+
-
 
967
* $Log: not supported by cvs2svn $
928
 
968
* Revision 1.30  2006-12-12 17:19:58  jp_milcent
929
/* +--Fin du code ---------------------------------------------------------------------------------------+
969
* Ajout de test supplémentaire pour éviter les erreurs.
930
* $Log: not supported by cvs2svn $
970
*
931
* Revision 1.29  2006/12/12 13:32:58  jp_milcent
971
* Revision 1.29  2006/12/12 13:32:58  jp_milcent
932
* Mise en forme.
972
* Mise en forme.