Subversion Repositories Applications.papyrus

Rev

Rev 2100 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2100 Rev 2149
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
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: pap_meta.fonct.php,v 1.5 2006-10-10 12:05:52 jp_milcent Exp $
22
// CVS : $Id: pap_meta.fonct.php,v 1.5 2006-10-10 12:05:52 jp_milcent Exp $
23
/**
23
/**
24
* Bibliothèque de fonctions permettant d'inclure des balises META.
24
* Bibliothèque de fonctions permettant d'inclure des balises META.
25
*
25
*
26
* Cet ensemble de fonctions permet de manipuler les balise meta à intégrer dans l'entête
26
* Cet ensemble de fonctions permet de manipuler les balise meta à intégrer dans l'entête
27
* des pages html. Cela peut être très pratique pour les applications voulant définir précisément
27
* des pages html. Cela peut être très pratique pour les applications voulant définir précisément
28
* ces informations.
28
* ces informations.
29
*
29
*
30
*@package Papyrus
30
*@package Papyrus
31
*@subpackage Fonctions
31
*@subpackage Fonctions
32
//Auteur original :
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
33
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
34
//Autres auteurs :
34
//Autres auteurs :
35
*@author        Aucun
35
*@author        Aucun
36
*@copyright     Tela-Botanica 2000-2004
36
*@copyright     Tela-Botanica 2000-2004
37
*@version       $Revision: 1.5 $ $Date: 2006-10-10 12:05:52 $
37
*@version       $Revision: 1.5 $ $Date: 2006-10-10 12:05:52 $
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
*/
39
*/
40
 
40
 
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                           LISTE de FONCTIONS                                         |
42
// |                                           LISTE de FONCTIONS                                         |
43
// +------------------------------------------------------------------------------------------------------+
43
// +------------------------------------------------------------------------------------------------------+
44
 
44
 
45
 
45
 
46
/** Fonction GEN_stockerMetaHttpEquiv() - Permet de stocker des informations Http-Equiv.
46
/** Fonction GEN_stockerMetaHttpEquiv() - Permet de stocker des informations Http-Equiv.
47
*
47
*
48
* Papyrus permet à une application donnée de stocker les balises meta contenant l'attribut http-equiv
48
* Papyrus permet à une application donnée de stocker les balises meta contenant l'attribut http-equiv
49
* à intégrer dans l'entête de la page.
49
* à intégrer dans l'entête de la page.
50
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
50
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
51
* dans une variable (tableau associatif) globale utilisée par Papyrus.
51
* dans une variable (tableau associatif) globale utilisée par Papyrus.
52
*
52
*
53
* @param    string  la clé du tableau des meta http-equiv, l'information présente dans l'attribut http-equiv.
53
* @param    string  la clé du tableau des meta http-equiv, l'information présente dans l'attribut http-equiv.
54
* @param    string  le contenu présent dans l'attribut content.
54
* @param    string  le contenu présent dans l'attribut content.
55
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
55
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
56
*/
56
*/
57
function GEN_stockerMetaHttpEquiv($id_http_equiv, $content)
57
function GEN_stockerMetaHttpEquiv($id_http_equiv, $content)
58
{
58
{
59
    if (empty($GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv])) {
59
    if (empty($GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv])) {
60
        $GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv] = $content;
60
        $GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv] = $content;
61
    } else {
61
    } else {
62
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaHttpEquiv(). <br />'.
62
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaHttpEquiv(). <br />'.
63
            'Identifiant : '. $id_http_equiv .'<br />'.
63
            'Identifiant : '. $id_http_equiv .'<br />'.
64
            'Ligne n° : '. __LINE__ .'<br />'.
64
            'Ligne n° : '. __LINE__ .'<br />'.
65
            'Fichier : '. __FILE__);
65
            'Fichier : '. __FILE__);
66
    }
66
    }
67
}
67
}
68
 
68
 
