Subversion Repositories Applications.bazar

Rev

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

Rev 471 Rev 472
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.26 2007-06-04 15:24:31 alexandre_tb Exp $
22
// CVS : $Id: bazar.fonct.formulaire.php,v 1.26 2007-06-04 15:24:31 alexandre_tb 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.26 $ $Date: 2007-06-04 15:24:31 $
34
*@version       $Revision: 1.26 $ $Date: 2007-06-04 15:24:31 $
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
* @param    boolean sommes nous dans le moteur de recherche?
52
* @param    boolean sommes nous dans le moteur de recherche?
53
* @return   void
53
* @return   void
54
*/
54
*/
55
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
55
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
56
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
56
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
57
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
57
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
58
	if (DB::isError ($resultat)) {
58
	if (DB::isError ($resultat)) {
59
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
59
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
60
	}
60
	}
61
	if ($dans_moteur_de_recherche==0) {
61
	if ($dans_moteur_de_recherche==0) {
62
		$select[0]=BAZ_CHOISIR;
62
		$select[0]=BAZ_CHOISIR;
63
	}
63
	}
64
	else {
64
	else {
65
		$select[0]=BAZ_INDIFFERENT;
65
		$select[0]=BAZ_INDIFFERENT;
66
	}
66
	}
67
	while ($ligne = $resultat->fetchRow()) {
67
	while ($ligne = $resultat->fetchRow()) {
68
		$select[$ligne[1]] = $ligne[2] ;		
68
		$select[$ligne[1]] = $ligne[2] ;		
69
	}
69
	}
70
	$option=array('style'=>'width: '.$limite1.'px;', 'id' => 'liste'.$id_liste);
70
	$option=array('style'=>'width: '.$limite1.'px;', 'id' => 'liste'.$id_liste);
71
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
71
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
72
	$select= new HTML_QuickForm_select('liste'.$id_liste, $label, $select, $option);
72
	$select= new HTML_QuickForm_select('liste'.$id_liste, $label, $select, $option);
73
	$select->setSize($limite2); 
73
	$select->setSize($limite2); 
74
	$select->setMultiple(0);
74
	$select->setMultiple(0);
75
	$select->setSelected($defaut);
75
	$select->setSelected($defaut);
76
	$formtemplate->addElement($select) ;
76
	$formtemplate->addElement($select) ;
77
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
77
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
78
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
78
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
79
		$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
79
		$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
80
}
80
}
81
 
81
 
82
 
82
 
83
/** checkbox() - Ajoute un élément de type checkbox au formulaire
83
/** checkbox() - Ajoute un �l�ment de type checkbox au formulaire
84
*
84
*
85
* @param    mixed   L'objet QuickForm du formulaire
85
* @param    mixed   L'objet QuickForm du formulaire
86
* @param    int     identifiant de la liste sur bazar_liste
86
* @param    int     identifiant de la liste sur bazar_liste
87
* @param    string  label à afficher dans le formulaire
87
* @param    string  label � afficher dans le formulaire
88
* @param    string  première restriction de la taille des champs du formulaire
88
* @param    string  premi�re restriction de la taille des champs du formulaire
89
* @param    string  deuxième restriction de la taille des champs du formulaire
89
* @param    string  deuxi�me restriction de la taille des champs du formulaire
90
* @param    string  valeur par défaut du formulaire
90
* @param    string  valeur par d�faut du formulaire
91
* @param    string  table source pour les valeurs de la liste
91
* @param    string  table source pour les valeurs de la liste
92
* @param    string  ce champs est il obligatoire? (required)
92
* @param    string  ce champs est il obligatoire? (required)
93
* @return   void
93
* @return   void
94
*/
94
*/
95
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
95
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
96
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER BY blv_label';
96
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER BY blv_label';
97
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
97
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
98
	if (DB::isError ($resultat)) {
98
	if (DB::isError ($resultat)) {
99
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
99
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
100
	}		
100
	}		
101
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
101
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
102
	$i=0;
102
	$i=0;
103
	if (isset($defaut)) $tab=split(', ', $defaut);
103
	if (isset($defaut)) $tab=split(', ', $defaut);
104
	while ($ligne = $resultat->fetchRow()) {
104
	while ($ligne = $resultat->fetchRow()) {
105
		if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
105
		if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
106
		$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
106
		$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
107
						array ('style'=>'display:inline;margin:2px;')) ;		
107
						array ('style'=>'display:inline;margin:2px;')) ;		
108
		foreach ($tab as $val) {
108
		foreach ($tab as $val) {
109
            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
109
            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
110
        }			
110
        }			
111
		$i++;
111
		$i++;
112
	}
112
	}
