Subversion Repositories Applications.papyrus

Rev

Rev 2149 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2149 Rev 2150
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$
22
// CVS : $Id$
23
/**
23
/**
24
* Formulaire
24
* Formulaire
25
*
25
*
26
* Les fonctions de mise en page des formulaire
26
* Les fonctions de mise en page des formulaire
27
*
27
*
28
*@package bazar
28
*@package bazar
29
//Auteur original :
29
//Auteur original :
30
*@author        Florian SCHMITT <florian@ecole-et-nature.org>
30
*@author        Florian SCHMITT <florian@ecole-et-nature.org>
31
//Autres auteurs :
31
//Autres auteurs :
32
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
32
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision$ $Date$
34
*@version       $Revision$ $Date$
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
37
 
37
 
38
if (isset($GLOBALS[GEN_URL_CLE_I18N])){
38
if (isset($GLOBALS[GEN_URL_CLE_I18N])){
39
	include_once 'api/formulaire/langues/formulaire.langue.'.$GLOBALS[GEN_URL_CLE_I18N].'.inc.php';
39
	include_once 'api/formulaire/langues/formulaire.langue.'.$GLOBALS[GEN_URL_CLE_I18N].'.inc.php';
40
} else {
40
} else {
41
	include_once 'api/formulaire/langues/formulaire.langue.fr.inc.php';
41
	include_once 'api/formulaire/langues/formulaire.langue.fr.inc.php';
42
}
42
}
43
 
43
 
44
 
44
 
45
 /**
45
 /**
46
  * Fonction principale de cette bibliotheque,
46
  * Fonction principale de cette bibliotheque,
47
  * 
47
  * 
48
  * decoupe le template et renvoie un tableau structure
48
  * decoupe le template et renvoie un tableau structure
49
  */
49
  */
50
 
50
 
51
function formulaire_valeurs_template_champs($valeur_template) {
51
function formulaire_valeurs_template_champs($valeur_template) {
52
	//Parcours du template, pour mettre les champs du formulaire avec leurs valeurs specifiques
52
	//Parcours du template, pour mettre les champs du formulaire avec leurs valeurs specifiques
53
	$tableau= array();
53
	$tableau= array();
54
	$nblignes=0;
54
	$nblignes=0;
55
	$chaine = explode ("\n", $valeur_template);
55
	$chaine = explode ("\n", $valeur_template);
56
	array_pop($chaine);
56
	array_pop($chaine);
57
	foreach ($chaine as $ligne)  {
57
	foreach ($chaine as $ligne)  {
58
		$souschaine = explode ("***", $ligne) ;
58
		$souschaine = explode ("***", $ligne) ;
59
		$tableau[$nblignes]['type'] = trim($souschaine[0]) ;
59
		$tableau[$nblignes]['type'] = trim($souschaine[0]) ;
60
		if (isset($souschaine[1])) {$tableau[$nblignes]['nom_bdd'] = trim($souschaine[1]);}
60
		if (isset($souschaine[1])) {$tableau[$nblignes]['nom_bdd'] = trim($souschaine[1]);}
61
		else {$tableau[$nblignes]['nom_bdd'] ='';}
61
		else {$tableau[$nblignes]['nom_bdd'] ='';}
62
		if (isset($souschaine[2])) $tableau[$nblignes]['label'] = trim($souschaine[2]);
62
		if (isset($souschaine[2])) $tableau[$nblignes]['label'] = trim($souschaine[2]);
63
		else {$tableau[$nblignes]['label'] ='';}
63
		else {$tableau[$nblignes]['label'] ='';}
64
		if (isset($souschaine[3])) $tableau[$nblignes]['limite1'] = trim($souschaine[3]);
64
		if (isset($souschaine[3])) $tableau[$nblignes]['limite1'] = trim($souschaine[3]);
65
		else {$tableau[$nblignes]['limite1'] ='';}
65
		else {$tableau[$nblignes]['limite1'] ='';}
66
		if (isset($souschaine[4])) $tableau[$nblignes]['limite2'] = trim($souschaine[4]);
66
		if (isset($souschaine[4])) $tableau[$nblignes]['limite2'] = trim($souschaine[4]);
67
		else {$tableau[$nblignes]['limite2'] ='';}
67
		else {$tableau[$nblignes]['limite2'] ='';}
68
		if (isset($souschaine[5])) $tableau[$nblignes]['defaut'] = trim($souschaine[5]);
68
		if (isset($souschaine[5])) $tableau[$nblignes]['defaut'] = trim($souschaine[5]);
69
		else {$tableau[$nblignes]['defaut'] ='';}
69
		else {$tableau[$nblignes]['defaut'] ='';}
70
		if (isset($souschaine[6])) $tableau[$nblignes]['table_source'] = trim($souschaine[6]);
70
		if (isset($souschaine[6])) $tableau[$nblignes]['table_source'] = trim($souschaine[6]);
71
		else {$tableau[$nblignes]['table_source'] ='';}
71
		else {$tableau[$nblignes]['table_source'] ='';}
72
		if (isset($souschaine[7])) $tableau[$nblignes]['id_source'] = trim($souschaine[7]);
72
		if (isset($souschaine[7])) $tableau[$nblignes]['id_source'] = trim($souschaine[7]);
73
		else {$tableau[$nblignes]['id_source'] ='';}
73
		else {$tableau[$nblignes]['id_source'] ='';}
74
		if (isset($souschaine[8])) $tableau[$nblignes]['obligatoire'] = trim($souschaine[8]);
74
		if (isset($souschaine[8])) $tableau[$nblignes]['obligatoire'] = trim($souschaine[8]);
75
		else {$tableau[$nblignes]['obligatoire'] ='';}
75
		else {$tableau[$nblignes]['obligatoire'] ='';}
76
		if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
76
		if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
77
		else {$tableau[$nblignes]['recherche'] ='';}
77
		else {$tableau[$nblignes]['recherche'] ='';}
78
 
78
 
79
		// traitement des cases a  cocher, dans ce cas la, on a une table de jointure entre la table
79
		// traitement des cases a  cocher, dans ce cas la, on a une table de jointure entre la table
80
		// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
80
		// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
81
		// dans le template, a la place d'un nom de champs dans 'nom_bdd', on a un nom de table
81
		// dans le template, a la place d'un nom de champs dans 'nom_bdd', on a un nom de table
82
		// et 2 noms de champs separes par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
82
		// et 2 noms de champs separes par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
83
		if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
83
		if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
84
			$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
84
			$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
85
			$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
85
			$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
86
			$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
86
			$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
87
			$tableau[$nblignes]['champs_id_table_jointe'] = $tableau_info_jointe[2] ;
87
			$tableau[$nblignes]['champs_id_table_jointe'] = $tableau_info_jointe[2] ;
88
		}
88
		}
89
		$nblignes++;
89
		$nblignes++;
90
	}
90
	}