69
/** Fonction GEN_modifierMetaHttpEquiv() - Permet de modifier les informations d'une balise http-equiv.
69
/** Fonction GEN_modifierMetaHttpEquiv() - Permet de modifier les informations d'une balise http-equiv.
70
*
70
*
71
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut http-equiv
71
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut http-equiv
72
* à intégrer dans l'entête de la page.
72
* à intégrer dans l'entête de la page.
73
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
73
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
74
* dans une variable (tableau associatif) globale utilisée par Papyrus.
74
* dans une variable (tableau associatif) globale utilisée par Papyrus.
75
*
75
*
76
* @param    string  la clé du tableau des meta http-equiv, l'information présente dans l'attribut http-equiv.
76
* @param    string  la clé du tableau des meta http-equiv, l'information présente dans l'attribut http-equiv.
77
* @param    string  le contenu présent dans l'attribut content.
77
* @param    string  le contenu présent dans l'attribut content.
78
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
78
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
79
*/
79
*/
80
function GEN_modifierMetaHttpEquiv($id_http_equiv, $content)
80
function GEN_modifierMetaHttpEquiv($id_http_equiv, $content)
81
{
81
{
82
    if ($content != '') {
82
    if ($content != '') {
83
        $GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv] = $content;
83
        $GLOBALS['_GEN_commun']['meta_http_equiv'][$id_http_equiv] = $content;
84
    } else {
84
    } else {
85
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
85
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
86
            'Contenu : '. $content .'<br />'.
86
            'Contenu : '. $content .'<br />'.
87
            'Ligne n° : '. __LINE__ .'<br />'.
87
            'Ligne n° : '. __LINE__ .'<br />'.
88
            'Fichier : '. __FILE__);
88
            'Fichier : '. __FILE__);
89
    }
89
    }
-
 
90
}
-
 
91
 
-
 
92
/**
-
 
93
 * Stocke une <meta> du type <meta property="truc" content="chose">
-
 
94
 * @param string $id
-
 
95
 * @param string $property
-
 
96
 * @param string $content
-
 
97
 */
-
 
98
function GEN_stockerMetaProperty($id, $property, $content)
-
 
99
{
-
 
100
    if (empty($GLOBALS['_GEN_commun']['meta_property'][$id])) {
-
 
101
        $GLOBALS['_GEN_commun']['meta_property'][$id] = array($property, $content);
-
 
102
    } else {
-
 
103
        die('ERREUR Papyrus : cette balise meta à déjà été enregistrée par GEN_stockerMetaProperty(). <br />'.
-
 
104
            'Identifiant : '. $id .'<br />'.
-
 
105
            'Ligne n° : '. __LINE__ .'<br />'.
-
 
106
            'Fichier : '. __FILE__);
-
 
107
    }
-
 
108
}
-
 
109
 
-
 
110
/**
-
 
111
 * Modifie une <meta> du type <meta property="truc" content="chose">
-
 
112
 * @param string $id
-
 
113
 * @param string $property
-
 
114
 * @param string $content
-
 
115
 */
-
 
116
function GEN_modifierMetaProperty($id, $property, $content)
-
 
117
{
-
 
118
    if ($property != '' && $content != '') {
-
 
119
        $GLOBALS['_GEN_commun']['meta_property'][$id] = array($property, $content);
-
 
120
    } else {
-
 
121
        die('ERREUR Papyrus : cette balise ne peut avoir une propriété ou un contenu vide. <br />'.
-
 
122
            'Contenu : '. $content .'<br />'.
-
 
123
            'Ligne n° : '. __LINE__ .'<br />'.
-
 
124
            'Fichier : '. __FILE__);
-
 
125
    }
90
}
126
}
91
 
127
 
