Subversion Repositories Applications.bazar

Rev

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

Rev 102 Rev 105
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: bazar.fonct.formulaire.php,v 1.18 2006-03-01 16:01:46 florian Exp $
22
// CVS : $Id: bazar.fonct.formulaire.php,v 1.19 2006-03-02 20:36:52 florian Exp $
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: 1.18 $ $Date: 2006-03-01 16:01:46 $
34
*@version       $Revision: 1.19 $ $Date: 2006-03-02 20:36:52 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
37
 
37
 
38
require_once 'bazar.fonct.formulaire.controles.php';
38
require_once 'bazar.fonct.formulaire.controles.php';
39
 
39
 
40
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
40
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
41
 
41
 
42
/** liste() - Ajoute un élément de type liste au formulaire
42
/** liste() - Ajoute un élément de type liste au formulaire
43
*
43
*
44
* @param    mixed   L'objet QuickForm du formulaire
44
* @param    mixed   L'objet QuickForm du formulaire
45
* @param    int     identifiant de la liste sur bazar_liste
45
* @param    int     identifiant de la liste sur bazar_liste
46
* @param    string  label à afficher dans le formulaire
46
* @param    string  label à afficher dans le formulaire
47
* @param    string  première restriction de la taille des champs du formulaire
47
* @param    string  première restriction de la taille des champs du formulaire
48
* @param    string  deuxième restriction de la taille des champs du formulaire
48
* @param    string  deuxième restriction de la taille des champs du formulaire
49
* @param    string  valeur par défaut du formulaire
49
* @param    string  valeur par défaut du formulaire
50
* @param    string  table source pour les valeurs de la liste
50
* @param    string  table source pour les valeurs de la liste
51
* @param    string  ce champs est il obligatoire? (required)
51
* @param    string  ce champs est il obligatoire? (required)
52
* @return   void
52
* @return   void
53
*/
53
*/
54
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
54
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
55
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
55
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
56
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
56
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
57
	if (DB::isError ($resultat)) {
57
	if (DB::isError ($resultat)) {
58
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
58
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
59
	}
59
	}
60
	while ($ligne = $resultat->fetchRow()) {
60
	while ($ligne = $resultat->fetchRow()) {
61
		$select[$ligne[1]] = $ligne[2] ;		
61
		$select[$ligne[1]] = $ligne[2] ;		
62
	}
62
	}
63
	$option=array('style'=>'width: '.$limite1.'px;');
63
	$option=array('style'=>'width: '.$limite1.'px;');
64
	require_once 'HTML/QuickForm/select.php';
64
	require_once 'HTML/QuickForm/select.php';
65
	$select= new HTML_QuickForm_select('liste'.$id_liste, constant($label), $select, $option);
65
	$select= new HTML_QuickForm_select('liste'.$id_liste, $label, $select, $option);
66
	$select->setSize($limite2); 
66
	$select->setSize($limite2); 
67
	$select->setMultiple(0);
67
	$select->setMultiple(0);
68
	$select->setSelected($defaut);
68
	$select->setSelected($defaut);
69
	$formtemplate->addElement($select) ;
69
	$formtemplate->addElement($select) ;
70
	if (isset($obligatoire)and($obligatoire==1)) {
70
	if (isset($obligatoire)and($obligatoire==1)) {
71
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.constant($label) , 'nonzero', '', 'client') ;
71
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
72
		$formtemplate->addRule('liste'.$id_liste, constant($label.'_REQUIS'), 'required', '', 'client') ;}
72
		$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
73
}
73
}
74
 
74
 
75
 
75
 
76
/** checkbox() - Ajoute un élément de type checkbox au formulaire
76
/** checkbox() - Ajoute un élément de type checkbox au formulaire
77
*
77
*
78
* @param    mixed   L'objet QuickForm du formulaire
78
* @param    mixed   L'objet QuickForm du formulaire
79
* @param    int     identifiant de la liste sur bazar_liste
79
* @param    int     identifiant de la liste sur bazar_liste
80
* @param    string  label à afficher dans le formulaire
80
* @param    string  label à afficher dans le formulaire
81
* @param    string  première restriction de la taille des champs du formulaire
81
* @param    string  première restriction de la taille des champs du formulaire
82
* @param    string  deuxième restriction de la taille des champs du formulaire
82
* @param    string  deuxième restriction de la taille des champs du formulaire
83
* @param    string  valeur par défaut du formulaire
83
* @param    string  valeur par défaut du formulaire
84
* @param    string  table source pour les valeurs de la liste
84
* @param    string  table source pour les valeurs de la liste
85
* @param    string  ce champs est il obligatoire? (required)
85
* @param    string  ce champs est il obligatoire? (required)
86
* @return   void
86
* @return   void
87
*/
87
*/
88
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
88
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
89
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
89
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
90
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
90
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
91
	if (DB::isError ($resultat)) {
91
	if (DB::isError ($resultat)) {
92
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
92
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
93
	}		
93
	}		
