Subversion Repositories Applications.papyrus

Rev

Rev 214 | Rev 459 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 214 Rev 338
Line 17... Line 17...
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: vous_etes_ici.php,v 1.5 2004-12-06 19:39:57 jpm Exp $
22
// CVS : $Id: vous_etes_ici.php,v 1.6 2005-04-14 16:38:02 jpm Exp $
23
/**
23
/**
24
* Applette : Vous Etes Ici
24
* Applette : Vous Etes Ici
25
*
25
*
26
* Affiche les liens contenant la suite des menus visités pour arriver
26
* Affiche les liens contenant la suite des menus visités pour arriver
27
* au menu courant visioné par l'utilisateur.
27
* au menu courant visioné par l'utilisateur.
Line 37... Line 37...
37
//Auteur original :
37
//Auteur original :
38
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
38
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
39
//Autres auteurs :
39
//Autres auteurs :
40
*@author        Aucun
40
*@author        Aucun
41
*@copyright     Tela-Botanica 2000-2004
41
*@copyright     Tela-Botanica 2000-2004
42
*@version       $Revision: 1.5 $ $Date: 2004-12-06 19:39:57 $
42
*@version       $Revision: 1.6 $ $Date: 2005-04-14 16:38:02 $
43
// +------------------------------------------------------------------------------------------------------+
43
// +------------------------------------------------------------------------------------------------------+
44
*/
44
*/
Line 45... Line 45...
45
 
45
 
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
// |                                            ENTÊTE du PROGRAMME                                       |
47
// |                                            ENTÊTE du PROGRAMME                                       |
-
 
48
// +------------------------------------------------------------------------------------------------------+
-
 
49
// Inclusion de la bibliothèque defonction sur les menu : inutile car inclue par Papyrus
-
 
50
// require_once GEN_CHEMIN_BIBLIO.'pap_menu.fonct.php';
-
 
51
 
48
// +------------------------------------------------------------------------------------------------------+
52
$GLOBALS['_VEI_']['nom_fonction'] = 'afficherVousEtesIci';
49
$_GEN_commun['info_applette_nom_fonction'] = 'VEI_afficherVousEtesIci';
53
$_GEN_commun['info_applette_nom_fonction'] = $GLOBALS['_VEI_']['nom_fonction'];
Line 50... Line 54...
50
$_GEN_commun['info_applette_balise'] = 'VOUS_ETES_ICI';
54
$_GEN_commun['info_applette_balise'] = 'VOUS_ETES_ICI';
51
 
55
 
52
// +------------------------------------------------------------------------------------------------------+
56
// +------------------------------------------------------------------------------------------------------+
Line 57... Line 61...
57
 
61
 
58
// +------------------------------------------------------------------------------------------------------+
62
// +------------------------------------------------------------------------------------------------------+
59
// |                                           LISTE de FONCTIONS                                         |
63
// |                                           LISTE de FONCTIONS                                         |
Line 60... Line 64...
60
// +------------------------------------------------------------------------------------------------------+
64
// +------------------------------------------------------------------------------------------------------+
61
 
65
 