91
	return $tableau;
91
	return $tableau;
92
}
92
}
93
 
93
 
94
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
94
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
95
 
95
 
96
/** liste() - Ajoute un élément de type liste au formulaire
96
/** liste() - Ajoute un élément de type liste au formulaire
97
*
97
*
98
* @param    mixed   L'objet QuickForm du formulaire
98
* @param    mixed   L'objet QuickForm du formulaire
99
* @param    int     identifiant de la liste sur bazar_liste
99
* @param    int     identifiant de la liste sur bazar_liste
100
* @param    string  label à afficher dans le formulaire
100
* @param    string  label à afficher dans le formulaire
101
* @param    string  première restriction de la taille des champs du formulaire
101
* @param    string  première restriction de la taille des champs du formulaire
102
* @param    string  deuxième restriction de la taille des champs du formulaire
102
* @param    string  deuxième restriction de la taille des champs du formulaire
103
* @param    string  valeur par défaut du formulaire
103
* @param    string  valeur par défaut du formulaire
104
* @param    string  table source pour les valeurs de la liste
104
* @param    string  table source pour les valeurs de la liste
105
* @param    string  ce champs est il obligatoire? (required)
105
* @param    string  ce champs est il obligatoire? (required)
106
* @param    boolean sommes nous dans le moteur de recherche?
106
* @param    boolean sommes nous dans le moteur de recherche?
107
* @param string le nom de l appli, ou le nom du repertoire de l appli
107
* @param string le nom de l appli, ou le nom du repertoire de l appli
108
* @return   void
108
* @return   void
109
*/
109
*/
110
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source,
110
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source,
111
					 $obligatoire, $dans_moteur_de_recherche=0,$appli = 'bazar') {
111
					 $obligatoire, $dans_moteur_de_recherche=0,$appli = 'bazar') {
112
	
112
	
113
	// Deux cas, soit avec la table xxx_liste et xxx_liste_valeurs
113
	// Deux cas, soit avec la table xxx_liste et xxx_liste_valeurs
114
	// soit avec les champs source et colonne identifiant
114
	// soit avec les champs source et colonne identifiant
115
	
115
	
116
	// Le nom de l appli permet de retrouver le nom de la table liste
116
	// Le nom de l appli permet de retrouver le nom de la table liste
117
	// ex : bazar => bazar_liste_valeurs
117
	// ex : bazar => bazar_liste_valeurs
118
	// pour le nom des champs, on utilise la premiere lettre du nom de l appli
118
	// pour le nom des champs, on utilise la premiere lettre du nom de l appli
119
	// bazar => b
119
	// bazar => b
120
	
120
	
121
	if (intval($id_liste) != 0) {
121
	if (intval($id_liste) != 0) {
122
		$l = $appli[0];
122
		$l = $appli[0];
123
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
123
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
124
					' AND '.$l.'lv_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
124
					' AND '.$l.'lv_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
125
		$nom_liste = 'liste'.$id_liste;
125
		$nom_liste = 'liste'.$id_liste;
126
		
126
		
127
	} else {
127
	} else {
128
		list ($table, $col_id, $col_label, $col_langue, $langue) = explode (',', $source);
128
		list ($table, $col_id, $col_label, $col_langue, $langue) = explode (',', $source);
129
		$requete = 'select "", '.$col_id.', '.$col_label.' from '.$table;
129
		$requete = 'select "", '.$col_id.', '.$col_label.' from '.$table;
130
		if (isset($col_langue)) $requete .= ' where '.$col_langue.'="'.$langue.'"';
130
		if (isset($col_langue)) $requete .= ' where '.$col_langue.'="'.$langue.'"';
131
		$nom_liste = $id_liste;
131
		$nom_liste = $id_liste;
132
	}
132
	}
133
	
133
	
134
	$resultat = $GLOBALS['_GEN_commun']['pear_db']->query($requete) ;
134
	$resultat = $GLOBALS['_GEN_commun']['pear_db']->query($requete) ;
135
	if (DB::isError ($resultat)) {
135
	if (DB::isError ($resultat)) {
136
		return ($resultat->getMessage().$resultat->getDebugInfo()) ;
136
		return ($resultat->getMessage().$resultat->getDebugInfo()) ;
137
	}
137
	}
138
	if ($dans_moteur_de_recherche==0) {
138
	if ($dans_moteur_de_recherche==0) {
139
		$select[0]=CHOISIR;
139
		$select[0]=CHOISIR;
140
	}
140
	}
141
	else {
141
	else {
142
		$select[0]=INDIFFERENT;
142
		$select[0]=INDIFFERENT;
143
	}
143
	}
144
	while ($ligne = $resultat->fetchRow()) {
144
	while ($ligne = $resultat->fetchRow()) {
145
		$select[$ligne[1]] = $ligne[2] ;		
145
		$select[$ligne[1]] = $ligne[2] ;		
146
	}
146
	}
147
	$option = array('id' => $nom_liste);
147
	$option = array('id' => $nom_liste);
148
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
148
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
149
	$select= new HTML_QuickForm_select($nom_liste, $label, $select, $option);
149
	$select= new HTML_QuickForm_select($nom_liste, $label, $select, $option);
150
	if ($limite2 != '') $select->setSize($limite2); 
150
	if ($limite2 != '') $select->setSize($limite2); 
151
	$select->setMultiple(0);
151
	$select->setMultiple(0);
152
	$select->setSelected($defaut);
152
	$select->setSelected($defaut);
153
	$formtemplate->addElement($select) ;
153
	$formtemplate->addElement($select) ;
154
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
154
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
155
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
155
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
156
		$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
156
		$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
157
}
157
}
158
 
158
 
159
 
159
 
160
/** checkbox() - Ajoute un élément de type checkbox au formulaire
160
/** checkbox() - Ajoute un élément de type checkbox au formulaire
161
*
161
*
162
* @param    mixed   L'objet QuickForm du formulaire
162
* @param    mixed   L'objet QuickForm du formulaire
163
* @param    int     identifiant de la liste sur bazar_liste
163
* @param    int     identifiant de la liste sur bazar_liste
164
* @param    string  label à afficher dans le formulaire
164
* @param    string  label à afficher dans le formulaire
165
* @param    string  première restriction de la taille des champs du formulaire
165
* @param    string  première restriction de la taille des champs du formulaire
166
* @param    string  deuxième restriction de la taille des champs du formulaire
166
* @param    string  deuxième restriction de la taille des champs du formulaire
167
* @param    string  valeur par défaut du formulaire
167
* @param    string  valeur par défaut du formulaire
168
* @param    string  table source pour les valeurs de la liste
168
* @param    string  table source pour les valeurs de la liste
169
* @param    string  ce champs est il obligatoire? (required)
169
* @param    string  ce champs est il obligatoire? (required)
170
* @return   void
170
* @return   void
171
*/
171
*/
172
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, 
172
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, 
173
						$source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