92
/** Fonction GEN_stockerMetaName() - Permet de stocker des informations pour la balise meta.
128
/** Fonction GEN_stockerMetaName() - Permet de stocker des informations pour la balise meta.
93
*
129
*
94
* Papyrus permet à une application donnée de stocker les balises meta contenant l'attribut name
130
* Papyrus permet à une application donnée de stocker les balises meta contenant l'attribut name
95
* à intégrer dans l'entête de la page.
131
* à intégrer dans l'entête de la page.
96
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
132
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
97
* dans une variable (tableau associatif) globale utilisée par Papyrus.
133
* dans une variable (tableau associatif) globale utilisée par Papyrus.
98
*
134
*
99
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
135
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
100
* @param    string  le contenu présent dans l'attribut content.
136
* @param    string  le contenu présent dans l'attribut content.
101
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
137
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
102
*/
138
*/
103
function GEN_stockerMetaName($id_name, $content)
139
function GEN_stockerMetaName($id_name, $content)
104
{
140
{
105
    if (empty($GLOBALS['_GEN_commun']['meta_name'][$id_name])) {
141
    if (empty($GLOBALS['_GEN_commun']['meta_name'][$id_name])) {
106
        $GLOBALS['_GEN_commun']['meta_name'][$id_name] = $content;
142
        $GLOBALS['_GEN_commun']['meta_name'][$id_name] = $content;
107
    } else {
143
    } else {
108
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaName(). <br />'.
144
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaName(). <br />'.
109
            'Identifiant : '. $id_name .'<br />'.
145
            'Identifiant : '. $id_name .'<br />'.
110
            'Ligne n° : '. __LINE__ .'<br />'.
146
            'Ligne n° : '. __LINE__ .'<br />'.
111
            'Fichier : '. __FILE__);
147
            'Fichier : '. __FILE__);
112
    }
148
    }
113
}
149
}
114
 
150
 
115
/** Fonction GEN_modifierMetaName() - Permet de modifier les informations d'une balise meta.
151
/** Fonction GEN_modifierMetaName() - Permet de modifier les informations d'une balise meta.
116
*
152
*
117
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut name
153
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut name
118
* à intégrer dans l'entête de la page.
154
* à intégrer dans l'entête de la page.
119
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
155
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
120
* dans une variable (tableau associatif) globale utilisée par Papyrus.
156
* dans une variable (tableau associatif) globale utilisée par Papyrus.
121
*
157
*
122
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
158
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
123
* @param    string  le contenu présent dans l'attribut content.
159
* @param    string  le contenu présent dans l'attribut content.
124
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
160
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
125
*/
161
*/
126
function GEN_modifierMetaName($id_name, $content)
162
function GEN_modifierMetaName($id_name, $content)
127
{
163
{
128
    if ($content != '') {
164
    if ($content != '') {
129
        $GLOBALS['_GEN_commun']['meta_name'][$id_name] = $content;
165
        $GLOBALS['_GEN_commun']['meta_name'][$id_name] = $content;
130
    } else {
166
    } else {
131
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
167
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
132
            'Contenu : '. $content .'<br />'.
168
            'Contenu : '. $content .'<br />'.
133
            'Ligne n° : '. __LINE__ .'<br />'.
169
            'Ligne n° : '. __LINE__ .'<br />'.
134
            'Fichier : '. __FILE__);
170
            'Fichier : '. __FILE__);
135
    }
171
    }
136
}
172
}
137
 
173
 
