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