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