173
						$source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
174
	if (intval ($id_liste) != 0) {
174
	if (intval ($id_liste) != 0) {
175
	 	$l = $appli[0];
175
	 	$l = $appli[0];
176
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
176
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
177
					' AND '.$l.'lv_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ORDER BY '.$l.'lv_label';
177
					' AND '.$l.'lv_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ORDER BY '.$l.'lv_label';
178
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
178
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
179
		if (DB::isError ($resultat)) {
179
		if (DB::isError ($resultat)) {
180
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
180
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
181
		}		
181
		}		
182
		require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
182
		require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
183
		$i=0;
183
		$i=0;
184
		if (isset($defaut)) $tab=split(', ', $defaut);
184
		if (isset($defaut)) $tab=split(', ', $defaut);
185
		while ($ligne = $resultat->fetchRow()) {
185
		while ($ligne = $resultat->fetchRow()) {
186
			if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
186
			if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
187
			$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
187
			$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
188
							array ('style'=>'display:inline;margin:2px;')) ;		
188
							array ('style'=>'display:inline;margin:2px;')) ;		
189
			foreach ($tab as $val) {
189
			foreach ($tab as $val) {
190
	            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
190
	            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
191
	        }			
191
	        }			
192
			$i++;
192
			$i++;
193
		}
193
		}
194
		$squelette_checkbox =& $formtemplate->defaultRenderer();
194
		$squelette_checkbox =& $formtemplate->defaultRenderer();
195
		$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
195
		$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
196
	                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
196
	                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
197
												 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
197
												 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
198
	  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
198
	  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
199
		
199
		
200
		$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
200
		$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
201
		if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
201
		if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
202
			$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
202
			$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
203
		}		
203
		}		
204
	} else {
204
	} else {
205
		$checkbox = & HTML_Quickform::createElement('checkbox', $id_liste, $label);
205
		$checkbox = & HTML_Quickform::createElement('checkbox', $id_liste, $label);
206
		if ($defaut == 1) $checkbox->setChecked(true);
206
		if ($defaut == 1) $checkbox->setChecked(true);
207
		$formtemplate->addElement($checkbox);
207
		$formtemplate->addElement($checkbox);
208
		
208
		
209
	}
209
	}
210
	
210
	
211
}
211
}
212
 
212
 
213
function newsletter(&$formtemplate, $champs , $label, $mail_inscription, $mail_desinscription, $defaut, 
213
function newsletter(&$formtemplate, $champs , $label, $mail_inscription, $mail_desinscription, $defaut, 
214
						$source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
214
						$source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
215
	
215
	
216
	$checkbox = & HTML_Quickform::createElement('checkbox', $champs, '', $label);
216
	$checkbox = & HTML_Quickform::createElement('checkbox', $champs, '', $label);
217
	if ($defaut == 1) $checkbox->setChecked(true);
217
	if ($defaut == 1) $checkbox->setChecked(true);
218
	$formtemplate->addElement($checkbox);
218
	$formtemplate->addElement($checkbox);
219
}
219
}
220
 
220
 
221
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
221
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
222
*
222
*
223
* @param    mixed   L'objet QuickForm du formulaire
223
* @param    mixed   L'objet QuickForm du formulaire
224
* @param    string  nom de la table dans la base de donnée
224
* @param    string  nom de la table dans la base de donnée
225
* @param    string  label à afficher dans le formulaire
225
* @param    string  label à afficher dans le formulaire
226
* @param    string  première restriction de la taille des champs du formulaire
226
* @param    string  première restriction de la taille des champs du formulaire
227
* @param    string  deuxième restriction de la taille des champs du formulaire
227
* @param    string  deuxième restriction de la taille des champs du formulaire
228
* @param    string  valeur par défaut du formulaire
228
* @param    string  valeur par défaut du formulaire
229
* @param    string  table source pour les valeurs de la date
229
* @param    string  table source pour les valeurs de la date
230
* @param    string  ce champs est il obligatoire? (required)
230
* @param    string  ce champs est il obligatoire? (required)
231
* @return   void
231
* @return   void
232
*/
232
*/
233
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
233
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
234
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
234
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
235
						'minYear' => date('Y')-4,
235
						'minYear' => date('Y')-4,
236
						'maxYear'=> (date('Y')+10),
236
						'maxYear'=> (date('Y')+10),
237
						'format' => 'd m Y',
237
						'format' => 'd m Y',
238
						'addEmptyOption' => BAZ_DATE_VIDE,
238
						'addEmptyOption' => BAZ_DATE_VIDE,
239
						);
239
						);
240
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
240
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
241
	//gestion des valeurs par défaut (date du jour)	
241
	//gestion des valeurs par défaut (date du jour)	
242
	if (isset($defaut) && $defaut!='') {
242
	if (isset($defaut) && $defaut!='') {
243
		$tableau_date = explode ('-', $defaut);
243
		$tableau_date = explode ('-', $defaut);
244
		$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
244
		$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
245
	}
245
	}
246
	
246
	
247
	else {
247
	else {
248
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
248
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
249
		$formtemplate->setDefaults($defauts);
249
		$formtemplate->setDefaults($defauts);
250
	}
250
	}
251
	//gestion du champs obligatoire
251
	//gestion du champs obligatoire
252
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
252
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
253
		$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
253
		$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
254
	}
254
	}
255
}
255
}
256
 
256
 
257
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
257
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
258
*
258
*
259
* @param    mixed   L'objet QuickForm du formulaire
259
* @param    mixed   L'objet QuickForm du formulaire
260
* @param    string  nom de la table dans la base de donnée
260
* @param    string  nom de la table dans la base de donnée
261
* @param    string  label à afficher dans le formulaire
261
* @param    string  label à afficher dans le formulaire
262
* @param    string  première restriction de la taille des champs du formulaire
262
* @param    string  première restriction de la taille des champs du formulaire
263
* @param    string  deuxième restriction de la taille des champs du formulaire
263
* @param    string  deuxième restriction de la taille des champs du formulaire
264
* @param    string  valeur par défaut du formulaire
264
* @param    string  valeur par défaut du formulaire
265
* @param    string  table source pour les valeurs de la date
265
* @param    string  table source pour les valeurs de la date
266
* @param    string  ce champs est il obligatoire? (required)
266
* @param    string  ce champs est il obligatoire? (required)
267
* @return   void
267
* @return   void
268
*/
268
*/
269
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
269
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
270
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche);
270
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche);
271
}
271
}
272
 
