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.6 2004-11-08 17:39:32 jpm Exp $ |
// CVS : $Id: pap_menu.fonct.php,v 1.7 2004-11-09 17:55:26 jpm Exp $ |
/** |
* Bibliothèque de fonction sur le rendu. |
* |
33,7 → 33,7 |
*@author Alexandre GRANIER <alexadandre@tela-botanica.org> |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.6 $ $Date: 2004-11-08 17:39:32 $ |
*@version $Revision: 1.7 $ $Date: 2004-11-09 17:55:26 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
263,13 → 263,13 |
* @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, ou false en cas d'erreur. |
*/ |
function GEN_lireInfoMenu($db, $menuid, $mode = DB_FETCHMODE_OBJECT) |
function GEN_lireInfoMenu($db, $id_menu, $mode = DB_FETCHMODE_OBJECT) |
{ |
//---------------------------------------------------------------------------- |
// Recherche des informations sur le menu |
$requete = 'SELECT * '. |
'FROM gen_menu '. |
'WHERE gm_id_menu = '.$menuid; |
'WHERE gm_id_menu = '.$id_menu; |
|
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
357,86 → 357,12 |
} |
} |
|
// +------------------------------------------------------------------------------------------------------+ |
// A NORMALISER !!! |
// +------------------------------------------------------------------------------------------------------+ |
|
/** Fonction niveau_menu() - Renvoie le niveau d'un menu. |
* |
* Fournit le niveau d'un menu dans l'arbre des menus d'un site |
* donné. |
* C'est une fonction récursive. |
* |
* @param integer l'identifiant du site du menu. |
* @param integer l'identifiant de la langue du site du menu. |
* @param integer l'identifiant d'un menu. |
* @return integer le niveau d'un menu. |
*/ |
function niveau_menu($id_site, $id_langue, $id_menu) |
{ |
global $db ; |
static $niveau = 1; |
|
$requete = 'SELECT gm_ce_menu_pere '. |
'FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu.' '. |
'AND gm_id_i18n = "'.$id_langue.'" '. |
'AND gm_id_site = '.$id_site; |
|
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
if ($resultat->numRows() == 0) { |
return $niveau; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
|
if ($ligne->gm_ce_menu_pere == 0) { |
|
$niveau++; |
$niveau = niveau_menu($id_site, $id_langue, $ligne->gm_ce_menu_pere); |
} |
|
return $niveau; |
} |
|
/** Fonction id_ancetre_niveau() - Renvoie l'identifiant de l'ancetre de niveau $niveau |
* |
* Renvoie l'identifiant de l'ancetre de niveau $niveau. |
* C'est une fonction récursive. |
* |
* @param integer identifiant du site du menu dont on cherche l'ancètre. |
* @param integer identifiant de la langue du site du menu dont on cherche l'ancètre. |
* @param integer identifiant du menu dont on cherche l'ancètre. |
* @param integer niveau souhaité. |
* @return integer identifiant de l'ancètre cherché. |
*/ |
function id_ancetre_niveau($id_site, $id_langue, $id_menu, $niveau) |
{ |
global $db; |
static $id_et_niveau = array(); |
|
$requete = 'SELECT gp_ce_page_pere '. |
'FROM gen_page '. |
'WHERE gp_id_page = '.$id_page; |
|
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
|
if ($ligne->gm_ce_menu_pere != 0) { |
array_push ($id_et_niveau, $ligne->gm_ce_menu_pere); |
} else { |
return array_pop($id_et_niveau); |
} |
$resultat->free(); |
|
return id_ancetre_niveau($id_site, $id_langue, $ligne->gm_ce_menu_pere, $niveau); |
} |
|
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2004/11/08 17:39:32 jpm |
* Suppression d'une fonction inutile. |
* GEN_etreFils() n'est pas utile. On peut utiliser GEN_etreAncetre() à la place. |
* |
* Revision 1.5 2004/11/04 12:51:45 jpm |
* Suppression de message de débogage. |
* |