113
	$squelette_checkbox =& $formtemplate->defaultRenderer();
113
	$squelette_checkbox =& $formtemplate->defaultRenderer();
114
	$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
114
	$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
115
                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
115
                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
116
											 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
116
											 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
117
  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
117
  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
118
	
118
	
119
	$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
119
	$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
120
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
120
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
121
		$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
121
		$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
122
	}
122
	}
123
}
123
}
124
 
124
 
125
 
125
 
126
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
126
/** listedatedeb() - Ajoute un �l�ment de type date sous forme de liste au formulaire pour designer une date de d�but
127
*
127
*
128
* @param    mixed   L'objet QuickForm du formulaire
128
* @param    mixed   L'objet QuickForm du formulaire
129
* @param    string  nom de la table dans la base de donnée
129
* @param    string  nom de la table dans la base de donn�e
130
* @param    string  label à afficher dans le formulaire
130
* @param    string  label � afficher dans le formulaire
131
* @param    string  première restriction de la taille des champs du formulaire
131
* @param    string  premi�re restriction de la taille des champs du formulaire
132
* @param    string  deuxième restriction de la taille des champs du formulaire
132
* @param    string  deuxi�me restriction de la taille des champs du formulaire
133
* @param    string  valeur par défaut du formulaire
133
* @param    string  valeur par d�faut du formulaire
134
* @param    string  table source pour les valeurs de la date
134
* @param    string  table source pour les valeurs de la date
135
* @param    string  ce champs est il obligatoire? (required)
135
* @param    string  ce champs est il obligatoire? (required)
136
* @return   void
136
* @return   void
137
*/
137
*/
138
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
138
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
139
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
139
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
140
						'minYear' => date('Y')-4,
140
						'minYear' => date('Y')-4,
141
						'maxYear'=> (date('Y')+10),
141
						'maxYear'=> (date('Y')+10),
142
						'format' => 'd m Y',
142
						'format' => 'd m Y',
143
						'addEmptyOption' => BAZ_DATE_VIDE,
143
						'addEmptyOption' => BAZ_DATE_VIDE,
144
						);
144
						);
145
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
145
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
146
	//gestion des valeurs par défaut (date du jour)	
146
	//gestion des valeurs par d�faut (date du jour)	
147
	if (isset($defaut) && $defaut!='') {
147
	if (isset($defaut) && $defaut!='') {
148
		$tableau_date = explode ('-', $defaut);
148
		$tableau_date = explode ('-', $defaut);
149
		$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
149
		$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
150
	}
150
	}
151
	
151
	
152
	else {
152
	else {
153
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
153
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
154
		$formtemplate->setDefaults($defauts);
154
		$formtemplate->setDefaults($defauts);
155
	}
155
	}
156
	//gestion du champs obligatoire
156
	//gestion du champs obligatoire
157
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
157
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
158
		$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
158
		$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
159
	}
159
	}
160
}
160
}
161
 
161
 
162
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
162
/** listedatefin() - Ajoute un �l�ment de type date sous forme de liste au formulaire pour designer une date de fin
163
*
163
*
164
* @param    mixed   L'objet QuickForm du formulaire
164
* @param    mixed   L'objet QuickForm du formulaire
165
* @param    string  nom de la table dans la base de donnée
165
* @param    string  nom de la table dans la base de donn�e
166
* @param    string  label à afficher dans le formulaire
166
* @param    string  label � afficher dans le formulaire
167
* @param    string  première restriction de la taille des champs du formulaire
167
* @param    string  premi�re restriction de la taille des champs du formulaire
168
* @param    string  deuxième restriction de la taille des champs du formulaire
168
* @param    string  deuxi�me restriction de la taille des champs du formulaire
169
* @param    string  valeur par défaut du formulaire
169
* @param    string  valeur par d�faut du formulaire
170
* @param    string  table source pour les valeurs de la date
170
* @param    string  table source pour les valeurs de la date
171
* @param    string  ce champs est il obligatoire? (required)
171
* @param    string  ce champs est il obligatoire? (required)
172
* @return   void
172
* @return   void
173
*/
173
*/
174
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
174
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
175
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche);
175
	listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche);
176
}
176
}
177
 
177
 
178
 
178
 