272
 
273
 
273
 
274
/** texte() - Ajoute un élément de type texte au formulaire
274
/** texte() - Ajoute un élément de type texte au formulaire
275
*
275
*
276
* @param    mixed   L'objet QuickForm du formulaire
276
* @param    mixed   L'objet QuickForm du formulaire
277
* @param    string  nom de la table dans la base de donnée
277
* @param    string  nom de la table dans la base de donnée
278
* @param    string  label à afficher dans le formulaire
278
* @param    string  label à afficher dans le formulaire
279
* @param    string  première restriction de la taille des champs du formulaire
279
* @param    string  première restriction de la taille des champs du formulaire
280
* @param    string  deuxième restriction de la taille des champs du formulaire
280
* @param    string  deuxième restriction de la taille des champs du formulaire
281
* @param    string  valeur par défaut du formulaire
281
* @param    string  valeur par défaut du formulaire
282
* @param    string  table source pour les valeurs du texte (inutile)
282
* @param    string  table source pour les valeurs du texte (inutile)
283
* @param    string  ce champs est il obligatoire? (required)
283
* @param    string  ce champs est il obligatoire? (required)
284
* @return   void
284
* @return   void
285
*/
285
*/
286
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
286
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
287
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
287
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
288
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
288
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
289
	//gestion des valeurs par défaut
289
	//gestion des valeurs par défaut
290
	$defauts=array($nom_bdd=>stripslashes($defaut));
290
	$defauts=array($nom_bdd=>stripslashes($defaut));
291
	$formtemplate->setDefaults($defauts);
291
	$formtemplate->setDefaults($defauts);
292
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
292
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
293
	//gestion du champs obligatoire
293
	//gestion du champs obligatoire
294
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
294
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
295
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
295
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
296
	}
296
	}
297
}
297
}
298
 
298
 
299
/** champs_cache() - Ajoute un élément de type texte au formulaire
299
/** champs_cache() - Ajoute un élément de type texte au formulaire
300
*
300
*
301
* @param    mixed   L'objet QuickForm du formulaire
301
* @param    mixed   L'objet QuickForm du formulaire
302
* @param    string  nom de la table dans la base de donnée
302
* @param    string  nom de la table dans la base de donnée
303
* @param    string  label à afficher dans le formulaire
303
* @param    string  label à afficher dans le formulaire
304
* @param    string  première restriction de la taille des champs du formulaire
304
* @param    string  première restriction de la taille des champs du formulaire
305
* @param    string  deuxième restriction de la taille des champs du formulaire
305
* @param    string  deuxième restriction de la taille des champs du formulaire
306
* @param    string  valeur par défaut du formulaire
306
* @param    string  valeur par défaut du formulaire
307
* @param    string  table source pour les valeurs du texte (inutile)
307
* @param    string  table source pour les valeurs du texte (inutile)
308
* @param    string  ce champs est il obligatoire? (required)
308
* @param    string  ce champs est il obligatoire? (required)
309
* @return   void
309
* @return   void
310
*/
310
*/
311
function champs_cache(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
311
function champs_cache(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
312
	$formtemplate->addElement('hidden', $nom_bdd, $label, array ('id' => $nom_bdd)) ;
312
	$formtemplate->addElement('hidden', $nom_bdd, $label, array ('id' => $nom_bdd)) ;
313
	//gestion des valeurs par défaut
313
	//gestion des valeurs par défaut
314
	$defauts=array($nom_bdd=>$defaut);
314
	$defauts=array($nom_bdd=>$defaut);
315
	$formtemplate->setDefaults($defauts);
315
	$formtemplate->setDefaults($defauts);
316
}
316
}
317
 
317
 
318
/** champs_mail() - Ajoute un élément de type mail
318
/** champs_mail() - Ajoute un élément de type mail
319
*
319
*
320
* @param    mixed   L'objet QuickForm du formulaire
320
* @param    mixed   L'objet QuickForm du formulaire
321
* @param    string  nom de la table dans la base de donnée
321
* @param    string  nom de la table dans la base de donnée
322
* @param    string  label à afficher dans le formulaire
322
* @param    string  label à afficher dans le formulaire
323
* @param    string  première restriction de la taille des champs du formulaire
323
* @param    string  première restriction de la taille des champs du formulaire
324
* @param    string  deuxième restriction de la taille des champs du formulaire
324
* @param    string  deuxième restriction de la taille des champs du formulaire
325
* @param    string  valeur par défaut du formulaire
325
* @param    string  valeur par défaut du formulaire
326
* @param    string  table source pour les valeurs du texte (inutile)
326
* @param    string  table source pour les valeurs du texte (inutile)
327
* @param    string  ce champs est il obligatoire? (required)
327
* @param    string  ce champs est il obligatoire? (required)
328
* @return   void
328
* @return   void
329
*/
329
*/
330
function champs_mail(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
330
function champs_mail(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
331
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
331
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
332
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
332
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
333
	//gestion des valeurs par défaut
333
	//gestion des valeurs par défaut
334
	$defauts=array($nom_bdd=>$defaut);
334
	$defauts=array($nom_bdd=>$defaut);
335
	$formtemplate->setDefaults($defauts);
335
	$formtemplate->setDefaults($defauts);
336
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
336
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
337
	$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
337
	$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
338
	$formtemplate->addRule($nom_bdd, INS_MAIL_INCORRECT, 'email', '', 'client') ; 
338
	$formtemplate->addRule($nom_bdd, INS_MAIL_INCORRECT, 'email', '', 'client') ; 
339
	//gestion du champs obligatoire
339
	//gestion du champs obligatoire
340
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
340
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
341
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
341
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
342
	}
342
	}
343
	$formtemplate->registerRule('doublonmail', 'callback', 'inscription_verif_doublonMail');
343
	$formtemplate->registerRule('doublonmail', 'callback', 'inscription_verif_doublonMail');
344
	$formtemplate->addRule($nom_bdd, INS_MAIL_DOUBLE, 'doublonmail');
344
	$formtemplate->addRule($nom_bdd, INS_MAIL_DOUBLE, 'doublonmail');
345
}
345
}
346
 
346
 