62
/** Fonction VEI_afficherVousEtesIci() - Déploie le "vous êtes ici" d'un menu.
66
/** Fonction afficherVousEtesIci() - Déploie le "vous êtes ici" d'un menu.
63
*
67
*
64
* Affiche la suite des menus visité, sous forme de lien, pour arriver
68
* Affiche la suite des menus visité, sous forme de lien, pour arriver
65
* au menu courant visioné par l'utilisateur.
69
* au menu courant visioné par l'utilisateur.
Line 72... Line 76...
72
* @param  array  tableau global de Papyrus.
76
* @param  array  tableau global de Papyrus.
73
* @param int identifiant du menu courant qui représentent la fin du "vous êtes ici".
77
* @param int identifiant du menu courant qui représentent la fin du "vous êtes ici".
74
* @param boolean indique que nous avons à faire au premier appel de cette fonction récursive.
78
* @param boolean indique que nous avons à faire au premier appel de cette fonction récursive.
75
* @return  string  une liste de listes XHTML représentant le plan du site.
79
* @return  string  une liste de listes XHTML représentant le plan du site.
76
*/
80
*/
77
function VEI_afficherVousEtesIci($tab_arguments, $_GEN_commun, $id_menu_courant = '', $premier_appel = true)
81
function afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_courant_id = '', $premier_appel = true)
78
{
82
{
79
    // Initialisation de variable.
83
    // Initialisation de variable.
80
    $objet_pear_db = $_GEN_commun['pear_db'];
84
    $objet_pear_db =& $GLOBALS['_GEN_commun']['pear_db'];
81
    (empty($id_menu_courant)) ? $id_menu_courant = $_GEN_commun['info_menu']->gm_id_menu : '';
85
    $vei_numero = $GLOBALS['_PAPYRUS_']['applette']['comptage'][$GLOBALS['_VEI_']['nom_fonction']];
82
    $url_id_type_site = GEN_URL_ID_TYPE_SITE;
-
 
83
    $url_id_type_menu = GEN_URL_ID_TYPE_MENU;
-
 
84
    $url_cle_site = GEN_URL_CLE_SITE;
-
 
85
    $url_cle_menu = GEN_URL_CLE_MENU;
-
 
86
    $i18n_url = '';// Evite d'écrire l'i18n dans l'url demandée.
-
 
87
    if (!empty($_GEN_commun['url_i18n'])) {
-
 
88
        // L'écriture de l'i18n dans les urls des menus est demandée.
-
 
89
        $i18n_url = $_GEN_commun['url_i18n'];
86
    (empty($menu_courant_id)) ? $menu_courant_id = $GLOBALS['_GEN_commun']['info_menu']->gm_id_menu : '';
90
        $url_cle_i18n = GEN_URL_CLE_I18N;
-
 
91
    }
-
 
92
    $vei = '';
87
    $vei = '';
Line 93... Line 88...
93
    
88
    
94
    // Gestion des erreurs
89
    // Gestion des erreurs
95
    if (empty($id_menu_courant)) {
90
    if (empty($menu_courant_id)) {
96
        if (isset($GLOBALS['_VEI_']['usurpation'])) {
91
        if (isset($GLOBALS['_VEI_']['usurpation'])) {
97
            $vei = $GLOBALS['_VEI_']['usurpation'];
92
            $vei = $GLOBALS['_VEI_']['usurpation'];
98
        }
93
        }
99
        return $vei;
94
        return $vei;
Line 100... Line 95...
100
    }
95
    }
101
    
96
    
102
    // Début contruction du vei
97
    // Début contruction du vei
103
    $requete =  'SELECT gm_id_menu, gm_ce_i18n, gm_code_num, gm_code_alpha, gm_nom, gmr_id_menu_02 '.
98
    $menu_pere_id = GEN_lireIdentifiantMenuPere($menu_courant_id, $objet_pear_db);
104
                'FROM gen_menu, gen_menu_relation '.
99
    // Récupération des infos sur sur l'entrée du menu à afficher
105
                'WHERE gm_id_menu = '.$id_menu_courant.' '.
100
    $menu_info = GEN_lireInfoMenu($objet_pear_db, $menu_courant_id, DB_FETCHMODE_ASSOC);
106
                'AND gmr_id_menu_01 = gm_id_menu '.
-
 
107
                'AND gmr_id_valeur = 1 ';// 1 = avoir "père"
101
    // Préparation d'une entrée dans la liste du menu
-
 
102
    $menu_nom = htmlentities($menu_info['gm_nom']);
108
    
103
    $menu_hreflang = htmlentities($menu_info['gm_ce_i18n']);
109
    $resultat = $objet_pear_db->query($requete);
104
    $menu_accesskey = '';
-
 
105
    $raccourci_txt = '';
-
 
106
    if (($menu_accesskey = htmlentities($menu_info['gm_raccourci_clavier'])) != '') {
110
    if (DB::isError($resultat)) {
107
        $raccourci_txt = '(Raccourci : '.$menu_accesskey.' ).';
-
 
108
        $menu_accesskey = 'accesskey="'.$menu_accesskey.'" ';
-
 
109
    }
111
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete));
110
    $menu_texte_title = '';
112
    }