138
/** Fonction GEN_stockerMetaNameDC() - Permet de stocker des informations Dublin Core pour la balise meta.
174
/** Fonction GEN_stockerMetaNameDC() - Permet de stocker des informations Dublin Core pour la balise meta.
139
*
175
*
140
* Papyrus permet à une application donnée de stocker des informations Dublin Core pour les balises meta
176
* Papyrus permet à une application donnée de stocker des informations Dublin Core pour les balises meta
141
* à intégrer dans l'entête de la page.
177
* à intégrer dans l'entête de la page.
142
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
178
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que stocker les informations 
143
* dans une variable (tableau associatif) globale utilisée par Papyrus.
179
* dans une variable (tableau associatif) globale utilisée par Papyrus.
144
*
180
*
145
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
181
* @param    string  la clé du tableau des meta name, l'information présente dans l'attribut name.
146
* @param    string  le contenu présent dans l'attribut content.
182
* @param    string  le contenu présent dans l'attribut content.
147
* @param    string  le contenu présent dans l'attribut lang.
183
* @param    string  le contenu présent dans l'attribut lang.
148
* @param    string  le contenu présent dans l'attribut scheme.
184
* @param    string  le contenu présent dans l'attribut scheme.
149
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
185
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
150
*/
186
*/
151
function GEN_stockerMetaNameDC($id_name, $content, $lang = '', $scheme = '')
187
function GEN_stockerMetaNameDC($id_name, $content, $lang = '', $scheme = '')
152
{
188
{
153
    if (empty($GLOBALS['_GEN_commun']['meta_name_dc'][$id_name])) {
189
    if (empty($GLOBALS['_GEN_commun']['meta_name_dc'][$id_name])) {
154
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['contenu'] = $content;
190
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['contenu'] = $content;
155
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['langue'] = $lang;
191
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['langue'] = $lang;
156
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['scheme'] = $scheme;
192
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['scheme'] = $scheme;
157
    } else {
193
    } else {
158
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaNameDC(). <br />'.
194
        die('ERREUR Papyrus : cette balise meta à déjà été enregistré par GEN_stockerMetaNameDC(). <br />'.
159
            'Identifiant : '. $id_name .'<br />'.
195
            'Identifiant : '. $id_name .'<br />'.
160
            'Ligne n° : '. __LINE__ .'<br />'.
196
            'Ligne n° : '. __LINE__ .'<br />'.
161
            'Fichier : '. __FILE__);
197
            'Fichier : '. __FILE__);
162
    }
198
    }
163
}
199
}
164
 
200
 
165
/** Fonction GEN_modifierMetaNameDC() - Permet de modifier les informations d'une balise meta DC.
201
/** Fonction GEN_modifierMetaNameDC() - Permet de modifier les informations d'une balise meta DC.
166
*
202
*
167
* Papyrus permet à une application donnée de modifier les balises meta DC contenant l'attribut name
203
* Papyrus permet à une application donnée de modifier les balises meta DC contenant l'attribut name
168
* à intégrer dans l'entête de la page.
204
* à intégrer dans l'entête de la page.
169
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
205
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
170
* dans une variable (tableau associatif) globale utilisée par Papyrus.
206
* dans une variable (tableau associatif) globale utilisée par Papyrus.
171
*
207
*
172
* @param    string  la clé du tableau des meta name DC, l'information présente dans l'attribut name.
208
* @param    string  la clé du tableau des meta name DC, l'information présente dans l'attribut name.
173
* @param    string  le contenu présent dans l'attribut content.
209
* @param    string  le contenu présent dans l'attribut content.
174
* @param    string  le contenu présent dans l'attribut lang.
210
* @param    string  le contenu présent dans l'attribut lang.
175
* @param    string  le contenu présent dans l'attribut scheme.
211
* @param    string  le contenu présent dans l'attribut scheme.
176
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
212
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
177
*/
213
*/
178
function GEN_modifierMetaNameDC($id_name, $content, $lang = '', $scheme = '')
214
function GEN_modifierMetaNameDC($id_name, $content, $lang = '', $scheme = '')
179
{
215
{
180
    if ($content != '') {
216
    if ($content != '') {
181
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['contenu'] = $content;
217
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['contenu'] = $content;
182
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['langue'] = $lang;
218
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['langue'] = $lang;
183
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['scheme'] = $scheme;
219
        $GLOBALS['_GEN_commun']['meta_name_dc'][$id_name]['scheme'] = $scheme;
184
    } else {
220
    } else {
185
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
221
        die('ERREUR Papyrus : cette balise ne peut avoir un contenu vide. <br />'.
186
            'Contenu : '. $content .'<br />'.
222
            'Contenu : '. $content .'<br />'.
187
            'Ligne n° : '. __LINE__ .'<br />'.
223
            'Ligne n° : '. __LINE__ .'<br />'.
188
            'Fichier : '. __FILE__);
224
            'Fichier : '. __FILE__);
189
    }
225
    }
190
}
226
}
191
 
227
 