347
function mot_de_passe (&$formtemplate, $nom_bdd , $label1, $limite1, $limite2, $erreur1, $label2, $obligatoire) {
347
function mot_de_passe (&$formtemplate, $nom_bdd , $label1, $limite1, $limite2, $erreur1, $label2, $obligatoire) {
348
	$formtemplate->addElement('password', 'mot_de_passe', $label1, array('size' => $limite1)) ;
348
	$formtemplate->addElement('password', 'mot_de_passe', $label1, array('size' => $limite1)) ;
349
    $formtemplate->addElement('password', 'mot_de_passe_repete', $label2, array('size' => $limite1)) ;
349
    $formtemplate->addElement('password', 'mot_de_passe_repete', $label2, array('size' => $limite1)) ;
350
    $formtemplate->addRule('mot_de_passe', $erreur1, 'required', '', 'client') ;
350
    $formtemplate->addRule('mot_de_passe', $erreur1, 'required', '', 'client') ;
351
    $formtemplate->addRule('mot_de_passe_repete', $erreur1, 'required', '', 'client') ;
351
    $formtemplate->addRule('mot_de_passe_repete', $erreur1, 'required', '', 'client') ;
352
    $formtemplate->addRule(array ('mot_de_passe', 'mot_de_passe_repete'), $erreur1, 'compare', '', 'client') ;
352
    $formtemplate->addRule(array ('mot_de_passe', 'mot_de_passe_repete'), $erreur1, 'compare', '', 'client') ;
353
}
353
}
354
 
354
 
355
 
355
 
356
/** textelong() - Ajoute un élément de type textearea au formulaire
356
/** textelong() - Ajoute un élément de type textearea au formulaire
357
*
357
*
358
* @param    mixed   L'objet QuickForm du formulaire
358
* @param    mixed   L'objet QuickForm du formulaire
359
* @param    string  nom de la table dans la base de donnée
359
* @param    string  nom de la table dans la base de donnée
360
* @param    string  label à afficher dans le formulaire
360
* @param    string  label à afficher dans le formulaire
361
* @param    string  taille des colonnes de l'élément
361
* @param    string  taille des colonnes de l'élément
362
* @param    string  taille des lignes de l'élément
362
* @param    string  taille des lignes de l'élément
363
* @param    string  valeur par défaut du formulaire
363
* @param    string  valeur par défaut du formulaire
364
* @param    string  table source pour les valeurs du texte (inutile)
364
* @param    string  table source pour les valeurs du texte (inutile)
365
* @param    string  ce champs est il obligatoire? (required)
365
* @param    string  ce champs est il obligatoire? (required)
366
* @return   void
366
* @return   void
367
*/
367
*/
368
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
368
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
369
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;overflow:visible;', 'id' => $nom_bdd, 'wrap' =>'virtual'));
369
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;overflow:visible;', 'id' => $nom_bdd, 'wrap' =>'virtual'));
370
	$formtexte->setCols($limite1);
370
	$formtexte->setCols($limite1);
371
	$formtexte->setRows($limite2);
371
	$formtexte->setRows($limite2);
372
	$formtemplate->addElement($formtexte) ;
372
	$formtemplate->addElement($formtexte) ;
373
	//gestion des valeurs par défaut
373
	//gestion des valeurs par défaut
374
	$defauts=array($nom_bdd=>stripslashes($defaut));
374
	$defauts=array($nom_bdd=>stripslashes($defaut));
375
	$formtemplate->setDefaults($defauts);
375
	$formtemplate->setDefaults($defauts);
376
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
376
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
377
	//gestion du champs obligatoire
377
	//gestion du champs obligatoire
378
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
378
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
379
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
379
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
380
	}
380
	}
381
}
381
}
382
 
382
 
383
/** url() - Ajoute un élément de type url internet au formulaire
383
/** url() - Ajoute un élément de type url internet au formulaire
384
*
384
*
385
* @param    mixed   L'objet QuickForm du formulaire
385
* @param    mixed   L'objet QuickForm du formulaire
386
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
386
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
387
* @param    string  label à afficher dans le formulaire
387
* @param    string  label à afficher dans le formulaire
388
* @param    string  taille des colonnes de l'élément
388
* @param    string  taille des colonnes de l'élément
389
* @param    string  taille des lignes de l'élément
389
* @param    string  taille des lignes de l'élément
390
* @param    string  valeur par défaut du formulaire
390
* @param    string  valeur par défaut du formulaire
391
* @param    string  table source pour les valeurs du texte (inutile)
391
* @param    string  table source pour les valeurs du texte (inutile)
392
* @param    string  ce champs est il obligatoire? (required)
392
* @param    string  ce champs est il obligatoire? (required)
393
* @return   void
393
* @return   void
394
*/
394
*/
395
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
395
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
396
	//recherche des URLs deja entrees dans la base
396
	//recherche des URLs deja entrees dans la base
397
	$html_url= '';
397
	$html_url= '';
398
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
398
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
399
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
399
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
400
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
400
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
401
		if (DB::isError ($resultat)) {
401
		if (DB::isError ($resultat)) {
402
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
402
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
403
		}
403
		}
404
		if ($resultat->numRows()>0) {
404
		if ($resultat->numRows()>0) {
405
			$html_url= '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_URL.'</strong>'."\n";
405
			$html_url= '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_URL.'</strong>'."\n";
406
			$tableAttr = array("class" => "bazar_table") ;
406
			$tableAttr = array("class" => "bazar_table") ;
407
			$table = new HTML_Table($tableAttr) ;
407
			$table = new HTML_Table($tableAttr) ;
408
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
408
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
409
			$table->addRow($entete) ;
409
			$table->addRow($entete) ;
410
			$table->setRowType(0, "th") ;
410
			$table->setRowType(0, "th") ;
411
		
411
		
412
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
412
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
413
			$lien_supprimer->addQueryString('action', $_GET['action']);
413
			$lien_supprimer->addQueryString('action', $_GET['action']);
414
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
414
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
415
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
415
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
416
				
416
				
417
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
417
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
418
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
418
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
419
				$table->addRow (array(
419
				$table->addRow (array(
420
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
420
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
421
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
421
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
422
				$lien_supprimer->removeQueryString('id_url');
422
				$lien_supprimer->removeQueryString('id_url');
423
			}
423
			}
424
 
424
 
425
			// Nettoyage de l'url
425
			// Nettoyage de l'url
426
			$lien_supprimer->removeQueryString('action');
426
			$lien_supprimer->removeQueryString('action');
427
			$lien_supprimer->removeQueryString('id_fiche');
427
			$lien_supprimer->removeQueryString('id_fiche');
428
			$lien_supprimer->removeQueryString('typeannonce');
428
			$lien_supprimer->removeQueryString('typeannonce');
429
			
429
			
430
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
430
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
431
			$table->updateColAttributes(1, array("align" => "center"));
431
			$table->updateColAttributes(1, array("align" => "center"));
432
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
432
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
433
		}
433
		}
434
	}		
434
	}		
