Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 337 → Rev 338

/trunk/papyrus/applettes/vous_etes_ici/vous_etes_ici.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: 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.
*