192
/** Fonction GEN_afficherMeta() - Permet d'afficher les meta informations.
228
/** Fonction GEN_afficherMeta() - Permet d'afficher les meta informations.
193
*
229
*
194
* Cette fonction affiche les meta informations Http-Equiv, Meta ou DC stockées
230
* Cette fonction affiche les meta informations Http-Equiv, Meta ou DC stockées
195
* dans une variable (tableau associatif) globale utilisée par Papyrus.
231
* dans une variable (tableau associatif) globale utilisée par Papyrus.
196
*
232
*
197
* @param    string  le type de balise meta à afficher (http-equiv, name ou dc).
233
* @param    string  le type de balise meta à afficher (http-equiv, name ou dc).
198
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
234
* @return   void    les informations sont stockées dans une variable (tableau associatif) globale.
199
*/
235
*/
200
function GEN_afficherMeta($type = 'name')
236
function GEN_afficherMeta($type = 'name')
201
{
237
{
202
    $sortie = '';
238
    $sortie = '';
203
    
239
    
204
    if ($type == 'http-equiv' && isset($GLOBALS['_GEN_commun']['meta_http_equiv'])) {
240
    if ($type == 'http-equiv' && isset($GLOBALS['_GEN_commun']['meta_http_equiv'])) {
205
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_http_equiv'])) {
241
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_http_equiv'])) {
206
            $sortie .= str_repeat(' ', 8).'<meta http-equiv="'.$cle.'" content="'.$valeur.'" />'."\n";
242
            $sortie .= str_repeat(' ', 8).'<meta http-equiv="'.$cle.'" content="'.$valeur.'" />'."\n";
207
        }
243
        }
208
        if (empty($sortie)) {
244
        if (empty($sortie)) {
209
            $sortie .= '<!-- Aucune balise meta http-equiv -->'."\n";
245
            $sortie .= '<!-- Aucune balise meta http-equiv -->'."\n";
210
        }
246
        }
211
    }else if ($type == 'name' && isset($GLOBALS['_GEN_commun']['meta_name'])) {
247
    } else if ($type == 'name' && isset($GLOBALS['_GEN_commun']['meta_name'])) {
212
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_name'])) {
248
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_name'])) {
213
            if (! empty($valeur['contenu'])) {
249
            if (! empty($valeur['contenu'])) {
214
                $sortie .= str_repeat(' ', 8).'<meta name="'.$cle.'" content="'.$valeur.'" />'."\n";
250
                $sortie .= str_repeat(' ', 8).'<meta name="'.$cle.'" content="'.$valeur.'" />'."\n";
215
            }
251
            }
216
        }
252
        }
217
        if (empty($sortie)) {
253
        if (empty($sortie)) {
218
            $sortie .= '<!-- Aucune balise meta name -->'."\n";
254
            $sortie .= '<!-- Aucune balise meta name -->'."\n";
219
        }
255
        }
-
 
256
    } else if ($type == 'property' && isset($GLOBALS['_GEN_commun']['meta_property'])) {
-
 
257
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_property'])) {
-
 
258
            if (! empty($valeur['contenu'])) {
-
 
259
                $sortie .= str_repeat(' ', 8).'<meta property="'.$valeur[0].'" content="'.$valeur[1].'" />'."\n";
-
 
260
            }
-
 
261
        }
-
 
262
        if (empty($sortie)) {
-
 
263
            $sortie .= '<!-- Aucune balise meta property -->'."\n";
-
 
264
        }
220
    } else if ($type == 'dc' && isset($GLOBALS['_GEN_commun']['meta_name_dc'])) {
265
    } else if ($type == 'dc' && isset($GLOBALS['_GEN_commun']['meta_name_dc'])) {
221
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_name_dc'])) {
266
        while (list($cle, $valeur) = each($GLOBALS['_GEN_commun']['meta_name_dc'])) {
222
            if (! empty($valeur['contenu'])) {
267
            if (! empty($valeur['contenu'])) {
223
                $sortie .= str_repeat(' ', 8).'<meta name="'.$cle.'" ';
268
                $sortie .= str_repeat(' ', 8).'<meta name="'.$cle.'" ';
224
                if (! empty($valeur['langue'])) {
269
                if (! empty($valeur['langue'])) {
225
                    $sortie .= 'lang="'.$valeur['langue'].'" ';
270
                    $sortie .= 'lang="'.$valeur['langue'].'" ';
226
                }
271
                }
227
                if (! empty($valeur['scheme'])) {
272
                if (! empty($valeur['scheme'])) {
228
                    $sortie .= 'scheme="'.$valeur['scheme'].'" ';
273
                    $sortie .= 'scheme="'.$valeur['scheme'].'" ';
229
                }
274
                }
230
                $sortie .= 'content="'.$valeur['contenu'].'" />'."\n";
275
                $sortie .= 'content="'.$valeur['contenu'].'" />'."\n";
231
            }
276
            }
232
        }
277
        }