179
/** texte() - Ajoute un élément de type texte au formulaire
179
/** texte() - Ajoute un �l�ment de type texte au formulaire
180
*
180
*
181
* @param    mixed   L'objet QuickForm du formulaire
181
* @param    mixed   L'objet QuickForm du formulaire
182
* @param    string  nom de la table dans la base de donnée
182
* @param    string  nom de la table dans la base de donn�e
183
* @param    string  label à afficher dans le formulaire
183
* @param    string  label � afficher dans le formulaire
184
* @param    string  première restriction de la taille des champs du formulaire
184
* @param    string  premi�re restriction de la taille des champs du formulaire
185
* @param    string  deuxième restriction de la taille des champs du formulaire
185
* @param    string  deuxi�me restriction de la taille des champs du formulaire
186
* @param    string  valeur par défaut du formulaire
186
* @param    string  valeur par d�faut du formulaire
187
* @param    string  table source pour les valeurs du texte (inutile)
187
* @param    string  table source pour les valeurs du texte (inutile)
188
* @param    string  ce champs est il obligatoire? (required)
188
* @param    string  ce champs est il obligatoire? (required)
189
* @return   void
189
* @return   void
190
*/
190
*/
191
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
191
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
192
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
192
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
193
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
193
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
194
	//gestion des valeurs par défaut
194
	//gestion des valeurs par d�faut
195
	$defauts=array($nom_bdd=>$defaut);
195
	$defauts=array($nom_bdd=>$defaut);
196
	$formtemplate->setDefaults($defauts);
196
	$formtemplate->setDefaults($defauts);
197
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
197
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
198
	//gestion du champs obligatoire
198
	//gestion du champs obligatoire
199
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
199
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
200
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
200
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
201
	}
201
	}
202
}
202
}
203
 
203
 
204
 
204
 
205
/** textelong() - Ajoute un élément de type textearea au formulaire
205
/** textelong() - Ajoute un �l�ment de type textearea au formulaire
206
*
206
*
207
* @param    mixed   L'objet QuickForm du formulaire
207
* @param    mixed   L'objet QuickForm du formulaire
208
* @param    string  nom de la table dans la base de donnée
208
* @param    string  nom de la table dans la base de donn�e
209
* @param    string  label à afficher dans le formulaire
209
* @param    string  label � afficher dans le formulaire
210
* @param    string  taille des colonnes de l'élément
210
* @param    string  taille des colonnes de l'�l�ment
211
* @param    string  taille des lignes de l'élément
211
* @param    string  taille des lignes de l'�l�ment
212
* @param    string  valeur par défaut du formulaire
212
* @param    string  valeur par d�faut du formulaire
213
* @param    string  table source pour les valeurs du texte (inutile)
213
* @param    string  table source pour les valeurs du texte (inutile)
214
* @param    string  ce champs est il obligatoire? (required)
214
* @param    string  ce champs est il obligatoire? (required)
215
* @return   void
215
* @return   void
216
*/
216
*/
217
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
217
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
218
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;', 'id' => $nom_bdd));
218
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;', 'id' => $nom_bdd));
219
	$formtexte->setCols($limite1);
219
	$formtexte->setCols($limite1);
220
	$formtexte->setRows($limite2);
220
	$formtexte->setRows($limite2);
221
	$formtemplate->addElement($formtexte) ;
221
	$formtemplate->addElement($formtexte) ;
222
	//gestion des valeurs par défaut
222
	//gestion des valeurs par d�faut
223
	$defauts=array($nom_bdd=>$defaut);
223
	$defauts=array($nom_bdd=>$defaut);
224
	$formtemplate->setDefaults($defauts);
224
	$formtemplate->setDefaults($defauts);
225
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
225
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
226
	//gestion du champs obligatoire
226
	//gestion du champs obligatoire
227
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
227
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
228
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
228
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
229
	}
229
	}
230
}
230
}
231
 
231
 
232
/** url() - Ajoute un élément de type url internet au formulaire
232
/** url() - Ajoute un �l�ment de type url internet au formulaire
233
*
233
*
234
* @param    mixed   L'objet QuickForm du formulaire
234
* @param    mixed   L'objet QuickForm du formulaire
235
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
235
* @param    string  numero du champs input du formulaire (pour le diff�rencier d'autres champs du meme type dans ce formulaire)
236
* @param    string  label à afficher dans le formulaire
236
* @param    string  label � afficher dans le formulaire
237
* @param    string  taille des colonnes de l'élément
237
* @param    string  taille des colonnes de l'�l�ment
238
* @param    string  taille des lignes de l'élément
238
* @param    string  taille des lignes de l'�l�ment
239
* @param    string  valeur par défaut du formulaire
239
* @param    string  valeur par d�faut du formulaire
240
* @param    string  table source pour les valeurs du texte (inutile)
240
* @param    string  table source pour les valeurs du texte (inutile)
241
* @param    string  ce champs est il obligatoire? (required)
241
* @param    string  ce champs est il obligatoire? (required)
242
* @return   void
242
* @return   void
243
*/
243
*/
244
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
244
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
245
	//recherche des URLs deja entrees dans la base