94
	require_once 'HTML/QuickForm/checkbox.php' ;
94
	require_once 'HTML/QuickForm/checkbox.php' ;
95
	$i=0;
95
	$i=0;
96
	if (isset($defaut)) $tab=split(', ', $defaut);
96
	if (isset($defaut)) $tab=split(', ', $defaut);
97
	while ($ligne = $resultat->fetchRow()) {
97
	while ($ligne = $resultat->fetchRow()) {
98
		if ($i==0) $labelchkbox=constant($label) ; else $labelchkbox='&nbsp;' ;
98
		if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;' ;
99
		$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
99
		$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
100
						array ('style'=>'display:inline;margin-left:2px;')) ;		
100
						array ('style'=>'display:inline;margin-left:2px;')) ;		
101
		foreach ($tab as $val) {
101
		foreach ($tab as $val) {
102
            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
102
            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
103
        }			
103
        }			
104
		$i++;
104
		$i++;
105
	}
105
	}
106
	$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, constant($label), '<br />'."\n");
106
	$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, '<br />'."\n");
107
	if (isset($obligatoire)and($obligatoire==1)) {
107
	if (isset($obligatoire)and($obligatoire==1)) {
108
		$formtemplate->addGroupRule('checkbox'.$id_liste, constant($label.'_REQUIS'), 'required', null, 1, 'client');
108
		$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
109
	}
109
	}
110
}
110
}
111
 
111
 
112
 
112
 
113
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
113
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
114
*
114
*
115
* @param    mixed   L'objet QuickForm du formulaire
115
* @param    mixed   L'objet QuickForm du formulaire
116
* @param    string  nom de la table dans la base de donnée
116
* @param    string  nom de la table dans la base de donnée
117
* @param    string  label à afficher dans le formulaire
117
* @param    string  label à afficher dans le formulaire
118
* @param    string  première restriction de la taille des champs du formulaire
118
* @param    string  première restriction de la taille des champs du formulaire
119
* @param    string  deuxième restriction de la taille des champs du formulaire
119
* @param    string  deuxième restriction de la taille des champs du formulaire
120
* @param    string  valeur par défaut du formulaire
120
* @param    string  valeur par défaut du formulaire
121
* @param    string  table source pour les valeurs de la date
121
* @param    string  table source pour les valeurs de la date
122
* @param    string  ce champs est il obligatoire? (required)
122
* @param    string  ce champs est il obligatoire? (required)
123
* @return   void
123
* @return   void
124
*/
124
*/
125
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
125
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
126
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
126
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
127
						'minYear' => date('Y'),
127
						'minYear' => date('Y'),
128
						'maxYear'=> (date('Y')+10),
128
						'maxYear'=> (date('Y')+10),
129
						'format' => 'd m Y',
129
						'format' => 'd m Y',
130
						'addEmptyOption' => true,
130
						'addEmptyOption' => true,
131
						);
131
						);
132
	$formtemplate->addElement('date', $nom_bdd, constant($label), $optiondate) ;
132
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
133
	//gestion des valeurs par défaut (date du jour)	
133
	//gestion des valeurs par défaut (date du jour)	
134
	if (isset($defaut)) $formtemplate->setDefaults(array($nom_bdd => $defaut));
134
	if (isset($defaut)) $formtemplate->setDefaults(array($nom_bdd => $defaut));
135
	else {
135
	else {
136
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
136
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
137
		$formtemplate->setDefaults($defauts);
137
		$formtemplate->setDefaults($defauts);
138
	}
138
	}
139
	//gestion du champs obligatoire
