Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 145 → Rev 146

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