245
	//recherche des URLs deja entrees dans la base
246
	$html_url= '';
246
	$html_url= '';
247
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
247
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
248
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
248
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
249
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
249
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
250
		if (DB::isError ($resultat)) {
250
		if (DB::isError ($resultat)) {
251
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
251
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
252
		}
252
		}
253
		if ($resultat->numRows()>0) {
253
		if ($resultat->numRows()>0) {
254
			$html_url= '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_URL.'</strong>'."\n";
254
			$html_url= '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_URL.'</strong>'."\n";
255
			$tableAttr = array("class" => "bazar_table") ;
255
			$tableAttr = array("class" => "bazar_table") ;
256
			$table = new HTML_Table($tableAttr) ;
256
			$table = new HTML_Table($tableAttr) ;
257
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
257
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
258
			$table->addRow($entete) ;
258
			$table->addRow($entete) ;
259
			$table->setRowType(0, "th") ;
259
			$table->setRowType(0, "th") ;
260
		
260
		
261
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
261
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
262
			$lien_supprimer->addQueryString('action', $_GET['action']);
262
			$lien_supprimer->addQueryString('action', $_GET['action']);
263
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
263
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
264
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
264
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
265
				
265
				
266
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
266
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
267
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
267
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
268
				$table->addRow (array(
268
				$table->addRow (array(
269
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
269
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
270
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
270
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
271
				$lien_supprimer->removeQueryString('id_url');
271
				$lien_supprimer->removeQueryString('id_url');
272
			}
272
			}
273
 
273
 
274
			// Nettoyage de l'url
274
			// Nettoyage de l'url
275
			$lien_supprimer->removeQueryString('action');
275
			$lien_supprimer->removeQueryString('action');
276
			$lien_supprimer->removeQueryString('id_fiche');
276
			$lien_supprimer->removeQueryString('id_fiche');
277
			$lien_supprimer->removeQueryString('typeannonce');
277
			$lien_supprimer->removeQueryString('typeannonce');
278
			
278
			
279
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
279
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
280
			$table->updateColAttributes(1, array("align" => "center"));
280
			$table->updateColAttributes(1, array("align" => "center"));
281
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
281
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
282
		}
282
		}
283
	}		
283
	}		
284
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
284
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
285
	$formtemplate->addElement('html', $html) ;
285
	$formtemplate->addElement('html', $html) ;
286
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
286
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
287
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
287
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
288
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
288
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
289
	//gestion du champs obligatoire
289
	//gestion du champs obligatoire
290
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
290
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
291
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
291
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
292
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
292
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
293
	}
293
	}
294
}		
294
}		
295
 
295
 
296
/** fichier() - Ajoute un élément de type fichier au formulaire
296
/** fichier() - Ajoute un �l�ment de type fichier au formulaire
297
*
297
*
298
* @param    mixed   L'objet QuickForm du formulaire
298
* @param    mixed   L'objet QuickForm du formulaire
299
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
299
* @param    string  numero du champs input du formulaire (pour le diff�rencier d'autres champs du meme type dans ce formulaire)
300
* @param    string  label à afficher dans le formulaire
300
* @param    string  label � afficher dans le formulaire
301
* @param    string  taille des colonnes de l'élément
301
* @param    string  taille des colonnes de l'�l�ment
302
* @param    string  taille des lignes de l'élément
302
* @param    string  taille des lignes de l'�l�ment
303
* @param    string  valeur par défaut du formulaire
303
* @param    string  valeur par d�faut du formulaire
304
* @param    string  table source pour les valeurs du texte (inutile)
304
* @param    string  table source pour les valeurs du texte (inutile)
305
* @param    string  ce champs est il obligatoire? (required)
305
* @param    string  ce champs est il obligatoire? (required)
306
* @return   void
306
* @return   void
307
*/
307
*/
308
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
308
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
309
	//AJOUTER DES FICHIERS JOINTS
309
	//AJOUTER DES FICHIERS JOINTS
310
	$html_fichier= '';
310
	$html_fichier= '';
311
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
311
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
312
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
312
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
313
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
313
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
314
		if (DB::isError ($resultat)) {
314
		if (DB::isError ($resultat)) {
315
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
315
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
316
		}
316
		}
317
		
317
		
