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.26 2006-03-02 10:49:49 ddelon Exp $ |
// CVS : $Id: pap_menu.fonct.php,v 1.27 2006-10-16 15:50:10 ddelon 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.26 $ $Date: 2006-03-02 10:49:49 $ |
*@version $Revision: 1.27 $ $Date: 2006-10-16 15:50:10 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
688,8 → 688,247 |
} |
return $aso_site_menus; |
} |
|
|
// Code menu --> Identifiant |
// Identifiant menu --> Identifiant version originale |
// Identifiant menu --> Identifiant version par défaut |
// Identifiant menu --> Contenu |
// Identifiant menu --> Contenu version originale |
// Identifiant menu --> Contenu version par défaut |
|
// Identifiant menu --> Identifiant version originale |
|
/** Fonction GEN_rechercheMenuIdentifiant() - Recherche code menu à partir de l'identifiant d'un site |
* |
* |
* @param object objet Pear de connection à la base de données. |
*/ |
|
function GEN_rechercheMenuIdentifiant($db, $id_menu) { |
|
|
$requete = 'SELECT gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_id_menu = '.$id_menu.' '; |
$resultat = $db->query($requete); |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
$ligne = $resultat->fetchrow(DB_FETCHMODE_OBJECT); |
|
return $ligne->gm_code_num; |
|
} |
|
/** Fonction GEN_rechercheMenuCode() - Recherche identifiant à partir du code menu d'un site et en fonction de la langue |
* |
* |
* @param object objet Pear de connection à la base de données. |
* @param code menu |
* @return identifiant menu |
*/ |
|
function GEN_rechercheMenuCode($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 |
// Recherche de l'identifiant de la langue du site |
// Recherche de l'identifiant par defaut |
|
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
|
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$code_menu.' '. |
'AND gm_ce_i18n = "'.$langue_test.'" '; |
$resultat = $db->query($requete); |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
if ( $resultat->numRows() > 0 ) { |
$ligne = $resultat->fetchrow(DB_FETCHMODE_OBJECT); |
return $ligne->gm_id_menu; |
} |
else { |
// Recherche defaut : |
|
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$code_menu.' '; |
'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '; |
|
$resultat = $db->query($requete); |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
if ( $resultat->numRows() > 0 ) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
if ($langue_test!=GEN_I18N_ID_DEFAUT) { |
return GEN_rechercheMenuIdentifiantVersionParDefaut($db,$ligne->gm_id_menu); |
|
} |
else { |
return $ligne->gm_id_menu; |
} |
|
} |
} |
|
|
} |
|
/* Fonction GEN_rechercheContenu |
* |
*/ |
|
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'; |
|
$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); |
|
$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); |
|
$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; |
|
} |
|
/** Fonction GEN_rechercheMenuIdentifiantVersionOriginale() - Recherche identifiant de la version orginale d'un menu |
* |
* |
* @param object objet Pear de connection à la base de données. |
* @param identifiant menu |
* @return identifiant menu |
*/ |
|
function GEN_rechercheMenuIdentifiantVersionOriginale($db, $id_menu) { |
|
$requete = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation '. |
'WHERE gmr_id_menu_02 = ' . $id_menu .' '. |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction" |
|
|
$resultat = $db->query($requete) ; |
|
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
|
|
if ($resultat->numRows() > 0) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
return $ligne->gmr_id_menu_01; |
} |
else { |
return $id_menu; |
} |
|
} |
|
|
/** Fonction GEN_rechercheMenuIdentifiantVersionParDefaut() - Recherche identifiant par defaut d'un menu |
* |
* |
* @param object objet Pear de connection à la base de données. |
* @param identifiant menu |
* @return identifiant menu |
*/ |
|
|
function GEN_rechercheMenuIdentifiantVersionParDefaut($db, $id_menu) { |
|
$identifiantVersionOrginale=GEN_rechercheMenuIdentifiantVersionOriginale($db, $id_menu); |
|
$requete = 'SELECT gmr_id_menu_02 '. |
'FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = ' . $identifiantVersionOrginale .' '. |
'AND gmr_id_valeur = 105 '; // 105 |
|
$resultat = $db->query($requete) ; |
|
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
|
if ($resultat->numRows() > 0) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
return $ligne->gmr_id_menu_02; |
} |
else { |
return $identifiantVersionOrginale; |
} |
|
|
|
} |
|
|
|
|
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* $Log: not supported by cvs2svn $ |
* Revision 1.26 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.25.2.1 2005/12/20 14:40:24 ddelon |
* Fusion Head vers Livraison |
* |