139
	//gestion du champs obligatoire
140
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd, constant($label.'_REQUIS'), 'required', '', 'client') ;}
140
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;}
141
}
141
}
142
 
142
 
143
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
143
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
144
*
144
*
145
* @param    mixed   L'objet QuickForm du formulaire
145
* @param    mixed   L'objet QuickForm du formulaire
146
* @param    string  nom de la table dans la base de donnée
146
* @param    string  nom de la table dans la base de donnée
147
* @param    string  label à afficher dans le formulaire
147
* @param    string  label à afficher dans le formulaire
148
* @param    string  première restriction de la taille des champs du formulaire
148
* @param    string  première restriction de la taille des champs du formulaire
149
* @param    string  deuxième restriction de la taille des champs du formulaire
149
* @param    string  deuxième restriction de la taille des champs du formulaire
150
* @param    string  valeur par défaut du formulaire
150
* @param    string  valeur par défaut du formulaire
151
* @param    string  table source pour les valeurs de la date
151
* @param    string  table source pour les valeurs de la date
152
* @param    string  ce champs est il obligatoire? (required)
152
* @param    string  ce champs est il obligatoire? (required)
153
* @return   void
153
* @return   void
154
*/
154
*/
155
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
155
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
156
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire);
156
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire);
157
}
157
}
158
 
158
 
159
 
159
 
160
/** texte() - Ajoute un élément de type texte au formulaire
160
/** texte() - Ajoute un élément de type texte au formulaire
161
*
161
*
162
* @param    mixed   L'objet QuickForm du formulaire
162
* @param    mixed   L'objet QuickForm du formulaire
163
* @param    string  nom de la table dans la base de donnée
163
* @param    string  nom de la table dans la base de donnée
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 du texte (inutile)
168
* @param    string  table source pour les valeurs du texte (inutile)
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 texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
172
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
173
	$option=array('size'=>$limite1,'maxlength'=>$limite2);
173
	$option=array('size'=>$limite1,'maxlength'=>$limite2);
174
	$formtemplate->addElement('text', $nom_bdd, constant($label), $option) ;
174
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
175
	//gestion des valeurs par défaut
175
	//gestion des valeurs par défaut
176
	$defauts=array($nom_bdd=>$defaut);
176
	$defauts=array($nom_bdd=>$defaut);
177
	$formtemplate->setDefaults($defauts);
177
	$formtemplate->setDefaults($defauts);
178
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
178
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
179
	//gestion du champs obligatoire
179
	//gestion du champs obligatoire
180
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd, constant($label.'_REQUIS'), 'required', '', 'client') ;}
180
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;}
181
}
181
}
182
 
182
 
183
 
183
 
184
/** textelong() - Ajoute un élément de type textearea au formulaire
184
/** textelong() - Ajoute un élément de type textearea au formulaire
185
*
185
*
186
* @param    mixed   L'objet QuickForm du formulaire
186
* @param    mixed   L'objet QuickForm du formulaire
187
* @param    string  nom de la table dans la base de donnée
187
* @param    string  nom de la table dans la base de donnée
188
* @param    string  label à afficher dans le formulaire
188
* @param    string  label à afficher dans le formulaire
189
* @param    string  taille des colonnes de l'élément
189
* @param    string  taille des colonnes de l'élément
190
* @param    string  taille des lignes de l'élément
190
* @param    string  taille des lignes de l'élément
191
* @param    string  valeur par défaut du formulaire
191
* @param    string  valeur par défaut du formulaire
192
* @param    string  table source pour les valeurs du texte (inutile)
192
* @param    string  table source pour les valeurs du texte (inutile)
193
* @param    string  ce champs est il obligatoire? (required)
193
* @param    string  ce champs est il obligatoire? (required)
194
* @return   void
194
* @return   void
195
*/
195
*/
196
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
196
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
197
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, constant($label), array('style'=>'white-space: normal;'));
197
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;'));
198
	$formtexte->setCols($limite1);
198
	$formtexte->setCols($limite1);
199
	$formtexte->setRows($limite2);
199
	$formtexte->setRows($limite2);
200
	$formtemplate->addElement($formtexte) ;
200
	$formtemplate->addElement($formtexte) ;
201
	//gestion des valeurs par défaut
201
	//gestion des valeurs par défaut