318
		if ($resultat->numRows()>0) {
318
		if ($resultat->numRows()>0) {
319
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
319
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
320
			$tableAttr = array("class" => "bazar_table") ;
320
			$tableAttr = array("class" => "bazar_table") ;
321
			$table = new HTML_Table($tableAttr) ;
321
			$table = new HTML_Table($tableAttr) ;
322
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
322
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
323
			$table->addRow($entete) ;
323
			$table->addRow($entete) ;
324
			$table->setRowType(0, "th") ;
324
			$table->setRowType(0, "th") ;
325
			
325
			
326
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
326
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
327
			$lien_supprimer->addQueryString('action', $_GET['action']);
327
			$lien_supprimer->addQueryString('action', $_GET['action']);
328
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
328
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
329
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
329
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
330
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
330
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
331
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
331
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
332
				$table->addRow(array('<a href="client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
332
				$table->addRow(array('<a href="reseau/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
333
									 '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_FICHIER.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
333
									 '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_FICHIER.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
334
				$lien_supprimer->removeQueryString('id_fichier');
334
				$lien_supprimer->removeQueryString('id_fichier');
335
			}
335
			}
336
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
336
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
337
			$table->updateColAttributes(1, array("align" => "center"));
337
			$table->updateColAttributes(1, array("align" => "center"));
338
			$html_fichier .= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
338
			$html_fichier .= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
339
		}
339
		}
340
	}
340
	}
341
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
341
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
342
	$formtemplate->addElement('html', $html) ;
342
	$formtemplate->addElement('html', $html) ;
343
	if ($html_fichier!='') $formtemplate->addElement('html', $html_fichier) ;
343
	if ($html_fichier!='') $formtemplate->addElement('html', $html_fichier) ;
344
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
344
	$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
345
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
345
	$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
346
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
346
	$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
347
	$formtemplate->setMaxFileSize($limite1);
347
	$formtemplate->setMaxFileSize($limite1);
348
	//gestion du champs obligatoire
348
	//gestion du champs obligatoire
349
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
349
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
350
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
350
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
351
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
351
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
352
	}
352
	}
353
}		
353
}		
354
 
354
 
355
/** image() - Ajoute un élément de type image au formulaire
355
/** image() - Ajoute un �l�ment de type image au formulaire
356
*
356
*
357
* @param    mixed   L'objet QuickForm du formulaire
357
* @param    mixed   L'objet QuickForm du formulaire
358
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
358
* @param    string  numero du champs input du formulaire (pour le diff�rencier d'autres champs du meme type dans ce formulaire)
359
* @param    string  label à afficher dans le formulaire
359
* @param    string  label � afficher dans le formulaire
360
* @param    string  taille maximum du fichier colonnes de l'élément
360
* @param    string  taille maximum du fichier colonnes de l'�l�ment
361
* @param    string  taille des lignes de l'élément
361
* @param    string  taille des lignes de l'�l�ment
362
* @param    string  valeur par défaut du formulaire
362
* @param    string  valeur par d�faut du formulaire
363
* @param    string  table source pour les valeurs du texte (inutile)
363
* @param    string  table source pour les valeurs du texte (inutile)
364
* @param    string  ce champs est il obligatoire? (required)
364
* @param    string  ce champs est il obligatoire? (required)
365
* @return   void
365
* @return   void
366
*/
366
*/
367
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
367
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
368
	//AJOUTER UNE IMAGE
368
	//AJOUTER UNE IMAGE
369
	$html_image= '';
369
	$html_image= '';
370
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
370
	if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
371
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
371
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
372
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
372
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
373
		if (DB::isError ($resultat)) {
373
		if (DB::isError ($resultat)) {
374
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
374
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
375
		}
375
		}
376
		
376
		
377
		if ($resultat->numRows()>0) {
377
		if ($resultat->numRows()>0) {
378
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
378
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
379
				$image=$ligne->bf_url_image;
379
				$image=$ligne->bf_url_image;
380
			}
380
			}
381
			if ($image!=NULL) {
381
			if ($image!=NULL) {
382
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
382
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
383
				$lien_supprimer->addQueryString('action', $_GET['action']);
383
				$lien_supprimer->addQueryString('action', $_GET['action']);
384
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
384
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
385
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
385
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
386
				$lien_supprimer->addQueryString('image', 1);
386
				$lien_supprimer->addQueryString('image', 1);
387
				$html_image = '<tr>'."\n".
387
				$html_image = '<tr>'."\n".
388
							  '<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
388
							  '<td>'."\n".'<img src="reseau/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
389
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
389
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
390
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
390
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
391
			}
391
			}
392
		}		
392
		}		
393
	}	
393
	}	
394
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
394
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
395
	$formtemplate->addElement('html', $html) ;
395
	$formtemplate->addElement('html', $html) ;
396
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
396
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
397
	$formtemplate->addElement('file', 'image', BAZ_IMAGE) ;
397
	$formtemplate->addElement('file', 'image', BAZ_IMAGE) ;
398
	//TODO: controler si c'est une image
398
	//TODO: controler si c'est une image
