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: vous_etes_ici.php,v 1.5 2004-12-06 19:39:57 jpm Exp $ |
// CVS : $Id: vous_etes_ici.php,v 1.6 2005-04-14 16:38:02 jpm Exp $ |
/** |
* Applette : Vous Etes Ici |
* |
39,7 → 39,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.5 $ $Date: 2004-12-06 19:39:57 $ |
*@version $Revision: 1.6 $ $Date: 2005-04-14 16:38:02 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
46,7 → 46,11 |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
$_GEN_commun['info_applette_nom_fonction'] = 'VEI_afficherVousEtesIci'; |
// Inclusion de la bibliothèque defonction sur les menu : inutile car inclue par Papyrus |
// require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php'; |
|
$GLOBALS['_VEI_']['nom_fonction'] = 'afficherVousEtesIci'; |
$_GEN_commun['info_applette_nom_fonction'] = $GLOBALS['_VEI_']['nom_fonction']; |
$_GEN_commun['info_applette_balise'] = 'VOUS_ETES_ICI'; |
|
// +------------------------------------------------------------------------------------------------------+ |
59,7 → 63,7 |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
|
/** Fonction VEI_afficherVousEtesIci() - Déploie le "vous êtes ici" d'un menu. |
/** Fonction afficherVousEtesIci() - Déploie le "vous êtes ici" d'un menu. |
* |
* Affiche la suite des menus visité, sous forme de lien, pour arriver |
* au menu courant visioné par l'utilisateur. |
74,25 → 78,16 |
* @param boolean indique que nous avons à faire au premier appel de cette fonction récursive. |
* @return string une liste de listes XHTML représentant le plan du site. |
*/ |
function VEI_afficherVousEtesIci($tab_arguments, $_GEN_commun, $id_menu_courant = '', $premier_appel = true) |
function afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_courant_id = '', $premier_appel = true) |
{ |
// Initialisation de variable. |
$objet_pear_db = $_GEN_commun['pear_db']; |
(empty($id_menu_courant)) ? $id_menu_courant = $_GEN_commun['info_menu']->gm_id_menu : ''; |
$url_id_type_site = GEN_URL_ID_TYPE_SITE; |
$url_id_type_menu = GEN_URL_ID_TYPE_MENU; |
$url_cle_site = GEN_URL_CLE_SITE; |
$url_cle_menu = GEN_URL_CLE_MENU; |
$i18n_url = '';// Evite d'écrire l'i18n dans l'url demandée. |
if (!empty($_GEN_commun['url_i18n'])) { |
// L'écriture de l'i18n dans les urls des menus est demandée. |
$i18n_url = $_GEN_commun['url_i18n']; |
$url_cle_i18n = GEN_URL_CLE_I18N; |
} |
$objet_pear_db =& $GLOBALS['_GEN_commun']['pear_db']; |
$vei_numero = $GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_VEI_']['nom_fonction']]; |
(empty($menu_courant_id)) ? $menu_courant_id = $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu : ''; |
$vei = ''; |
|
// Gestion des erreurs |
if (empty($id_menu_courant)) { |
if (empty($menu_courant_id)) { |
if (isset($GLOBALS['_VEI_']['usurpation'])) { |
$vei = $GLOBALS['_VEI_']['usurpation']; |
} |
99,53 → 94,39 |
return $vei; |
} |
|
// Début contruction du vei |
$requete = 'SELECT gm_id_menu, gm_ce_i18n, gm_code_num, gm_code_alpha, gm_nom, gmr_id_menu_02 '. |
'FROM gen_menu, gen_menu_relation '. |
'WHERE gm_id_menu = '.$id_menu_courant.' '. |
'AND gmr_id_menu_01 = gm_id_menu '. |
'AND gmr_id_valeur = 1 ';// 1 = avoir "père" |
// Début contruction du vei |
$menu_pere_id = GEN_lireIdentifiantMenuPere($menu_courant_id, $objet_pear_db); |
// Récupération des infos sur sur l'entrée du menu à afficher |
$menu_info = GEN_lireInfoMenu($objet_pear_db, $menu_courant_id, DB_FETCHMODE_ASSOC); |
// Préparation d'une entrée dans la liste du menu |
$menu_nom = htmlentities($menu_info['gm_nom']); |
$menu_hreflang = htmlentities($menu_info['gm_ce_i18n']); |
$menu_accesskey = ''; |
$raccourci_txt = ''; |
if (($menu_accesskey = htmlentities($menu_info['gm_raccourci_clavier'])) != '') { |
$raccourci_txt = '(Raccourci : '.$menu_accesskey.' ).'; |
$menu_accesskey = 'accesskey="'.$menu_accesskey.'" '; |
} |
$menu_texte_title = ''; |
if (($menu_texte_title = htmlentities($menu_info['gm_description_resume'])) != '') { |
$menu_texte_title = 'title="'.$raccourci_txt.$menu_texte_title.'" ';; |
} |
|
$resultat = $objet_pear_db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$resultat->free(); |
|
// Création de l'url du menu courant |
$objet_pear_url = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); |
$requete_site_code = 'SELECT gs_code_num, gs_code_alpha '. |
'FROM gen_menu, gen_site '. |
'WHERE gm_id_menu = '.$ligne->gm_id_menu.' '. |
'AND gm_ce_site = gs_id_site'; |
$une_url =& new Pap_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); |
$une_url->setId($menu_courant_id); |
$menu_url = $une_url->getURL(); |
|
$resultat_site_code = $objet_pear_db->query($requete_site_code); |
if (DB::isError($resultat_site_code)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_site_code->getMessage(), $requete_site_code)); |
if ($menu_pere_id != 0) { |
// Ce n'est pas le menu racine : nous continuons |
$vei .= '<a id="menu_'.$vei_numero.'_'.$menu_courant_id.'" href="'.$menu_url.'" '; |
$vei .= 'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a> >>> '."\n"; |
$vei .= afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_pere_id, false); |
} else { |
// C'est le menu racine : nous nous arrêtons |
$vei .= '<a id="menu_'.$vei_numero.'_'.$menu_courant_id.'" href="'.$menu_url.'" '; |
$vei .= 'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a>'."\n"; |
} |
$ligne_site_code = $resultat_site_code->fetchRow(DB_FETCHMODE_OBJECT); |
if ($url_id_type_site == 'int') { |
$objet_pear_url->addQueryString($url_cle_site, $ligne_site_code->gs_code_num); |
} else { |
$objet_pear_url->addQueryString($url_cle_site, $ligne_site_code->gs_code_alpha); |
} |
if ($url_id_type_menu == 'int') { |
$objet_pear_url->addQueryString($url_cle_menu, $ligne->gm_code_num); |
} else { |
$objet_pear_url->addQueryString($url_cle_menu, $ligne->gm_code_alpha); |
} |
if (!empty($i18n_url)) { |
$objet_pear_url->addQueryString($url_cle_i18n, $i18n_url); |
} |
$url = $objet_pear_url->getURL(); |
|
if ($ligne->gmr_id_menu_02 != 0) {// C'est le menu racine! |
$vei .= '<a href="'.$url.'">'.$ligne->gm_nom.'</a> >>> '; |
$vei .= VEI_afficherVousEtesIci($tab_arguments, $_GEN_commun, $ligne->gmr_id_menu_02, false); |
} else { |
$vei .= '<a href="'.$url.'">'.$ligne->gm_nom.'</a>'; |
} |
|
// Retour du VEI après la recherche récursive des liens |
if ($premier_appel) { |
179,6 → 160,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.5 2004/12/06 19:39:57 jpm |
* Gestion de l'usurpation de VEI. |
* |
* Revision 1.4 2004/11/10 19:41:27 jpm |
* Correction bogue quand pas de menu par défaut. |
* |