202
	$defauts=array($nom_bdd=>$defaut);
202
	$defauts=array($nom_bdd=>$defaut);
203
	$formtemplate->setDefaults($defauts);
203
	$formtemplate->setDefaults($defauts);
204
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
204
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
205
	//gestion du champs obligatoire
205
	//gestion du champs obligatoire
206
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd, constant($label.'_REQUIS'), 'required', '', 'client') ;}
206
	if (isset($obligatoire)and($obligatoire==1)) {$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;}
207
}
207
}
208
 
208
 
209
/** url() - Ajoute un élément de type url internet au formulaire
209
/** url() - Ajoute un élément de type url internet au formulaire
210
*
210
*
211
* @param    mixed   L'objet QuickForm du formulaire
211
* @param    mixed   L'objet QuickForm du formulaire
212
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
212
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
213
* @param    string  label à afficher dans le formulaire
213
* @param    string  label à afficher dans le formulaire
214
* @param    string  taille des colonnes de l'élément
214
* @param    string  taille des colonnes de l'élément
215
* @param    string  taille des lignes de l'élément
215
* @param    string  taille des lignes de l'élément
216
* @param    string  valeur par défaut du formulaire
216
* @param    string  valeur par défaut du formulaire
217
* @param    string  table source pour les valeurs du texte (inutile)
217
* @param    string  table source pour les valeurs du texte (inutile)
218
* @param    string  ce champs est il obligatoire? (required)
218
* @param    string  ce champs est il obligatoire? (required)
219
* @return   void
219
* @return   void
220
*/
220
*/
221
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
221
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
222
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
222
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
223
	$formtemplate->addElement('html', $html) ;
223
	$formtemplate->addElement('html', $html) ;
224
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
224
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
225
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
225
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
226
	//gestion du champs obligatoire
226
	//gestion du champs obligatoire
227
	if (isset($obligatoire)and($obligatoire==1)) {
227
	if (isset($obligatoire)and($obligatoire==1)) {
228
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
228
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
229
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
229
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
230
	}
230
	}
231
}		
231
}		
232
 
232
 
233
/** fichier() - Ajoute un élément de type fichier au formulaire
233
/** fichier() - Ajoute un élément de type fichier au formulaire
234
*
234
*
235
* @param    mixed   L'objet QuickForm du formulaire
235
* @param    mixed   L'objet QuickForm du formulaire
236
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
236
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
237
* @param    string  label à afficher dans le formulaire
237
* @param    string  label à afficher dans le formulaire
238
* @param    string  taille des colonnes de l'élément
238
* @param    string  taille des colonnes de l'élément
239
* @param    string  taille des lignes de l'élément
239
* @param    string  taille des lignes de l'élément
240
* @param    string  valeur par défaut du formulaire
240
* @param    string  valeur par défaut du formulaire
241
* @param    string  table source pour les valeurs du texte (inutile)
241
* @param    string  table source pour les valeurs du texte (inutile)
242
* @param    string  ce champs est il obligatoire? (required)
242
* @param    string  ce champs est il obligatoire? (required)
243
* @return   void
243
* @return   void
244
*/
244
*/
245
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
245
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
246
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
246
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
247
	$formtemplate->addElement('html', $html) ;
247
	$formtemplate->addElement('html', $html) ;
248
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
248
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
249
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
249
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
250
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
250
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
251
	$formtemplate->setMaxFileSize($limite1);
251
	$formtemplate->setMaxFileSize($limite1);
252
	//gestion du champs obligatoire
252
	//gestion du champs obligatoire
253
	if (isset($obligatoire)and($obligatoire==1)) {
253
	if (isset($obligatoire)and($obligatoire==1)) {
254
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
254
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
255
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
255
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
256
	}
256
	}
257
}		
257
}		
258
 
258
 