233
        // Ajout du schéma du Dublin Core si on affiche des informations DC
278
        // Ajout du schéma du Dublin Core si on affiche des informations DC
234
        if (! empty($sortie)) {
279
        if (! empty($sortie)) {
235
            $tmp = $sortie;
280
            $tmp = $sortie;
236
            $sortie = str_repeat(' ', 8).'<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />'."\n";
281
            $sortie = str_repeat(' ', 8).'<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />'."\n";
237
            $sortie .= $tmp;
282
            $sortie .= $tmp;
238
        } else {
283
        } else {
239
            $sortie .= '<!-- Aucune balise meta name Dublin Core -->'."\n";
284
            $sortie .= '<!-- Aucune balise meta name Dublin Core -->'."\n";
240
        }
285
        }
241
    }
286
    }
242
    
287
    
243
    return $sortie;
288
    return $sortie;
244
}
289
}
245
 
290
 
246
/** Fonction GEN_viderMeta() - Permet de vider les informations d'un type de balise meta.
291
/** Fonction GEN_viderMeta() - Permet de vider les informations d'un type de balise meta.
247
*
292
*
248
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut name
293
* Papyrus permet à une application donnée de modifier les balises meta contenant l'attribut name
249
* à intégrer dans l'entête de la page.
294
* à intégrer dans l'entête de la page.
250
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
295
* Cette fonction peut être appelé plusieurs fois. Elle ne fait que modifier les informations 
251
* dans une variable (tableau associatif) globale utilisée par Papyrus.
296
* dans une variable (tableau associatif) globale utilisée par Papyrus.
252
*
297
*
253
* @param    string  le type de balise meta à vider (http-equiv, name ou dc).
298
* @param    string  le type de balise meta à vider (http-equiv, name ou dc).
254
* @return   void    la variable (tableau associatif) globale contenant les infos meta est vidée.
299
* @return   void    la variable (tableau associatif) globale contenant les infos meta est vidée.
255
*/
300
*/
256
function GEN_viderMeta($type)
301
function GEN_viderMeta($type)
257
{
302
{
258
    if ($type == 'http-equiv') {
303
    if ($type == 'http-equiv') {
259
        if (count($GLOBALS['_GEN_commun']['meta_http_equiv']) > 0) {
304
        if (count($GLOBALS['_GEN_commun']['meta_http_equiv']) > 0) {
260
        	foreach ($GLOBALS['_GEN_commun']['meta_http_equiv'] as $cle => $val) {
305
        	foreach ($GLOBALS['_GEN_commun']['meta_http_equiv'] as $cle => $val) {
261
            	$GLOBALS['_GEN_commun']['meta_http_equiv'][$cle] = null;
306
            	$GLOBALS['_GEN_commun']['meta_http_equiv'][$cle] = null;
262
        	}
307
        	}
263
        }
308
        }
264
    } else if ($type == 'meta') {
309
    } else if ($type == 'meta') {
265
        if (count($GLOBALS['_GEN_commun']['meta']) > 0) {
310
        if (count($GLOBALS['_GEN_commun']['meta']) > 0) {
266
        	foreach ($GLOBALS['_GEN_commun']['meta'] as $cle => $val) {
311
        	foreach ($GLOBALS['_GEN_commun']['meta'] as $cle => $val) {
267
            	$GLOBALS['_GEN_commun']['meta'][$cle] = null;
312
            	$GLOBALS['_GEN_commun']['meta'][$cle] = null;
268
        	}
313
        	}
269
        }
314
        }
-
 
315
    } else if ($type == 'property') {
-
 
316
        if (count($GLOBALS['_GEN_commun']['meta_property']) > 0) {
-
 
317
        	foreach ($GLOBALS['_GEN_commun']['meta_property'] as $cle => $val) {
-
 
318
            	$GLOBALS['_GEN_commun']['meta_property'][$cle] = null;
-
 
319
        	}
-
 
320
        }
270
    } else if ($type == 'dc') {
321
    } else if ($type == 'dc') {
271
        if (count($GLOBALS['_GEN_commun']['meta_name_dc']) > 0) {
322
        if (count($GLOBALS['_GEN_commun']['meta_name_dc']) > 0) {
272
        	foreach ($GLOBALS['_GEN_commun']['meta_name_dc'] as $cle => $val) {
323
        	foreach ($GLOBALS['_GEN_commun']['meta_name_dc'] as $cle => $val) {
273
            	$GLOBALS['_GEN_commun']['meta_name_dc'][$cle] = null;
324
            	$GLOBALS['_GEN_commun']['meta_name_dc'][$cle] = null;
274
        	}
325
        	}
275
        }
326
        }
276
    } else {
327
    } else {
277
        die('ERREUR Papyrus : le type de balise est incorrect. <br />'.
328
        die('ERREUR Papyrus : le type de balise est incorrect. <br />'.
278
            'Contenu : <br />'.
329
            'Contenu : <br />'.
279
            'Ligne n° : '. __LINE__ .'<br />'.
330
            'Ligne n° : '. __LINE__ .'<br />'.
280
            'Fichier : '. __FILE__);
331
            'Fichier : '. __FILE__);
281
    }
332
    }
282
}
333
}
283
 