435
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
435
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
436
	$formtemplate->addElement('html', $html) ;
436
	$formtemplate->addElement('html', $html) ;
437
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
437
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
438
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
438
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
439
	$defauts=array('url_lien'.$nom_bdd=>'http://');
439
	$defauts=array('url_lien'.$nom_bdd=>'http://');
440
	$formtemplate->setDefaults($defauts);
440
	$formtemplate->setDefaults($defauts);
441
	
441
	
442
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
442
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
443
	//gestion du champs obligatoire
443
	//gestion du champs obligatoire
444
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
444
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
445
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
445
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
446
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
446
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
447
	}
447
	}
448
}		
448
}		
449
 
449
 
450
 
450
 
451
function lien_internet (&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $id_fiche, $obligatoire, $dans_moteur_de_recherche=0) {
451
function lien_internet (&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $id_fiche, $obligatoire, $dans_moteur_de_recherche=0) {
452
	//recherche des URLs deja entrees dans la base
452
	//recherche des URLs deja entrees dans la base
453
	$html_url= '';	
453
	$html_url= '';	
454
	$formtemplate->addElement('text', $nom_bdd, $label)	;
454
	$formtemplate->addElement('text', $nom_bdd, $label)	;
455
	$defauts=array($nom_bdd=>'http://');
455
	$defauts=array($nom_bdd=>'http://');
456
	$formtemplate->setDefaults($defauts);
456
	$formtemplate->setDefaults($defauts);
457
	
457
	
458
	//gestion du champs obligatoire
458
	//gestion du champs obligatoire
459
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
459
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
460
		$formtemplate->addRule('url', URL_LIEN_REQUIS, 'required', '', 'client') ;
460
		$formtemplate->addRule('url', URL_LIEN_REQUIS, 'required', '', 'client') ;
461
	}
461
	}
462
}
462
}
463
/** fichier() - Ajoute un élément de type fichier au formulaire
463
/** fichier() - Ajoute un élément de type fichier au formulaire
464
*
464
*
465
* @param    mixed   L'objet QuickForm du formulaire
465
* @param    mixed   L'objet QuickForm du formulaire
466
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
466
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
467
* @param    string  label à afficher dans le formulaire
467
* @param    string  label à afficher dans le formulaire
468
* @param    string  taille des colonnes de l'élément
468
* @param    string  taille des colonnes de l'élément
469
* @param    string  taille des lignes de l'élément
469
* @param    string  taille des lignes de l'élément
470
* @param    string  valeur par défaut du formulaire
470
* @param    string  valeur par défaut du formulaire
471
* @param    string  table source pour les valeurs du texte (inutile)
471
* @param    string  table source pour les valeurs du texte (inutile)
472
* @param    string  ce champs est il obligatoire? (required)
472
* @param    string  ce champs est il obligatoire? (required)
473
* @return   void
473
* @return   void
474
*/
474
*/
475
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
475
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
476
	//AJOUTER DES FICHIERS JOINTS
476
	//AJOUTER DES FICHIERS JOINTS
477
	$html_fichier= '';
477
	$html_fichier= '';
478
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
478
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
479
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
479
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
480
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
480
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
481
		if (DB::isError ($resultat)) {
481
		if (DB::isError ($resultat)) {
482
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
482
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
483
		}
483
		}
484
		
484
		
485
		if ($resultat->numRows()>0) {
485
		if ($resultat->numRows()>0) {
486
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
486
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
487
			$tableAttr = array("class" => "bazar_table") ;
487
			$tableAttr = array("class" => "bazar_table") ;
488
			$table = new HTML_Table($tableAttr) ;
488
			$table = new HTML_Table($tableAttr) ;
489
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
489
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
490
			$table->addRow($entete) ;
490
			$table->addRow($entete) ;
491
			$table->setRowType(0, "th") ;
491
			$table->setRowType(0, "th") ;
492
			
492
			
493
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
493
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
494
			$lien_supprimer->addQueryString('action', $_GET['action']);
494
			$lien_supprimer->addQueryString('action', $_GET['action']);
495
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
495
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
496
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
496
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
497
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
497
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
498
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
498
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
499
				$table->addRow(array('<a href="client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
499
				$table->addRow(array('<a href="client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
500
									 '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_FICHIER.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
500
									 '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_FICHIER.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
501
				$lien_supprimer->removeQueryString('id_fichier');
501
				$lien_supprimer->removeQueryString('id_fichier');
502
			}
502
			}
503
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
503
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
504
			$table->updateColAttributes(1, array("align" => "center"));
504
			$table->updateColAttributes(1, array("align" => "center"));
505
			$html_fichier .= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
505
			$html_fichier .= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
506
		}
506
		}
507
	}
507
	}
508
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
508
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
509
	$formtemplate->addElement('html', $html) ;
509
	$formtemplate->addElement('html', $html) ;
510
	if ($html_fichier!='') $formtemplate->addElement('html', $html_fichier) ;
510
	if ($html_fichier!='') $formtemplate->addElement('html', $html_fichier) ;
511
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
511
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
512
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
512
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
513
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
513
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
514
	$formtemplate->setMaxFileSize($limite1);
514
	$formtemplate->setMaxFileSize($limite1);
515
	//gestion du champs obligatoire
515
	//gestion du champs obligatoire
516
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
516
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
517
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
517
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
518
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
518
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
519
	}
519
	}
520
}		
520
}		
521
 
521
 
522
/** image() - Ajoute un élément de type image au formulaire
522
/** image() - Ajoute un élément de type image au formulaire
523
*
523
*
524
* @param    mixed   L'objet QuickForm du formulaire
524
* @param    mixed   L'objet QuickForm du formulaire
525
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
525
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
526
* @param    string  label à afficher dans le formulaire
526
* @param    string  label à afficher dans le formulaire
527
* @param    string  taille maximum du fichier colonnes de l'élément
527
* @param    string  taille maximum du fichier colonnes de l'élément
528
* @param    string  taille des lignes de l'élément
528
* @param    string  taille des lignes de l'élément
529
* @param    string  valeur par défaut du formulaire
529
* @param    string  valeur par défaut du formulaire
530
* @param    string  table source pour les valeurs du texte (inutile)
530
* @param    string  table source pour les valeurs du texte (inutile)
531
* @param    string  ce champs est il obligatoire? (required)
531
* @param    string  ce champs est il obligatoire? (required)
532
* @return   void
532
* @return   void
533
*/
533
*/
534
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
534
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
535
	//AJOUTER UNE IMAGE