259
/** image() - Ajoute un élément de type image au formulaire
259
/** image() - Ajoute un élément de type image au formulaire
260
*
260
*
261
* @param    mixed   L'objet QuickForm du formulaire
261
* @param    mixed   L'objet QuickForm du formulaire
262
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
262
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
263
* @param    string  label à afficher dans le formulaire
263
* @param    string  label à afficher dans le formulaire
264
* @param    string  taille maximum du fichier colonnes de l'élément
264
* @param    string  taille maximum du fichier colonnes de l'élément
265
* @param    string  taille des lignes de l'élément
265
* @param    string  taille des lignes de l'élément
266
* @param    string  valeur par défaut du formulaire
266
* @param    string  valeur par défaut du formulaire
267
* @param    string  table source pour les valeurs du texte (inutile)
267
* @param    string  table source pour les valeurs du texte (inutile)
268
* @param    string  ce champs est il obligatoire? (required)
268
* @param    string  ce champs est il obligatoire? (required)
269
* @return   void
269
* @return   void
270
*/
270
*/
271
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
271
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
272
	$html.='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
272
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
273
	$formtemplate->addElement('html', $html) ;
273
	$formtemplate->addElement('html', $html) ;
274
	$formtemplate->addElement('file', 'image'.$nom_bdd, BAZ_IMAGE) ;
274
	$formtemplate->addElement('file', 'image'.$nom_bdd, BAZ_IMAGE) ;
275
	//TODO: controler si c'est une image
275
	//TODO: controler si c'est une image
276
	$formtemplate->setMaxFileSize($limite1);
276
	$formtemplate->setMaxFileSize($limite1);
277
	//gestion du champs obligatoire
277
	//gestion du champs obligatoire
278
	if (isset($obligatoire)and($obligatoire==1)) {
278
	if (isset($obligatoire)and($obligatoire==1)) {
279
		$formtemplate->addRule('image'.$nom_bdd, BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
279
		$formtemplate->addRule('image'.$nom_bdd, BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
280
	}
280
	}
281
}		
281
}		
282
 
282
 
283
 
283
 
284
 
284
 
285
/** labelhtml() - Ajoute un élément de type textearea au formulaire
285
/** labelhtml() - Ajoute un élément de type textearea au formulaire
286
*
286
*
287
* @param    mixed   L'objet QuickForm du formulaire
287
* @param    mixed   L'objet QuickForm du formulaire
288
* @param    string  nom de la table dans la base de donnée (pas utilisé)
288
* @param    string  nom de la table dans la base de donnée (pas utilisé)
289
* @param    string  label à afficher dans le formulaire
289
* @param    string  label à afficher dans le formulaire
290
* @param    string  taille des colonnes de l'élément (pas utilisé)
290
* @param    string  taille des colonnes de l'élément (pas utilisé)
291
* @param    string  taille des lignes de l'élément (pas utilisé)
291
* @param    string  taille des lignes de l'élément (pas utilisé)
292
* @param    string  valeur par défaut du formulaire (pas utilisé)
292
* @param    string  valeur par défaut du formulaire (pas utilisé)
293
* @param    string  table source pour les valeurs du texte (pas utilisé)
293
* @param    string  table source pour les valeurs du texte (pas utilisé)
294
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
294
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
295
* @return   void
295
* @return   void
296
*/
296
*/
297
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
297
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
298
	require_once 'HTML/QuickForm/html.php';
298
	require_once 'HTML/QuickForm/html.php';
299
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2">'."\n".constant($label)."\n".'</td>'."\n".'</tr>'."\n");
299
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2">'."\n".constant($label)."\n".'</td>'."\n".'</tr>'."\n");
300
	$formtemplate->addElement($formhtml) ;
300
	$formtemplate->addElement($formhtml) ;
301
}
301
}
302
 
302
 