399
	$formtemplate->setMaxFileSize($limite1);
399
	$formtemplate->setMaxFileSize($limite1);
400
	//gestion du champs obligatoire
400
	//gestion du champs obligatoire
401
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
401
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
402
		$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
402
		$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
403
	}
403
	}
404
}		
404
}		
405
 
405
 
406
/** wikini() - Ajoute un wikini au formulaire
406
/** wikini() - Ajoute un wikini au formulaire
407
*
407
*
408
* @param    mixed   L'objet QuickForm du formulaire
408
* @param    mixed   L'objet QuickForm du formulaire
409
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
409
* @param    string  numero du champs input du formulaire (pour le diff�rencier d'autres champs du meme type dans ce formulaire)
410
* @param    string  label à afficher dans le formulaire
410
* @param    string  label � afficher dans le formulaire
411
* @param    string  taille maximum du fichier colonnes de l'élément
411
* @param    string  taille maximum du fichier colonnes de l'�l�ment
412
* @param    string  taille des lignes de l'élément
412
* @param    string  taille des lignes de l'�l�ment
413
* @param    string  valeur par défaut du formulaire
413
* @param    string  valeur par d�faut du formulaire
414
* @param    string  table source pour les valeurs du texte (inutile)
414
* @param    string  table source pour les valeurs du texte (inutile)
415
* @param    string  ce champs est il obligatoire? (required)
415
* @param    string  ce champs est il obligatoire? (required)
416
* @return   void
416
* @return   void
417
*/
417
*/
418
function wikini(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
418
function wikini(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
419
	return;
419
	return;
420
}
420
}
421
 
421
 
422
/** labelhtml() - Ajoute un élément de type textearea au formulaire
422
/** labelhtml() - Ajoute un �l�ment de type textearea au formulaire
423
*
423
*
424
* @param    mixed   L'objet QuickForm du formulaire
424
* @param    mixed   L'objet QuickForm du formulaire
425
* @param    string  nom de la table dans la base de donnée (pas utilisé)
425
* @param    string  nom de la table dans la base de donn�e (pas utilis�)
426
* @param    string  label à afficher dans le formulaire
426
* @param    string  label � afficher dans le formulaire
427
* @param    string  taille des colonnes de l'élément (pas utilisé)
427
* @param    string  taille des colonnes de l'�l�ment (pas utilis�)
428
* @param    string  taille des lignes de l'élément (pas utilisé)
428
* @param    string  taille des lignes de l'�l�ment (pas utilis�)
429
* @param    string  valeur par défaut du formulaire (pas utilisé)
429
* @param    string  valeur par d�faut du formulaire (pas utilis�)
430
* @param    string  table source pour les valeurs du texte (pas utilisé)
430
* @param    string  table source pour les valeurs du texte (pas utilis�)
431
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
431
* @param    string  ce champs est il obligatoire? (required) (pas utilis�)
432
* @return   void
432
* @return   void
433
*/
433
*/
434
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
434
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
435
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
435
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
436
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
436
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
437
	$formtemplate->addElement($formhtml) ;
437
	$formtemplate->addElement($formhtml) ;
438
}
438
}
439
 
439
 
