Line 1... |
Line 1... |
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: selecteur_sites.php,v 1.10 2006-10-11 17:20:19 jp_milcent Exp $
|
22 |
// CVS : $Id: selecteur_sites.php,v 1.11 2006-12-01 16:33:40 florian Exp $
|
23 |
/**
|
23 |
/**
|
24 |
* Applette : selecteur sites
|
24 |
* Applette : selecteur sites
|
25 |
*
|
25 |
*
|
26 |
* Génère un formulaire contenant un menu déroulant permettant de choisir un site parmis les disponibles.
|
26 |
* Génère un formulaire contenant un menu déroulant permettant de choisir un site parmis les disponibles.
|
27 |
* Nécessite :
|
27 |
* Nécessite :
|
28 |
* - Constantes et globales de Papyrus.
|
28 |
* - Constantes et globales de Papyrus.
|
29 |
* - Base de données de Papyrus
|
29 |
* - Base de données de Papyrus
|
30 |
* - Pear Net_URL
|
30 |
* - Pear Net_URL
|
31 |
* - Pear DB
|
31 |
* - Pear DB
|
32 |
* - API Débogage 1.0
|
32 |
* - API Débogage 1.0
|
33 |
* Le nom de l'applette est "SELECTEUR_SITES" pour afficher un formulaire HTML et "SELECTEUR_SITES_XHTML"
|
33 |
* Le nom de l'applette est "SELECTEUR_SITES" pour afficher un formulaire HTML et "SELECTEUR_SITES_XHTML"
|
34 |
* pour afficher un formulaire XHTML strict.
|
34 |
* pour afficher un formulaire XHTML strict.
|
35 |
*
|
35 |
*
|
36 |
*@package Applette
|
36 |
*@package Applette
|
37 |
*@subpackage Selecteur_sites
|
37 |
*@subpackage Selecteur_sites
|
38 |
//Auteur original :
|
38 |
//Auteur original :
|
39 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
39 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
40 |
//Autres auteurs :
|
40 |
//Autres auteurs :
|
41 |
*@author Aucun
|
41 |
*@author Aucun
|
42 |
*@copyright Tela-Botanica 2000-2004
|
42 |
*@copyright Tela-Botanica 2000-2004
|
43 |
*@version $Revision: 1.10 $ $Date: 2006-10-11 17:20:19 $
|
43 |
*@version $Revision: 1.11 $ $Date: 2006-12-01 16:33:40 $
|
44 |
// +------------------------------------------------------------------------------------------------------+
|
44 |
// +------------------------------------------------------------------------------------------------------+
|
45 |
*/
|
45 |
*/
|
46 |
|
46 |
|
47 |
// +------------------------------------------------------------------------------------------------------+
|
47 |
// +------------------------------------------------------------------------------------------------------+
|
48 |
// | ENTÊTE du PROGRAMME |
|
48 |
// | ENTÊTE du PROGRAMME |
|
49 |
// +------------------------------------------------------------------------------------------------------+
|
49 |
// +------------------------------------------------------------------------------------------------------+
|
50 |
$_GEN_commun['info_applette_nom_fonction'] = 'afficherSelecteurSite';
|
50 |
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherSelecteurSite';
|
51 |
$_GEN_commun['info_applette_balise'] = 'SELECTEUR_SITES_?(XHTML)?_?(SANS_(?:\d+_?)+)?';
|
51 |
$GLOBALS['_GEN_commun']['info_applette_balise'] = '<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(SELECTEUR_SITES_?(XHTML)?_?(SANS_(?:\d+_?)+)?) -->';
|
52 |
|
52 |
|
53 |
|
53 |
|
54 |
/** Inclusion du fichier de configuration de cette applette.*/
|
54 |
/** Inclusion du fichier de configuration de cette applette.*/
|
55 |
require_once GEN_CHEMIN_APPLETTE.'selecteur_sites/configuration/sesi_config.inc.php';
|
55 |
require_once GEN_CHEMIN_APPLETTE.'selecteur_sites'.GEN_SEP.'configuration'.GEN_SEP.'sesi_config.inc.php';
|
56 |
|
56 |
|
57 |
// Inclusion des fichiers de traduction de l'applette.
|
57 |
// Inclusion des fichiers de traduction de l'applette.
|
58 |
if (file_exists(SESI_CHEMIN_LANGUE.'sesi_langue_'.$_GEN_commun['i18n'].'.inc.php')) {
|
58 |
if (file_exists(SESI_CHEMIN_LANGUE.'sesi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
|
59 |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
|
59 |
/** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
|
60 |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.$_GEN_commun['i18n'].'.inc.php';
|
60 |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
|
61 |
} else {
|
61 |
} else {
|
62 |
/** Inclusion du fichier de traduction par défaut.*/
|
62 |
/** Inclusion du fichier de traduction par défaut.*/
|
63 |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.SESI_I18N_DEFAUT.'.inc.php';
|
63 |
require_once SESI_CHEMIN_LANGUE.'sesi_langue_'.SESI_I18N_DEFAUT.'.inc.php';
|
64 |
}
|
64 |
}
|
65 |
|
65 |
|
66 |
// +------------------------------------------------------------------------------------------------------+
|
66 |
// +------------------------------------------------------------------------------------------------------+
|
67 |
// | CORPS du PROGRAMME |
|
67 |
// | CORPS du PROGRAMME |
|
68 |
// +------------------------------------------------------------------------------------------------------+
|
68 |
// +------------------------------------------------------------------------------------------------------+
|
69 |
|
69 |
|
70 |
// +------------------------------------------------------------------------------------------------------+
|
70 |
// +------------------------------------------------------------------------------------------------------+
|
71 |
// | LISTE de FONCTIONS |
|
71 |
// | LISTE de FONCTIONS |
|
72 |
// +------------------------------------------------------------------------------------------------------+
|
72 |
// +------------------------------------------------------------------------------------------------------+
|
73 |
/** Fonnction GEN_afficherContenuApplette() - Fournit un formulaire de sélection des sites.
|
73 |
/** Fonnction GEN_afficherContenuApplette() - Fournit un formulaire de sélection des sites.
|
74 |
*
|
74 |
*
|
75 |
* Renvoie un formulaire permettant de passer de site en site pour une langue donnée.
|
75 |
* Renvoie un formulaire permettant de passer de site en site pour une langue donnée.
|
76 |
* Le formulaire affiche les noms des sites en fonctions de la langue passée dans l'url.
|
76 |
* Le formulaire affiche les noms des sites en fonctions de la langue passée dans l'url.
|
77 |
* Necessite l'utilisation de Pear Net_URL par le programme appelant cette fonction.
|
77 |
* Necessite l'utilisation de Pear Net_URL par le programme appelant cette fonction.
|
78 |
*
|
78 |
*
|
79 |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction.
|
79 |
* @param array tableau d'éventuel arguments présent dans la balise transmis à la fonction.
|
80 |
* @param array tableau global de Papyrus.
|
80 |
* @param array tableau global de Papyrus.
|
81 |
* @return string formulaire XHTML contenant les sites disponibles.
|
81 |
* @return string formulaire XHTML contenant les sites disponibles.
|
82 |
*/
|
82 |
*/
|
83 |
function afficherSelecteurSite($tab_applette_arguments, $_GEN_commun)
|
83 |
function afficherSelecteurSite($tab_applette_arguments, $_GEN_commun)
|
84 |
{
|
84 |
{
|
85 |
// Initialisation de variable de configuration.
|
85 |
// Initialisation de variable de configuration.
|
86 |
$liste_type_site = '102, 103';// Les id des types des sites pouvant apparaître dans le sélecteur
|
86 |
$liste_type_site = '102, 103';// Les id des types des sites pouvant apparaître dans le sélecteur
|
87 |
$objet_pear_db = $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données.
|
87 |
$objet_pear_db = $_GEN_commun['pear_db'];//objet Pear créé par DB contenant la connexion à la base de données.
|
88 |
$code_site = $_GEN_commun['url_site'];//identifiant du site courant.
|
88 |
$code_site = $_GEN_commun['url_site'];//identifiant du site courant.
|
89 |
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie
|
89 |
$id_langue = $_GEN_commun['i18n'];//identifiant de la langue choisie
|
90 |
$url_base = PAP_URL;
|
90 |
$url_base = PAP_URL;
|
91 |
$url_cle_site = GEN_URL_CLE_SITE;
|
91 |
$url_cle_site = GEN_URL_CLE_SITE;
|
92 |
$url_cle_i18n = GEN_URL_CLE_I18N;
|
92 |
$url_cle_i18n = GEN_URL_CLE_I18N;
|
93 |
$url_id_type_site = GEN_URL_ID_TYPE_SITE;
|
93 |
$url_id_type_site = GEN_URL_ID_TYPE_SITE;
|
94 |
|
94 |
|
95 |
|
95 |
|
96 |
$indent_origine = 12;// Indentation de départ en nombre d'espace
|
96 |
$indent_origine = 12;// Indentation de départ en nombre d'espace
|
97 |
$indent_pas = 4;// Pas d'indentation en nombre d'espace
|
97 |
$indent_pas = 4;// Pas d'indentation en nombre d'espace
|
Line 98... |
Line 98... |
98 |
|
98 |
|
99 |
// Récupérations des arguments passés dans la balise.
|
99 |
// Récupérations des arguments passés dans la balise.
|
100 |
// Nous vérifions si on veut du XHTML strict ou pas
|
100 |
// Nous vérifions si on veut du XHTML strict ou pas
|
101 |
$bln_xhtml_strict = 0;
|
101 |
$bln_xhtml_strict = 0;
|
102 |
if (isset($tab_applette_arguments[2]) && $tab_applette_arguments[2] == 'XHTML') {
|
102 |
if (isset($tab_applette_arguments[2]) && $tab_applette_arguments[2] == 'XHTML') {
|
103 |
$bln_xhtml_strict = 1;
|
103 |
$bln_xhtml_strict = 1;
|
104 |
}
|
104 |
}
|
105 |
// Nous vérifions s'il y a des sites que nous ne voulons pas afficher:
|
105 |
// Nous vérifions s'il y a des sites que nous ne voulons pas afficher:
|
106 |
$morceau_requete_id_suppr = '';
|
106 |
$morceau_requete_id_suppr = '';
|
107 |
$tab_id_suppr_groupe = '';
|
107 |
$tab_id_suppr_groupe = '';
|
108 |
if (isset($tab_applette_arguments[3]) && ereg('SANS_(.+)', $tab_applette_arguments[3], $tab_id_suppr_groupe)) {
|
108 |
if (isset($tab_applette_arguments[3]) && ereg('SANS_(.+)', $tab_applette_arguments[3], $tab_id_suppr_groupe)) {
|
109 |
if (preg_match('/^\d+$/', $tab_id_suppr_groupe[1])) {
|
109 |
if (preg_match('/^\d+$/', $tab_id_suppr_groupe[1])) {
|
110 |
$liste_id_suppr = $tab_id_suppr_groupe[1];
|
110 |
$liste_id_suppr = $tab_id_suppr_groupe[1];
|
Line 113... |
Line 113... |
113 |
} else {
|
113 |
} else {
|
114 |
$liste_id_suppr = '0';
|
114 |
$liste_id_suppr = '0';
|
115 |
}
|
115 |
}
|
116 |
$morceau_requete_id_suppr = 'AND gs_id_site NOT IN ('.$liste_id_suppr.') ';
|
116 |
$morceau_requete_id_suppr = 'AND gs_id_site NOT IN ('.$liste_id_suppr.') ';
|
117 |
}
|
117 |
}
|
242 |
'<form id="sesi_selecteur" ';
|
242 |
'<form id="sesi_selecteur" ';
|
243 |
// Test sur XHTML strict
|
243 |
// Test sur XHTML strict
|
244 |
if ($bln_xhtml_strict == 0) {
|
244 |
if ($bln_xhtml_strict == 0) {
|
245 |
$retour .= 'name="sesi_selecteur" ';
|
245 |
$retour .= 'name="sesi_selecteur" ';
|
246 |
}
|
246 |
}
|
247 |
$retour .= 'action="'.$objet_pear_url->getURL().'" method="get">'."\n";
|
247 |
$retour .= 'action="'.$objet_pear_url->getURL().'" method="get">'."\n";
|
248 |
|
248 |
|
249 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
249 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
250 |
'<fieldset>'."\n";
|
250 |
'<fieldset>'."\n";
|
251 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
251 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
252 |
'<legend>'.SESI_LG_LEGENDE.'</legend>'."\n";
|
252 |
'<legend>'.SESI_LG_LEGENDE.'</legend>'."\n";
|
253 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
253 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
254 |
'<select id="sesi_'.$url_cle_site.'" name="'.$url_cle_site.'" onchange="javascript:this.form.submit();">'."\n";
|
254 |
'<select id="sesi_'.$url_cle_site.'" name="'.$url_cle_site.'" onchange="javascript:this.form.submit();">'."\n";
|
255 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)).
|
255 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)).
|
256 |
'<option value="'.$code_site.'" selected="selected">'.SESI_LG_DEFAUT.'</option>'."\n";
|
256 |
'<option value="'.$code_site.'" selected="selected">'.SESI_LG_DEFAUT.'</option>'."\n";
|
257 |
foreach ($liste_site as $ligne ) {
|
257 |
foreach ($liste_site as $ligne ) {
|
258 |
// Initialisation des variables
|
258 |
// Initialisation des variables
|
259 |
$nom = $ligne['gs_nom'];
|
259 |
$nom = $ligne['gs_nom'];
|
260 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)).
|
260 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 3)).
|
261 |
'<option value="'.$ligne[$champs_code_site].'">'.$nom.'</option>'."\n";
|
261 |
'<option value="'.$ligne[$champs_code_site].'">'.$nom.'</option>'."\n";
|
262 |
}
|
262 |
}
|
263 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
263 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
264 |
'</select>'."\n";
|
264 |
'</select>'."\n";
|
265 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
265 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 2)).
|
266 |
'<input id="sesi_ok" name="sesi_ok" type="submit" value="'.SESI_LG__VALIDER.'"/>'."\n";
|
266 |
'<input id="sesi_ok" name="sesi_ok" type="submit" value="'.SESI_LG__VALIDER.'"/>'."\n";
|
267 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
267 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
268 |
'</fieldset>'."\n";
|
268 |
'</fieldset>'."\n";
|
269 |
if ($langue_test != GEN_I18N_ID_DEFAUT) {
|
269 |
if ($langue_test != GEN_I18N_ID_DEFAUT) {
|
270 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
270 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 1)).
|
271 |
'<input name="'.$url_cle_i18n.'" type="hidden" value="'.$id_langue.'"/>'."\n";
|
271 |
'<input name="'.$url_cle_i18n.'" type="hidden" value="'.$id_langue.'"/>'."\n";
|
272 |
}
|
272 |
}
|
273 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 0)).
|
273 |
$retour .= str_repeat(' ', $indent_origine + ($indent_pas * 0)).
|
274 |
'</form>'."\n";
|
274 |
'</form>'."\n";
|
275 |
|
275 |
|
276 |
|
276 |
|
277 |
}
|
277 |
}
|
278 |
|
278 |
|
279 |
return $retour;
|
279 |
return $retour;
|
280 |
}
|
280 |
}
|
281 |
|
281 |
|
282 |
// +------------------------------------------------------------------------------------------------------+
|
282 |
// +------------------------------------------------------------------------------------------------------+
|
283 |
// | PIED du PROGRAMME |
|
283 |
// | PIED du PROGRAMME |
|
284 |
// +------------------------------------------------------------------------------------------------------+
|
284 |
// +------------------------------------------------------------------------------------------------------+
|
285 |
|
285 |
|
286 |
|
286 |
|
287 |
|
287 |
|
288 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
288 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
289 |
*
|
289 |
*
|
290 |
* $Log: not supported by cvs2svn $
|
290 |
* $Log: not supported by cvs2svn $
|
- |
|
291 |
* Revision 1.10 2006/10/11 17:20:19 jp_milcent
|
- |
|
292 |
* Formatage du code.
|
- |
|
293 |
*
|
291 |
* Revision 1.9 2006/04/28 12:41:49 florian
|
294 |
* Revision 1.9 2006/04/28 12:41:49 florian
|
292 |
* corrections erreurs chemin
|
295 |
* corrections erreurs chemin
|
293 |
*
|
296 |
*
|
294 |
* Revision 1.8 2006/03/02 10:49:49 ddelon
|
297 |
* Revision 1.8 2006/03/02 10:49:49 ddelon
|
295 |
* Fusion branche multilinguisme dans branche principale
|
298 |
* Fusion branche multilinguisme dans branche principale
|
Line 328... |
Line 331... |
328 |
* Revision 1.1 2004/06/15 15:05:47 jpm
|
331 |
* Revision 1.1 2004/06/15 15:05:47 jpm
|
329 |
* Changement de nom et d'arborescence de Genesia en Papyrus.
|
332 |
* Changement de nom et d'arborescence de Genesia en Papyrus.
|
330 |
*
|
333 |
*
|
331 |
* Revision 1.5 2004/05/05 08:27:12 jpm
|
334 |
* Revision 1.5 2004/05/05 08:27:12 jpm
|
332 |
* Ajout du paramétrage de l'indentation et l'utilisation de variable pour contenir les textes de l'appli.
|
335 |
* Ajout du paramétrage de l'indentation et l'utilisation de variable pour contenir les textes de l'appli.
|
333 |
*
|
336 |
*
|
334 |
* Revision 1.4 2004/05/05 06:44:28 jpm
|
337 |
* Revision 1.4 2004/05/05 06:44:28 jpm
|
335 |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette.
|
338 |
* Complément des commentaires indiquant les paquetages nécessaire à l'applette.
|
336 |
*
|
339 |
*
|
337 |
* Revision 1.3 2004/05/03 11:19:10 jpm
|
340 |
* Revision 1.3 2004/05/03 11:19:10 jpm
|
338 |
* Intégration de la variable globale de Génésia dans les arguments de la fonction de l'applette.
|
341 |
* Intégration de la variable globale de Génésia dans les arguments de la fonction de l'applette.
|
339 |
*
|
342 |
*
|
340 |
* Revision 1.2 2004/05/01 16:13:11 jpm
|
343 |
* Revision 1.2 2004/05/01 16:13:11 jpm
|
341 |
* Ajout du nom de la balise de l'applette dans le code de l'applette.
|
344 |
* Ajout du nom de la balise de l'applette dans le code de l'applette.
|
342 |
*
|
345 |
*
|
343 |
* Revision 1.1 2004/05/01 10:30:59 jpm
|
346 |
* Revision 1.1 2004/05/01 10:30:59 jpm
|
344 |
* Ajout de l'applette selecteur de sites.
|
347 |
* Ajout de l'applette selecteur de sites.
|
345 |
*
|
348 |
*
|
346 |
*
|
349 |
*
|
347 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
350 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
348 |
*/
|
351 |
*/
|
349 |
?>
|
352 |
?>
|
350 |
|
353 |
|