535
	//AJOUTER UNE IMAGE
536
	$html_image= '';
536
	$html_image= '';
537
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
537
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
538
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
538
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
539
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
539
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
540
		if (DB::isError ($resultat)) {
540
		if (DB::isError ($resultat)) {
541
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
541
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
542
		}
542
		}
543
		
543
		
544
		if ($resultat->numRows()>0) {
544
		if ($resultat->numRows()>0) {
545
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
545
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
546
				$image=$ligne->bf_url_image;
546
				$image=$ligne->bf_url_image;
547
			}
547
			}
548
			if ($image!=NULL) {
548
			if ($image!=NULL) {
549
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
549
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
550
				$lien_supprimer->addQueryString('action', $_GET['action']);
550
				$lien_supprimer->addQueryString('action', $_GET['action']);
551
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
551
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
552
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
552
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
553
				$lien_supprimer->addQueryString('image', 1);
553
				$lien_supprimer->addQueryString('image', 1);
554
				$html_image = '<tr>'."\n".
554
				$html_image = '<tr>'."\n".
555
							  '<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
555
							  '<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
556
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
556
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
557
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
557
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
558
			}
558
			}
559
		}		
559
		}		
560
	}	
560
	}	
561
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
561
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
562
	$formtemplate->addElement('html', $html) ;
562
	$formtemplate->addElement('html', $html) ;
563
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
563
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
564
	$formtemplate->addElement('file', 'image', IMAGE) ;
564
	$formtemplate->addElement('file', 'image', IMAGE) ;
565
	//TODO: controler si c'est une image
565
	//TODO: controler si c'est une image
566
	$formtemplate->setMaxFileSize($limite1);
566
	$formtemplate->setMaxFileSize($limite1);
567
	//gestion du champs obligatoire
567
	//gestion du champs obligatoire
568
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
568
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
569
		$formtemplate->addRule('image', IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
569
		$formtemplate->addRule('image', IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
570
	}
570
	}
571
}		
571
}		
572
 
572
 
573
/** image_unique() - Ajoute un élément de type image au formulaire, l information est stockee dans un champs
573
/** image_unique() - Ajoute un élément de type image au formulaire, l information est stockee dans un champs
574
*
574
*
575
* @param    mixed   L'objet QuickForm du formulaire
575
* @param    mixed   L'objet QuickForm du formulaire
576
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
576
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
577
* @param    string  label à afficher dans le formulaire
577
* @param    string  label à afficher dans le formulaire
578
* @param    string  taille maximum du fichier colonnes de l'élément
578
* @param    string  taille maximum du fichier colonnes de l'élément
579
* @param    string  taille des lignes de l'élément
579
* @param    string  taille des lignes de l'élément
580
* @param    string  valeur par défaut du formulaire
580
* @param    string  valeur par défaut du formulaire
581
* @param    string  table source pour les valeurs du texte (inutile)
581
* @param    string  table source pour les valeurs du texte (inutile)
582
* @param    string  ce champs est il obligatoire? (required)
582
* @param    string  ce champs est il obligatoire? (required)
583
* @return   void
583
* @return   void
584
*/
584
*/
585
function image_unique(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
585
function image_unique(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
586
	$formtemplate->addElement ('file', $nom_bdd, $label);
586
	$formtemplate->addElement ('file', $nom_bdd, $label);
587
	$formtemplate->setMaxFileSize($limite1);
587
	$formtemplate->setMaxFileSize($limite1);
588
}	
588
}	
589
/** wikini() - Ajoute un wikini au formulaire
589
/** wikini() - Ajoute un wikini au formulaire
590
*
590
*
591
* @param    mixed   L'objet QuickForm du formulaire
591
* @param    mixed   L'objet QuickForm du formulaire
592
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
592
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
593
* @param    string  label à afficher dans le formulaire
593
* @param    string  label à afficher dans le formulaire
594
* @param    string  taille maximum du fichier colonnes de l'élément
594
* @param    string  taille maximum du fichier colonnes de l'élément
595
* @param    string  taille des lignes de l'élément
595
* @param    string  taille des lignes de l'élément
596
* @param    string  valeur par défaut du formulaire
596
* @param    string  valeur par défaut du formulaire
597
* @param    string  table source pour les valeurs du texte (inutile)
597
* @param    string  table source pour les valeurs du texte (inutile)
598
* @param    string  ce champs est il obligatoire? (required)
598
* @param    string  ce champs est il obligatoire? (required)
599
* @return   void
599
* @return   void
600
*/
600
*/
601
function wikini(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
601
function wikini(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
602
	return;
602
	return;
603
}
603
}
604
 
604
 
605
/** labelhtml() - Ajoute un élément de type textearea au formulaire
605
/** labelhtml() - Ajoute un élément de type textearea au formulaire
606
*
606
*
607
* @param    mixed   L'objet QuickForm du formulaire
607
* @param    mixed   L'objet QuickForm du formulaire
608
* @param    string  nom de la table dans la base de donnée (pas utilisé)
608
* @param    string  nom de la table dans la base de donnée (pas utilisé)
609
* @param    string  label à afficher dans le formulaire
609
* @param    string  label à afficher dans le formulaire
610
* @param    string  taille des colonnes de l'élément (pas utilisé)
610
* @param    string  taille des colonnes de l'élément (pas utilisé)
611
* @param    string  taille des lignes de l'élément (pas utilisé)
611
* @param    string  taille des lignes de l'élément (pas utilisé)
612
* @param    string  valeur par défaut du formulaire (pas utilisé)
612
* @param    string  valeur par défaut du formulaire (pas utilisé)
613
* @param    string  table source pour les valeurs du texte (pas utilisé)
613
* @param    string  table source pour les valeurs du texte (pas utilisé)
614
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
614
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
615
* @return   void
615
* @return   void
616
*/
616
*/
617
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
617
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
618
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
618
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
619
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
619
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
620
	$formtemplate->addElement($formhtml) ;
620
	$formtemplate->addElement($formhtml) ;
621
}
621
}
622
 
622
 