111
    if (($menu_texte_title = htmlentities($menu_info['gm_description_resume'])) != '') {
Line 113... Line 112...
113
    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT);
112
        $menu_texte_title = 'title="'.$raccourci_txt.$menu_texte_title.'" ';;
114
    $resultat->free();
113
    }
115
    
114
    
116
    // Création de l'url du menu courant
115
    // Création de l'url du menu courant
117
    $objet_pear_url = & new Net_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
-
 
118
    $requete_site_code =    'SELECT gs_code_num, gs_code_alpha '.
-
 
Line 119... Line -...
119
                            'FROM gen_menu, gen_site '.
-
 
120
                            'WHERE gm_id_menu = '.$ligne->gm_id_menu.' '.
116
    $une_url =& new Pap_URL('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
121
                            'AND gm_ce_site = gs_id_site';
-
 
122
    
-
 
123
    $resultat_site_code = $objet_pear_db->query($requete_site_code);
-
 
124
    if (DB::isError($resultat_site_code)) {
117
    $une_url->setId($menu_courant_id);
125
        die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_site_code->getMessage(), $requete_site_code));
118
    $menu_url = $une_url->getURL();
126
    }
-
 
127
    $ligne_site_code = $resultat_site_code->fetchRow(DB_FETCHMODE_OBJECT);
119
    
128
    if ($url_id_type_site == 'int') {
-
 
129
        $objet_pear_url->addQueryString($url_cle_site, $ligne_site_code->gs_code_num);
-
 
130
    } else {
120
    if ($menu_pere_id != 0) {
131
        $objet_pear_url->addQueryString($url_cle_site, $ligne_site_code->gs_code_alpha);
121
        // Ce n'est pas le menu racine : nous continuons
132
    }
-
 
133
    if ($url_id_type_menu == 'int') {
-
 
134
        $objet_pear_url->addQueryString($url_cle_menu, $ligne->gm_code_num);
-
 
135
    } else {
-
 
136
        $objet_pear_url->addQueryString($url_cle_menu, $ligne->gm_code_alpha);
-
 
137
    }
-
 
138
    if (!empty($i18n_url)) {
-
 
139
        $objet_pear_url->addQueryString($url_cle_i18n, $i18n_url);
122
        $vei .= '<a id="menu_'.$vei_numero.'_'.$menu_courant_id.'" href="'.$menu_url.'" ';
140
    }
123
        $vei .= 'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a> >>> '."\n";
141
    $url = $objet_pear_url->getURL();
-
 
142
    
-
 
143
    if ($ligne->gmr_id_menu_02 != 0) {// C'est le menu racine!
124
        $vei .= afficherVousEtesIci($tab_arguments, $_GEN_commun, $menu_pere_id, false);
144
        $vei .= '<a href="'.$url.'">'.$ligne->gm_nom.'</a> >>> ';
125
    } else {
Line 145... Line 126...
145
        $vei .= VEI_afficherVousEtesIci($tab_arguments, $_GEN_commun, $ligne->gmr_id_menu_02, false);
126
        // C'est le menu racine : nous nous arrêtons
146
    } else {
127
        $vei .= '<a id="menu_'.$vei_numero.'_'.$menu_courant_id.'" href="'.$menu_url.'" ';
147
        $vei .= '<a href="'.$url.'">'.$ligne->gm_nom.'</a>';
128
        $vei .= 'hreflang="'.$menu_hreflang.'" '.$menu_texte_title.$menu_accesskey.'>'.$menu_nom.'</a>'."\n";
Line 177... Line 158...
177
 
158
 
178
 
159
 
179
/* +--Fin du code ----------------------------------------------------------------------------------------+
160
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
161
*
-
 
162
* $Log: not supported by cvs2svn $
-
 
163
* Revision 1.5  2004/12/06 19:39:57  jpm
180
*
164
* Gestion de l'usurpation de VEI.
181
* $Log: not supported by cvs2svn $
165
*
182
* Revision 1.4  2004/11/10 19:41:27  jpm
166
* Revision 1.4  2004/11/10 19:41:27  jpm
183
* Correction bogue quand pas de menu par défaut.
167
* Correction bogue quand pas de menu par défaut.
184
*
168
*