Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1498 → Rev 1499

/trunk/papyrus/bibliotheque/fonctions/pap_menu.fonct.php
19,7 → 19,7
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: pap_menu.fonct.php,v 1.30 2006-12-12 17:19:58 jp_milcent Exp $
// CVS : $Id: pap_menu.fonct.php,v 1.31 2007-06-26 15:39:46 jp_milcent Exp $
/**
* Bibliothèque de fonction sur le rendu.
*
32,7 → 32,7
//Autres auteurs :
*@author Alexandre GRANIER <alexadandre@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.30 $ $Date: 2006-12-12 17:19:58 $
*@version $Revision: 1.31 $ $Date: 2007-06-26 15:39:46 $
// +------------------------------------------------------------------------------------------------------+
*/
 
391,6 → 391,42
return $info_menu;
}
 
/** Fonction GEN_lireContenuMenuHistorique() - Renvoie un objet ou un tableau contenant une ligne de la table gen_menu_contenu
*
* Retourne la ligne de la table gen_menu_contenu concernant le menu ayant pour identifiant la valeur
* passée en paramètre. Toutes les versions archivées du contenu du menu sont retournées.
*
* @param mixed une instance de la classse Pear DB.
* @param int l'identifiant d'un menu.
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
* @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.
*/
function GEN_lireContenuMenuHistorique(&$db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
{
//----------------------------------------------------------------------------
// Gestion des erreurs
 
//----------------------------------------------------------------------------
// Recherche des informations sur le menu
$requete = 'SELECT * '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu;
 
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
if ($resultat->numRows() < 1) {
return false;
}
$resultat =& $db->query($requete);
(PEAR::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
while ($menu_contenu = $resultat->fetchRow($mode)) {
$aso_info[] = $menu_contenu;
}
return $aso_info;
}
 
/** Fonction GEN_retournerMenus() - Renvoie un tableau contenant les id de l'ensemble des menus
*
* Retourne un tableau contenant les id de l'ensemble des menus des différents sites de Papyrus.
711,9 → 747,8
* @param object objet Pear de connection à la base de données.
*/
 
function GEN_rechercheMenuIdentifiant($db, $id_menu) {
function GEN_rechercheMenuIdentifiant($db, $id_menu)
{
$requete = 'SELECT gm_code_num '.
'FROM gen_menu '.
'WHERE gm_id_menu = '.$id_menu.' ';
736,7 → 771,8
* @param integer code numérique du menu
* @return identifiant menu
*/
function GEN_retournerIdMenuParCodeNum($db, $code_menu) {
function GEN_retournerIdMenuParCodeNum($db, $code_menu)
{
// Si identifiant existe pour la langue choisie : retour identifiant
// Si identifiant n'existe pas : retour identifiant de la langue par defaut :
// Recherche de l'identifiant par defaut
798,67 → 834,68
/* Fonction GEN_rechercheContenu
*
*/
function GEN_rechercheContenu($db,$id_menu,$type_fetch=DB_FETCHMODE_OBJECT) {
function GEN_rechercheContenu($db, $id_menu, $type_fetch = DB_FETCHMODE_OBJECT) {
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu.' '.
'AND gmc_ce_type_contenu in (1,2) '.
'AND gmc_bool_dernier = 1';
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu.' '.
'AND gmc_ce_type_contenu in (1,2) '.
'AND gmc_bool_dernier = 1';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
// Rien trouvé ? : Pas encore de contenu
// Recherche identifiant par défaut
if ( $resultat->numRows() == 0 ) {
 
$id_menu_defaut=GEN_rechercheMenuIdentifiantVersionParDefaut($db,$id_menu);
$id_menu_defaut = GEN_rechercheMenuIdentifiantVersionParDefaut($db,$id_menu);
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu_defaut.' '.
'AND gmc_ce_type_contenu in (1,2) '.
'AND gmc_bool_dernier = 1';
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu_defaut.' '.
'AND gmc_ce_type_contenu in (1,2) '.
'AND gmc_bool_dernier = 1';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
if ( $resultat->numRows() == 0 ) {
// Toujours rien ?
// Tentative recherche dans la langue du site par defaut
$id_menu_origine = GEN_rechercheMenuIdentifiantVersionOriginale($db, $id_menu);
$id_menu_origine=GEN_rechercheMenuIdentifiantVersionOriginale($db,$id_menu);
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '.
'FROM gen_menu_contenu '.
'WHERE gmc_ce_menu = '.$id_menu_origine.' '.
'AND gmc_ce_type_contenu in (1,2) '.
'AND gmc_bool_dernier = 1';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
}
}
$ligne_contenu = $resultat->fetchRow($type_fetch);
return $ligne_contenu;
}
 
return $ligne_contenu;
function GEN_rechercheContenuIdentifiant($db, $id_contenu, $mode = DB_FETCHMODE_OBJECT) {
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu, gmc_date_modification '.
'FROM gen_menu_contenu '.
'WHERE gmc_id_contenu = '.$id_contenu.' ';
$resultat = $db->query($requete);
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
 
}
if ($resultat->numRows() != 1) {
return false;
}
 
$ligne_contenu = $resultat->fetchRow($mode);
return $ligne_contenu;
}
 
/** Fonction GEN_rechercheMenuIdentifiantVersionOriginale() - Recherche identifiant de la version orginale d'un menu
*
*
928,6 → 965,9
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log: not supported by cvs2svn $
* Revision 1.30 2006-12-12 17:19:58 jp_milcent
* Ajout de test supplémentaire pour éviter les erreurs.
*
* Revision 1.29 2006/12/12 13:32:58 jp_milcent
* Mise en forme.
*