334
 
284
/* +--Fin du code ----------------------------------------------------------------------------------------+
335
/* +--Fin du code ----------------------------------------------------------------------------------------+
285
*
336
*
286
* $Log: pap_meta.fonct.php,v $
337
* $Log: pap_meta.fonct.php,v $
287
* Revision 1.5  2006-10-10 12:05:52  jp_milcent
338
* Revision 1.5  2006-10-10 12:05:52  jp_milcent
288
* Ajout de tests à la fonction GEN_viderMeta pour éviter les warning quand les tableaux sont vides.
339
* Ajout de tests à la fonction GEN_viderMeta pour éviter les warning quand les tableaux sont vides.
289
*
340
*
290
* Revision 1.4  2006/04/28 12:41:49  florian
341
* Revision 1.4  2006/04/28 12:41:49  florian
291
* corrections erreurs chemin
342
* corrections erreurs chemin
292
*
343
*
293
* Revision 1.3  2004/12/06 19:45:45  jpm
344
* Revision 1.3  2004/12/06 19:45:45  jpm
294
* Ajout d'une fonction permettant de vider les tableaux des meta.
345
* Ajout d'une fonction permettant de vider les tableaux des meta.
295
*
346
*
296
* Revision 1.2  2004/12/06 17:58:02  jpm
347
* Revision 1.2  2004/12/06 17:58:02  jpm
297
* Ajout de fonctions permettant de modifier le contenu des balises meta : http-equiv, name et name DC.
348
* Ajout de fonctions permettant de modifier le contenu des balises meta : http-equiv, name et name DC.
298
*
349
*
299
* Revision 1.1  2004/06/15 15:12:12  jpm
350
* Revision 1.1  2004/06/15 15:12:12  jpm
300
* Changement de nom et d'arborescence de Genesia en Papyrus.
351
* Changement de nom et d'arborescence de Genesia en Papyrus.
301
*
352
*
302
* Revision 1.1  2004/04/20 15:24:54  jpm
353
* Revision 1.1  2004/04/20 15:24:54  jpm
303
* Ajout de la bibliotheque de fonctions gérant les meta.
354
* Ajout de la bibliotheque de fonctions gérant les meta.
304
*
355
*
305
*
356
*
306
* +-- Fin du code ----------------------------------------------------------------------------------------+
357
* +-- Fin du code ----------------------------------------------------------------------------------------+
307
*/
358
*/
308
?>
359
?>