303
/* +--Fin du code ----------------------------------------------------------------------------------------+
303
/* +--Fin du code ----------------------------------------------------------------------------------------+
304
*
304
*
305
* $Log: not supported by cvs2svn $
305
* $Log: not supported by cvs2svn $
-
 
306
* Revision 1.18  2006/03/01 16:01:46  florian
-
 
307
* correction bug déclaration variable $html
-
 
308
*
306
* Revision 1.17  2006/01/30 10:27:03  florian
309
* Revision 1.17  2006/01/30 10:27:03  florian
307
* - ajout des entrées de formulaire fichier, url, et image
310
* - ajout des entrées de formulaire fichier, url, et image
308
* - correction bug d'affichage du mode de saisie
311
* - correction bug d'affichage du mode de saisie
309
*
312
*
310
* Revision 1.16  2006/01/24 14:11:44  alexandre_tb
313
* Revision 1.16  2006/01/24 14:11:44  alexandre_tb
311
* ajout du paramètre emptyOptionValue dans les champs de date
314
* ajout du paramètre emptyOptionValue dans les champs de date
312
*
315
*
313
* Revision 1.15  2006/01/23 16:57:03  alexandre_tb
316
* Revision 1.15  2006/01/23 16:57:03  alexandre_tb
314
* correction d'un notice
317
* correction d'un notice
315
*
318
*
316
* Revision 1.14  2006/01/19 17:42:11  florian
319
* Revision 1.14  2006/01/19 17:42:11  florian
317
* ajout des cases à cocher pré-cochées pour les maj
320
* ajout des cases à cocher pré-cochées pour les maj
318
*
321
*
319
* Revision 1.13  2006/01/13 14:12:51  florian
322
* Revision 1.13  2006/01/13 14:12:51  florian
320
* utilisation des temlates dans la table bazar_nature
323
* utilisation des temlates dans la table bazar_nature
321
*
324
*
322
* Revision 1.12  2006/01/05 16:28:24  alexandre_tb
325
* Revision 1.12  2006/01/05 16:28:24  alexandre_tb
323
* prise en chage des checkbox, reste la mise à jour à gérer
326
* prise en chage des checkbox, reste la mise à jour à gérer
324
*
327
*
325
* Revision 1.11  2006/01/02 13:24:07  alexandre_tb
328
* Revision 1.11  2006/01/02 13:24:07  alexandre_tb
326
* correction de bug d'un mauvais retour en erreur
329
* correction de bug d'un mauvais retour en erreur
327
*
330
*
328
* Revision 1.10  2005/12/01 16:05:41  florian
331
* Revision 1.10  2005/12/01 16:05:41  florian
329
* changement des chemins pour appli Pear
332
* changement des chemins pour appli Pear
330
*
333
*
331
* Revision 1.9  2005/11/24 16:17:13  florian
334
* Revision 1.9  2005/11/24 16:17:13  florian
332
* corrections bugs, ajout des cases à cocher
335
* corrections bugs, ajout des cases à cocher
333
*
336
*
334
* Revision 1.8  2005/11/18 16:03:23  florian
337
* Revision 1.8  2005/11/18 16:03:23  florian
335
* correction bug html entites
338
* correction bug html entites
336
*
339
*
337
* Revision 1.7  2005/11/07 17:51:06  florian
340
* Revision 1.7  2005/11/07 17:51:06  florian
338
* correction bug liste
341
* correction bug liste
339
*
342
*
340
* Revision 1.6  2005/11/07 17:30:36  florian
343
* Revision 1.6  2005/11/07 17:30:36  florian
341
* ajout controle sur les listes pour la saisie
344
* ajout controle sur les listes pour la saisie
342
*
345
*
343
* Revision 1.5  2005/11/07 17:05:45  florian
346
* Revision 1.5  2005/11/07 17:05:45  florian
344
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
347
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
345
*
348
*
346
* Revision 1.4  2005/10/25 13:53:02  alexandre_tb
349
* Revision 1.4  2005/10/25 13:53:02  alexandre_tb
347
* ajout d'un filtre dans les formulaire texte et textelong
350
* ajout d'un filtre dans les formulaire texte et textelong
348
*
351
*
349
* Revision 1.3  2005/07/21 19:03:12  florian
352
* Revision 1.3  2005/07/21 19:03:12  florian
350
* nouveautés bazar: templates fiches, correction de bugs, ...
353
* nouveautés bazar: templates fiches, correction de bugs, ...
351
*
354
*
352
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
355
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
353
* Import initial de Bazar
356
* Import initial de Bazar
354
*
357
*
355
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
358
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
356
* Import initial
359
* Import initial
357
*
360
*
358
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
361
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
359
* import de la nouvelle version
362
* import de la nouvelle version
360
*
363
*
361
* Revision 1.4  2004/07/08 11:17:59  alex
364
* Revision 1.4  2004/07/08 11:17:59  alex
362
* ajout de commentaires et d'entete
365
* ajout de commentaires et d'entete
363
*
366
*
364
*
367
*
365
* +-- Fin du code ----------------------------------------------------------------------------------------+
368
* +-- Fin du code ----------------------------------------------------------------------------------------+
366
*/
369
*/
367
?>
370
?>