623
/** carte_google() - Ajoute un élément de carte google au formulaire
623
/** carte_google() - Ajoute un élément de carte google au formulaire
624
*
624
*
625
* @param    mixed   L'objet QuickForm du formulaire
625
* @param    mixed   L'objet QuickForm du formulaire
626
* @param    string  l url vers la script google
626
* @param    string  l url vers la script google
627
* @param    string  label à afficher dans le formulaire
627
* @param    string  label à afficher dans le formulaire
628
* @param    string  première restriction de la taille des champs du formulaire
628
* @param    string  première restriction de la taille des champs du formulaire
629
* @param    string  deuxième restriction de la taille des champs du formulaire
629
* @param    string  deuxième restriction de la taille des champs du formulaire
630
* @param    string  valeur par défaut du formulaire
630
* @param    string  valeur par défaut du formulaire
631
* @param    string  table source pour les valeurs de la liste
631
* @param    string  table source pour les valeurs de la liste
632
* @param    string  ce champs est il obligatoire? (required)
632
* @param    string  ce champs est il obligatoire? (required)
633
* @param    boolean sommes nous dans le moteur de recherche?
633
* @param    boolean sommes nous dans le moteur de recherche?
634
* @return   void
634
* @return   void
635
*/
635
*/
636
function carte_google(&$formtemplate, $url_google_script , $label, $champs_latitude, $champs_longitude, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
636
function carte_google(&$formtemplate, $url_google_script , $label, $champs_latitude, $champs_longitude, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
637
	
637
	
638
	if (is_array ($defaut)) {
638
	if (is_array ($defaut)) {
639
    	$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
639
    	$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
640
    }
640
    }
641
	
641
	
642
	//GEN_stockerFichierScript('googleMapScript', $url_google_script);
642
	//GEN_stockerFichierScript('googleMapScript', $url_google_script);// fout la merde avec google maps v2
643
    GEN_stockerFichierScript('googleMapScript', "http://maps.googleapis.com/maps/api/js?sensor=false&key=".BAZ_GOOGLE_KEY);
-
 
644
	GEN_AttributsBody('onload', 'load()');
643
	GEN_stockerFichierScript('googleMapScript', "http://maps.googleapis.com/maps/api/js?sensor=false&key=".BAZ_GOOGLE_KEY);
645
    $html_bouton = '<tr>
644
    $html_bouton = '<tr>
646
<td style="text-align:left;padding:5px;" colspan="2"> 
645
<td style="text-align:left;padding:5px;" colspan="2"> 
647
<input onclick="showAddress();" name="chercher_sur_carte" value="'.VERIFIER_MON_ADRESSE.'" type="button" /><span class="symbole_obligatoire">&nbsp;*</span></td>
646
<input onclick="showAddress();" name="chercher_sur_carte" value="'.VERIFIER_MON_ADRESSE.'" type="button" /><span class="symbole_obligatoire">&nbsp;*</span></td>
648
</tr>';
647
</tr>';
649
	$formtemplate->addElement('html', $html_bouton);
648
	$formtemplate->addElement('html', $html_bouton);
650
   
649
   
651
    $formtemplate->addElement('html', '<tr><td colspan="2"><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
650
    $formtemplate->addElement('html', '<tr><td colspan="2"><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
652
     $formtemplate->addElement('text', 'latitude', LATITUDE, array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
651
     $formtemplate->addElement('text', 'latitude', LATITUDE, array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
653
    $formtemplate->addElement('text', 'longitude', LONGITUDE, array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
652
    $formtemplate->addElement('text', 'longitude', LONGITUDE, array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
654
    $formtemplate->addRule ('latitude', LATITUDE . ' obligatoire', 'required', '', 'client');
653
    $formtemplate->addRule ('latitude', LATITUDE . ' obligatoire', 'required', '', 'client');
655
    $formtemplate->addRule ('longitude', LONGITUDE . ' obligatoire', 'required', '', 'client');
654
    $formtemplate->addRule ('longitude', LONGITUDE . ' obligatoire', 'required', '', 'client');
656
    
655
    
657
    /*
656
    /*
658
    include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
657
    include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
659
    GEN_stockerCodeScript($script);*/
658
    GEN_stockerCodeScript($script);*/
660
}
659
}
661
 
660
 
662
/* +--Fin du code ----------------------------------------------------------------------------------------+
661
/* +--Fin du code ----------------------------------------------------------------------------------------+
663
*
662
*
664
* $Log$
663
* $Log$
665
* Revision 1.12  2007-10-22 09:15:16  alexandre_tb
664
* Revision 1.12  2007-10-22 09:15:16  alexandre_tb
666
* modification de l include pour qu il prenne en compte la langue
665
* modification de l include pour qu il prenne en compte la langue
667
*
666
*
668
* Revision 1.11  2007-10-17 08:16:40  alexandre_tb
667
* Revision 1.11  2007-10-17 08:16:40  alexandre_tb
669
* correction multilinguisme
668
* correction multilinguisme
670
*
669
*
671
* Revision 1.10  2007-10-12 09:58:12  alexandre_tb
670
* Revision 1.10  2007-10-12 09:58:12  alexandre_tb
672
* ajout de la fonction stripslashes pour les fonctions texte et textelong, dans la valeur par defaut, pour eviter l apparition de slash
671
* ajout de la fonction stripslashes pour les fonctions texte et textelong, dans la valeur par defaut, pour eviter l apparition de slash
673
*
672
*
674
* Revision 1.9  2007-10-10 13:59:24  alexandre_tb
673
* Revision 1.9  2007-10-10 13:59:24  alexandre_tb
675
* ajout de la fonction newsletter
674
* ajout de la fonction newsletter
676
* et utilisation du fichier de langue
675
* et utilisation du fichier de langue
677
*
676
*
678
* Revision 1.8  2007-09-18 08:00:42  alexandre_tb
677
* Revision 1.8  2007-09-18 08:00:42  alexandre_tb
679
* la valeur par defaut d un lien est http://pour eviter les erreurs
678
* la valeur par defaut d un lien est http://pour eviter les erreurs
680
*
679
*
681
* Revision 1.7  2007-08-27 12:24:52  alexandre_tb
680
* Revision 1.7  2007-08-27 12:24:52  alexandre_tb
682
* correction encodage
681
* correction encodage
683
*
682
*
684
* Revision 1.3  2007-07-04 11:53:37  alexandre_tb
683
* Revision 1.3  2007-07-04 11:53:37  alexandre_tb
685
* ajout du type champs_cache
684
* ajout du type champs_cache
686
*
685
*
687
* Revision 1.2  2007-06-25 09:54:33  alexandre_tb
686
* Revision 1.2  2007-06-25 09:54:33  alexandre_tb
688
* ajou des entetes (cecill),
687
* ajou des entetes (cecill),
689
* modif fonctin liste, ajout de carte_google et champs_mail
688
* modif fonctin liste, ajout de carte_google et champs_mail
690
*
689
*
691
* 
690
* 
692
* +-- Fin du code ----------------------------------------------------------------------------------------+
691
* +-- Fin du code ----------------------------------------------------------------------------------------+
693
*/
692
*/
694
?>
693
?>