440
/** carte_google() - Ajoute un élément de carte google au formulaire
440
/** carte_google() - Ajoute un �l�ment de carte google au formulaire
441
*
441
*
442
* @param    mixed   L'objet QuickForm du formulaire
442
* @param    mixed   L'objet QuickForm du formulaire
443
* @param    string  l url vers la script google
443
* @param    string  l url vers la script google
444
* @param    string  label à afficher dans le formulaire
444
* @param    string  label � afficher dans le formulaire
445
* @param    string  première restriction de la taille des champs du formulaire
445
* @param    string  premi�re restriction de la taille des champs du formulaire
446
* @param    string  deuxième restriction de la taille des champs du formulaire
446
* @param    string  deuxi�me restriction de la taille des champs du formulaire
447
* @param    string  valeur par défaut du formulaire
447
* @param    string  valeur par d�faut du formulaire
448
* @param    string  table source pour les valeurs de la liste
448
* @param    string  table source pour les valeurs de la liste
449
* @param    string  ce champs est il obligatoire? (required)
449
* @param    string  ce champs est il obligatoire? (required)
450
* @param    boolean sommes nous dans le moteur de recherche?
450
* @param    boolean sommes nous dans le moteur de recherche?
451
* @return   void
451
* @return   void
452
*/
452
*/
453
function carte_google(&$formtemplate, $url_google_script , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
453
function carte_google(&$formtemplate, $url_google_script , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
454
	
454
	
455
	if (is_array ($defaut)) {
455
	if (is_array ($defaut)) {
456
    	$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
456
    	$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
457
    }
457
    }
458
	
458
	
459
	GEN_stockerFichierScript('googleMapScript', $url_google_script);
459
	GEN_stockerFichierScript('googleMapScript', $url_google_script);
460
        	
460
        	
461
	$formtemplate->addElement('button', 'chercher_sur_carte', 'Vérifier mon adresse avec la carte', array("onclick" => "showAddress();"));
461
	$formtemplate->addElement('button', 'chercher_sur_carte', 'V�rifier mon adresse avec la carte', array("onclick" => "showAddress();"));
462
    $formtemplate->addElement('text', 'latitude', 'Latitude', array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
462
    $formtemplate->addElement('text', 'latitude', 'Latitude', array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
463
    $formtemplate->addElement('text', 'longitude', 'longitude', array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
463
    $formtemplate->addElement('text', 'longitude', 'longitude', array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
464
    $formtemplate->addElement('html', '<tr><td colspan="2"	><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
464
    $formtemplate->addElement('html', '<tr><td colspan="2"	><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
465
    
465
    
466
    include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.google.php';
466
    include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.google.php';
467
    GEN_stockerCodeScript($script);
467
    GEN_stockerCodeScript($script);
468
}
468
}
469
 
469
 
470
/* +--Fin du code ----------------------------------------------------------------------------------------+
470
/* +--Fin du code ----------------------------------------------------------------------------------------+
471
*
471
*
472
* $Log: bazar.fonct.formulaire.php,v $
472
* $Log: bazar.fonct.formulaire.php,v $
473
* Revision 1.26  2007-06-04 15:24:31  alexandre_tb
473
* Revision 1.26  2007-06-04 15:24:31  alexandre_tb
474
* ajout du type carte_google
474
* ajout du type carte_google
475
*
475
*
476
* Revision 1.25  2007/04/11 08:30:12  neiluj
476
* Revision 1.25  2007/04/11 08:30:12  neiluj
477
* remise en état du CVS...
477
* remise en état du CVS...
478
*
478
*
479
* Revision 1.22.2.3  2007/03/16 14:48:32  alexandre_tb
479
* Revision 1.22.2.3  2007/03/16 14:48:32  alexandre_tb
480
* on peut maintenant saisir une date par défaut
480
* on peut maintenant saisir une date par d�faut
481
* et 0000-00-00 pour des champs vide
481
* et 0000-00-00 pour des champs vide
482
*
482
*
483
* Revision 1.22.2.2  2007/03/07 17:20:19  jp_milcent
483
* Revision 1.22.2.2  2007/03/07 17:20:19  jp_milcent
484
* Ajout du nettoyage systématique des URLs.
484
* Ajout du nettoyage syst�matique des URLs.
485
*
485
*
486
* Revision 1.22.2.1  2007/01/17 16:01:37  alexandre_tb
486
* Revision 1.22.2.1  2007/01/17 16:01:37  alexandre_tb
487
* les dates ne s'affichent pas si elles sont vides.
487
* les dates ne s'affichent pas si elles sont vides.
488
* les champs dates propose 4 années avant l'année actuelle
488
* les champs dates propose 4 ann�es avant l'ann�e actuelle
489
*
489
*
490
* Revision 1.22  2006/06/02 09:29:07  florian
490
* Revision 1.22  2006/06/02 09:29:07  florian
491
* debut d'integration de wikini
491
* debut d'integration de wikini
492
*
492
*
493
* Revision 1.21  2006/05/19 13:54:11  florian
493
* Revision 1.21  2006/05/19 13:54:11  florian
494
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
494
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
495
*
495
*
496
* Revision 1.20  2006/04/28 12:46:14  florian
496
* Revision 1.20  2006/04/28 12:46:14  florian
497
* integration des liens vers annuaire
497
* integration des liens vers annuaire
498
*
498
*
499
* Revision 1.19  2006/03/02 20:36:52  florian
499
* Revision 1.19  2006/03/02 20:36:52  florian
500
* les entrees du formulaire de saisir ne sont plus dans les constantes mias dans des tables qui gerent le multilinguisme.
500
* les entrees du formulaire de saisir ne sont plus dans les constantes mias dans des tables qui gerent le multilinguisme.
501
*
501
*
502
* Revision 1.18  2006/03/01 16:01:46  florian
502
* Revision 1.18  2006/03/01 16:01:46  florian
503
* correction bug déclaration variable $html
503
* correction bug déclaration variable $html
504
*
504
*
505
* Revision 1.17  2006/01/30 10:27:03  florian
505
* Revision 1.17  2006/01/30 10:27:03  florian
506
* - ajout des entrées de formulaire fichier, url, et image
506
* - ajout des entrées de formulaire fichier, url, et image
507
* - correction bug d'affichage du mode de saisie
507
* - correction bug d'affichage du mode de saisie
508
*
508
*
509
* Revision 1.16  2006/01/24 14:11:44  alexandre_tb
509
* Revision 1.16  2006/01/24 14:11:44  alexandre_tb
510
* ajout du paramètre emptyOptionValue dans les champs de date
510
* ajout du param�tre emptyOptionValue dans les champs de date
511
*
511
*
512
* Revision 1.15  2006/01/23 16:57:03  alexandre_tb
512
* Revision 1.15  2006/01/23 16:57:03  alexandre_tb
513
* correction d'un notice
513
* correction d'un notice
514
*
514
*
515
* Revision 1.14  2006/01/19 17:42:11  florian
515
* Revision 1.14  2006/01/19 17:42:11  florian
516
* ajout des cases à cocher pré-cochées pour les maj
516
* ajout des cases à cocher pré-cochées pour les maj
517
*
517
*
518
* Revision 1.13  2006/01/13 14:12:51  florian
518
* Revision 1.13  2006/01/13 14:12:51  florian
519
* utilisation des temlates dans la table bazar_nature
519
* utilisation des temlates dans la table bazar_nature
520
*
520
*
521
* Revision 1.12  2006/01/05 16:28:24  alexandre_tb
521
* Revision 1.12  2006/01/05 16:28:24  alexandre_tb
522
* prise en chage des checkbox, reste la mise à jour à gérer
522
* prise en chage des checkbox, reste la mise � jour � g�rer
523
*
523
*
524
* Revision 1.11  2006/01/02 13:24:07  alexandre_tb
524
* Revision 1.11  2006/01/02 13:24:07  alexandre_tb
525
* correction de bug d'un mauvais retour en erreur
525
* correction de bug d'un mauvais retour en erreur
526
*
526
*
527
* Revision 1.10  2005/12/01 16:05:41  florian
527
* Revision 1.10  2005/12/01 16:05:41  florian
528
* changement des chemins pour appli Pear
528
* changement des chemins pour appli Pear
529
*
529
*
530
* Revision 1.9  2005/11/24 16:17:13  florian
530
* Revision 1.9  2005/11/24 16:17:13  florian
531
* corrections bugs, ajout des cases à cocher
531
* corrections bugs, ajout des cases à cocher
532
*
532
*
533
* Revision 1.8  2005/11/18 16:03:23  florian
533
* Revision 1.8  2005/11/18 16:03:23  florian
534
* correction bug html entites
534
* correction bug html entites
535
*
535
*
536
* Revision 1.7  2005/11/07 17:51:06  florian
536
* Revision 1.7  2005/11/07 17:51:06  florian
537
* correction bug liste
537
* correction bug liste
538
*
538
*
539
* Revision 1.6  2005/11/07 17:30:36  florian
539
* Revision 1.6  2005/11/07 17:30:36  florian
540
* ajout controle sur les listes pour la saisie
540
* ajout controle sur les listes pour la saisie
541
*
541
*
542
* Revision 1.5  2005/11/07 17:05:45  florian
542
* Revision 1.5  2005/11/07 17:05:45  florian
543
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
543
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
544
*
544
*
545
* Revision 1.4  2005/10/25 13:53:02  alexandre_tb
545
* Revision 1.4  2005/10/25 13:53:02  alexandre_tb
546
* ajout d'un filtre dans les formulaire texte et textelong
546
* ajout d'un filtre dans les formulaire texte et textelong
547
*
547
*
548
* Revision 1.3  2005/07/21 19:03:12  florian
548
* Revision 1.3  2005/07/21 19:03:12  florian
549
* nouveautés bazar: templates fiches, correction de bugs, ...
549
* nouveautés bazar: templates fiches, correction de bugs, ...
550
*
550
*
551
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
551
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
552
* Import initial de Bazar
552
* Import initial de Bazar
553
*
553
*
554
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
554
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
555
* Import initial
555
* Import initial
556
*
556
*
557
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
557
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
558
* import de la nouvelle version
558
* import de la nouvelle version
559
*
559
*
560
* Revision 1.4  2004/07/08 11:17:59  alex
560
* Revision 1.4  2004/07/08 11:17:59  alex
561
* ajout de commentaires et d'entete
561
* ajout de commentaires et d'entete
562
*
562
*
563
*
563
*
564
* +-- Fin du code ----------------------------------------------------------------------------------------+
564
* +-- Fin du code ----------------------------------------------------------------------------------------+
565
*/
565
*/
566
?>
566
?>