Subversion Repositories Applications.papyrus

Rev

Rev 1108 | Rev 1511 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1108 Rev 1462
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
-
 
3
// +------------------------------------------------------------------------------------------------------+
-
 
4
// | PHP version 4.1                                                                                      |
-
 
5
// +------------------------------------------------------------------------------------------------------+
-
 
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
-
 
7
// +------------------------------------------------------------------------------------------------------+
-
 
8
// | This library is free software; you can redistribute it and/or                                        |
-
 
9
// | modify it under the terms of the GNU Lesser General Public                                           |
-
 
10
// | License as published by the Free Software Foundation; either                                         |
-
 
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
-
 
12
// |                                                                                                      |
-
 
13
// | This library is distributed in the hope that it will be useful,                                      |
-
 
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
-
 
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
-
 
16
// | Lesser General Public License for more details.                                                      |
-
 
17
// |                                                                                                      |
-
 
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                                  |
-
 
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
-
 
21
// +------------------------------------------------------------------------------------------------------+
-
 
22
// CVS : $Id$
-
 
23
/**
-
 
24
* Formulaire
-
 
25
*
-
 
26
* Les fonctions de mise en page des formulaire
-
 
27
*
-
 
28
*@package bazar
-
 
29
//Auteur original :
-
 
30
*@author        Florian SCHMITT <florian@ecole-et-nature.org>
-
 
31
//Autres auteurs :
-
 
32
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
-
 
33
*@copyright     Tela-Botanica 2000-2004
-
 
34
*@version       $Revision$ $Date$
-
 
35
// +------------------------------------------------------------------------------------------------------+
-
 
36
*/
-
 
37
 
2
function formulaire_valeurs_template_champs($valeur_template) {
38
function formulaire_valeurs_template_champs($valeur_template) {
3
	//Parcours du template, pour mettre les champs du formulaire avec leurs valeurs specifiques
39
	//Parcours du template, pour mettre les champs du formulaire avec leurs valeurs specifiques
4
	$tableau= array();
40
	$tableau= array();
5
	$nblignes=0;
41
	$nblignes=0;
6
	$chaine = explode ("\n", $valeur_template);
42
	$chaine = explode ("\n", $valeur_template);
Line 25... Line 61...
25
		if (isset($souschaine[8])) $tableau[$nblignes]['obligatoire'] = trim($souschaine[8]);
61
		if (isset($souschaine[8])) $tableau[$nblignes]['obligatoire'] = trim($souschaine[8]);
26
		else {$tableau[$nblignes]['obligatoire'] ='';}
62
		else {$tableau[$nblignes]['obligatoire'] ='';}
27
		if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
63
		if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
28
		else {$tableau[$nblignes]['recherche'] ='';}
64
		else {$tableau[$nblignes]['recherche'] ='';}
Line 29... Line 65...
29
 
65
 
30
		// traitement des cases à cocher, dans ce cas la, on a une table de jointure entre la table
66
		// traitement des cases a  cocher, dans ce cas la, on a une table de jointure entre la table
31
		// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
67
		// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
32
		// dans le template, à la place d'un nom de champs dans 'nom_bdd', on a un nom de table
68
		// dans le template, a la place d'un nom de champs dans 'nom_bdd', on a un nom de table
33
		// et 2 noms de champs séparés par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
69
		// et 2 noms de champs separes par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
34
		if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
70
		if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
35
			$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
71
			$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
36
			$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
72
			$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
37
			$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
73
			$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
Line 40... Line 76...
40
		$nblignes++;
76
		$nblignes++;
41
	}
77
	}
42
	return $tableau;
78
	return $tableau;
43
}
79
}
Line -... Line 80...
-
 
80
 
-
 
81
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
44
 
82
 
45
/** liste() - Ajoute un élément de type liste au formulaire
83
/** liste() - Ajoute un élément de type liste au formulaire
46
*
84
*
47
* @param    mixed   L'objet QuickForm du formulaire
85
* @param    mixed   L'objet QuickForm du formulaire
48
* @param    int     identifiant de la liste sur bazar_liste
86
* @param    int     identifiant de la liste sur bazar_liste
Line 51... Line 89...
51
* @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
52
* @param    string  valeur par défaut du formulaire
90
* @param    string  valeur par défaut du formulaire
53
* @param    string  table source pour les valeurs de la liste
91
* @param    string  table source pour les valeurs de la liste
54
* @param    string  ce champs est il obligatoire? (required)
92
* @param    string  ce champs est il obligatoire? (required)
55
* @param    boolean sommes nous dans le moteur de recherche?
93
* @param    boolean sommes nous dans le moteur de recherche?
-
 
94
* @param string le nom de l appli, ou le nom du repertoire de l appli
56
* @return   void
95
* @return   void
57
*/
96
*/
58
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
97
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source,
-
 
98
					 $obligatoire, $dans_moteur_de_recherche=0,$appli = 'bazar') {
-
 
99
	
-
 
100
	// Deux cas, soit avec la table xxx_liste et xxx_liste_valeurs
-
 
101
	// soit avec les champs source et colonne identifiant
-
 
102
	
-
 
103
	// Le nom de l appli permet de retrouver le nom de la table liste
-
 
104
	// ex : bazar => bazar_liste_valeurs
-
 
105
	// pour le nom des champs, on utilise la premiere lettre du nom de l appli
-
 
106
	// bazar => b
-
 
107
	if (is_int($id_liste)) {
-
 
108
		$l = $appli[0];
59
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
109
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
-
 
110
					' AND '.$l.'lv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
-
 
111
		$nom_liste = 'liste'.$id_liste;
-
 
112
		
-
 
113
	} else {
-
 
114
		list ($table, $col_id, $col_label, $col_langue, $langue) = explode (',', $source);
-
 
115
		$requete = 'select "", '.$col_id.', '.$col_label.' from '.$table;
-
 
116
		if (isset($col_langue)) $requete .= ' where '.$col_langue.'="'.$langue.'"';
-
 
117
		$nom_liste = $id_liste;
-
 
118
	}
-
 
119
	
60
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
120
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
61
	if (DB::isError ($resultat)) {
121
	if (DB::isError ($resultat)) {
62
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
122
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
63
	}
123
	}
64
	if ($dans_moteur_de_recherche==0) {
124
	if ($dans_moteur_de_recherche==0) {
Line 66... Line 126...
66
	}
126
	}
67
	else {
127
	else {
68
		$select[0]=BAZ_INDIFFERENT;
128
		$select[0]=BAZ_INDIFFERENT;
69
	}
129
	}
70
	while ($ligne = $resultat->fetchRow()) {
130
	while ($ligne = $resultat->fetchRow()) {
71
		$select[$ligne[1]] = $ligne[2] ;
131
		$select[$ligne[1]] = $ligne[2] ;		
72
	}
132
	}
73
	$option=array('style'=>'width: '.$limite1.'px;');
133
	$option = array('id' => $nom_liste);
74
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
134
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
75
	$select= new HTML_QuickForm_select('liste'.$id_liste, $label, $select, $option);
135
	$select= new HTML_QuickForm_select($nom_liste, $label, $select, $option);
76
	$select->setSize($limite2);
136
	if ($limite2 != '') $select->setSize($limite2); 
77
	$select->setMultiple(0);
137
	$select->setMultiple(0);
78
	$select->setSelected($defaut);
138
	$select->setSelected($defaut);
79
	$formtemplate->addElement($select) ;
139
	$formtemplate->addElement($select) ;
80
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
140
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
81
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
141
		$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
Line 93... Line 153...
93
* @param    string  valeur par défaut du formulaire
153
* @param    string  valeur par défaut du formulaire
94
* @param    string  table source pour les valeurs de la liste
154
* @param    string  table source pour les valeurs de la liste
95
* @param    string  ce champs est il obligatoire? (required)
155
* @param    string  ce champs est il obligatoire? (required)
96
* @return   void
156
* @return   void
97
*/
157
*/
98
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
158
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, 
-
 
159
						$source, $obligatoire, $dans_moteur_de_recherche=0, $appli = 'bazar') {
-
 
160
	if (is_int ($id_liste)) {
-
 
161
	 	$l = $appli[0];
-
 
162
		$requete = 'SELECT * FROM '.$appli.'_liste_valeurs WHERE '.$l.'lv_ce_liste='.$id_liste.
99
	$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER BY blv_label';
163
					' AND '.$l.'lv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER BY '.$l.'lv_label';
100
	$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
164
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
101
	if (DB::isError ($resultat)) {
165
		if (DB::isError ($resultat)) {
102
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
166
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
103
	}
167
		}		
104
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
168
		require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
105
	$i=0;
169
		$i=0;
106
	if (isset($defaut)) $tab=split(', ', $defaut);
170
		if (isset($defaut)) $tab=split(', ', $defaut);
107
	while ($ligne = $resultat->fetchRow()) {
171
		while ($ligne = $resultat->fetchRow()) {
108
		if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
172
			if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
109
		$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2],
173
			$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2], 
110
						array ('style'=>'display:inline;margin:2px;')) ;
174
							array ('style'=>'display:inline;margin:2px;')) ;		
111
		foreach ($tab as $val) {
175
			foreach ($tab as $val) {
112
            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);
176
	            if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);			        
113
        }
177
	        }			
114
		$i++;
178
			$i++;
115
	}
179
		}
116
	$squelette_checkbox =& $formtemplate->defaultRenderer();
180
		$squelette_checkbox =& $formtemplate->defaultRenderer();
117
	$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
181
		$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
118
                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
182
	                                             '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
119
											 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
183
												 '</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
120
  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
184
	  	$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
121
 
185
		
122
	$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
186
		$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
123
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
187
		if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
124
		$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
188
			$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
-
 
189
		}		
-
 
190
	} else {
-
 
191
		$checkbox = & HTML_Quickform::createElement('checkbox', $id_liste, $label);
-
 
192
		if ($defaut == 1) $checkbox->setChecked(true);
-
 
193
		$formtemplate->addElement($checkbox);
-
 
194
		
125
	}
195
	}
-
 
196
	
126
}
197
}
Line 127... Line 198...
127
 
198
 
128
 
199
 
Line 138... Line 209...
138
* @param    string  ce champs est il obligatoire? (required)
209
* @param    string  ce champs est il obligatoire? (required)
139
* @return   void
210
* @return   void
140
*/
211
*/
141
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
212
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
142
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
213
	$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
143
						'minYear' => date('Y'),
214
						'minYear' => date('Y')-4,
144
						'maxYear'=> (date('Y')+10),
215
						'maxYear'=> (date('Y')+10),
145
						'format' => 'd m Y',
216
						'format' => 'd m Y',
146
						'addEmptyOption' => BAZ_DATE_VIDE,
217
						'addEmptyOption' => BAZ_DATE_VIDE,
147
						);
218
						);
148
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
219
	$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
149
	//gestion des valeurs par défaut (date du jour)
220
	//gestion des valeurs par défaut (date du jour)	
150
	if (isset($defaut) && $defaut!='') $formtemplate->setDefaults(array($nom_bdd => $defaut));
221
	if (isset($defaut) && $defaut!='') {
-
 
222
		$tableau_date = explode ('-', $defaut);
-
 
223
		$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
-
 
224
	}
-
 
225
	
151
	else {
226
	else {
152
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
227
		$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
153
		$formtemplate->setDefaults($defauts);
228
		$formtemplate->setDefaults($defauts);
154
	}
229
	}
155
	//gestion du champs obligatoire
230
	//gestion du champs obligatoire
Line 186... Line 261...
186
* @param    string  table source pour les valeurs du texte (inutile)
261
* @param    string  table source pour les valeurs du texte (inutile)
187
* @param    string  ce champs est il obligatoire? (required)
262
* @param    string  ce champs est il obligatoire? (required)
188
* @return   void
263
* @return   void
189
*/
264
*/
190
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
265
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
191
	$option=array('size'=>$limite1,'maxlength'=>$limite2);
266
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
-
 
267
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
-
 
268
	//gestion des valeurs par défaut
-
 
269
	$defauts=array($nom_bdd=>$defaut);
-
 
270
	$formtemplate->setDefaults($defauts);
-
 
271
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
-
 
272
	//gestion du champs obligatoire
-
 
273
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
-
 
274
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
-
 
275
	}
-
 
276
}
-
 
277
 
-
 
278
/** champs_mail() - Ajoute un élément de type mail
-
 
279
*
-
 
280
* @param    mixed   L'objet QuickForm du formulaire
-
 
281
* @param    string  nom de la table dans la base de donnée
-
 
282
* @param    string  label à afficher dans le formulaire
-
 
283
* @param    string  première restriction de la taille des champs du formulaire
-
 
284
* @param    string  deuxième restriction de la taille des champs du formulaire
-
 
285
* @param    string  valeur par défaut du formulaire
-
 
286
* @param    string  table source pour les valeurs du texte (inutile)
-
 
287
* @param    string  ce champs est il obligatoire? (required)
-
 
288
* @return   void
-
 
289
*/
-
 
290
function champs_mail(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
-
 
291
	$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
192
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
292
	$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
193
	//gestion des valeurs par défaut
293
	//gestion des valeurs par défaut
194
	$defauts=array($nom_bdd=>$defaut);
294
	$defauts=array($nom_bdd=>$defaut);
195
	$formtemplate->setDefaults($defauts);
295
	$formtemplate->setDefaults($defauts);
196
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
296
	$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
-
 
297
	$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
-
 
298
	$formtemplate->addRule($nom_bdd, INS_MAIL_INCORRECT, 'email', '', 'client') ; 
197
	//gestion du champs obligatoire
299
	//gestion du champs obligatoire
198
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
300
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
199
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
301
		$formtemplate->addRule($nom_bdd,  $label.' obligatoire', 'required', '', 'client') ;
200
	}
302
	}
-
 
303
	$formtemplate->registerRule('doublonmail', 'callback', 'inscription_verif_doublonMail');
-
 
304
	$formtemplate->addRule($nom_bdd, INS_MAIL_DOUBLE, 'doublonmail');
-
 
305
}
-
 
306
 
-
 
307
function mot_de_passe (&$formtemplate, $nom_bdd , $label1, $limite1, $limite2, $erreur1, $label2, $obligatoire) {
-
 
308
	$formtemplate->addElement('password', 'mot_de_passe', $label1, array('size' => $limite1)) ;
-
 
309
    $formtemplate->addElement('password', 'mot_de_passe_repete', $label2, array('size' => $limite1)) ;
-
 
310
    $formtemplate->addRule('mot_de_passe', $erreur1, 'required', '', 'client') ;
-
 
311
    $formtemplate->addRule('mot_de_passe_repete', $erreur1, 'required', '', 'client') ;
-
 
312
    $formtemplate->addRule(array ('mot_de_passe', 'mot_de_passe_repete'), $erreur1, 'compare', '', 'client') ;
201
}
313
}
Line 202... Line 314...
202
 
314
 
203
 
315
 
Line 212... Line 324...
212
* @param    string  table source pour les valeurs du texte (inutile)
324
* @param    string  table source pour les valeurs du texte (inutile)
213
* @param    string  ce champs est il obligatoire? (required)
325
* @param    string  ce champs est il obligatoire? (required)
214
* @return   void
326
* @return   void
215
*/
327
*/
216
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
328
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
217
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;'));
329
	$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;', 'id' => $nom_bdd));
218
	$formtexte->setCols($limite1);
330
	$formtexte->setCols($limite1);
219
	$formtexte->setRows($limite2);
331
	$formtexte->setRows($limite2);
220
	$formtemplate->addElement($formtexte) ;
332
	$formtemplate->addElement($formtexte) ;
221
	//gestion des valeurs par défaut
333
	//gestion des valeurs par défaut
222
	$defauts=array($nom_bdd=>$defaut);
334
	$defauts=array($nom_bdd=>$defaut);
Line 254... Line 366...
254
			$tableAttr = array("class" => "bazar_table") ;
366
			$tableAttr = array("class" => "bazar_table") ;
255
			$table = new HTML_Table($tableAttr) ;
367
			$table = new HTML_Table($tableAttr) ;
256
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
368
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
257
			$table->addRow($entete) ;
369
			$table->addRow($entete) ;
258
			$table->setRowType(0, "th") ;
370
			$table->setRowType(0, "th") ;
259
 
371
		
260
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
372
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
261
			$lien_supprimer->addQueryString('action', $_GET['action']);
373
			$lien_supprimer->addQueryString('action', $_GET['action']);
262
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
374
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
263
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
375
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
264
 
376
				
265
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
377
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
266
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
378
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
267
				$table->addRow (array(
379
				$table->addRow (array(
268
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
380
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
269
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
381
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
270
				$lien_supprimer->removeQueryString('id_url');
382
				$lien_supprimer->removeQueryString('id_url');
271
			}
383
			}
-
 
384
 
-
 
385
			// Nettoyage de l'url
-
 
386
			$lien_supprimer->removeQueryString('action');
-
 
387
			$lien_supprimer->removeQueryString('id_fiche');
-
 
388
			$lien_supprimer->removeQueryString('typeannonce');
-
 
389
			
272
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
390
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
273
			$table->updateColAttributes(1, array("align" => "center"));
391
			$table->updateColAttributes(1, array("align" => "center"));
274
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
392
			$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
275
		}
393
		}
276
	}
394
	}		
277
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
395
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
278
	$formtemplate->addElement('html', $html) ;
396
	$formtemplate->addElement('html', $html) ;
279
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
397
	if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
280
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
398
	$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
281
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
399
	$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
282
	//gestion du champs obligatoire
400
	//gestion du champs obligatoire
283
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
401
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
284
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
402
		$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
285
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
403
		$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
286
	}
404
	}
287
}
405
}		
Line 288... Line 406...
288
 
406
 
289
/** fichier() - Ajoute un élément de type fichier au formulaire
407
/** fichier() - Ajoute un élément de type fichier au formulaire
290
*
408
*
291
* @param    mixed   L'objet QuickForm du formulaire
409
* @param    mixed   L'objet QuickForm du formulaire
Line 305... Line 423...
305
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
423
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
306
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
424
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
307
		if (DB::isError ($resultat)) {
425
		if (DB::isError ($resultat)) {
308
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
426
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
309
		}
427
		}
310
 
428
		
311
		if ($resultat->numRows()>0) {
429
		if ($resultat->numRows()>0) {
312
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
430
			$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
313
			$tableAttr = array("class" => "bazar_table") ;
431
			$tableAttr = array("class" => "bazar_table") ;
314
			$table = new HTML_Table($tableAttr) ;
432
			$table = new HTML_Table($tableAttr) ;
315
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
433
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
316
			$table->addRow($entete) ;
434
			$table->addRow($entete) ;
317
			$table->setRowType(0, "th") ;
435
			$table->setRowType(0, "th") ;
318
 
436
			
319
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
437
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
320
			$lien_supprimer->addQueryString('action', $_GET['action']);
438
			$lien_supprimer->addQueryString('action', $_GET['action']);
321
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
439
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
322
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
440
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
323
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
441
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
Line 341... Line 459...
341
	//gestion du champs obligatoire
459
	//gestion du champs obligatoire
342
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
460
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
343
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
461
		$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
344
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
462
		$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
345
	}
463
	}
346
}
464
}		
Line 347... Line 465...
347
 
465
 
348
/** image() - Ajoute un élément de type image au formulaire
466
/** image() - Ajoute un élément de type image au formulaire
349
*
467
*
350
* @param    mixed   L'objet QuickForm du formulaire
468
* @param    mixed   L'objet QuickForm du formulaire
Line 364... Line 482...
364
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
482
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
365
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
483
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
366
		if (DB::isError ($resultat)) {
484
		if (DB::isError ($resultat)) {
367
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
485
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
368
		}
486
		}
369
 
487
		
370
		if ($resultat->numRows()>0) {
488
		if ($resultat->numRows()>0) {
371
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
489
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
372
				$image=$ligne->bf_url_image;
490
				$image=$ligne->bf_url_image;
373
			}
491
			}
374
			if ($image!=NULL) {
492
			if ($image!=NULL) {
Line 380... Line 498...
380
				$html_image = '<tr>'."\n".
498
				$html_image = '<tr>'."\n".
381
							  '<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
499
							  '<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
382
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
500
							  '<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
383
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
501
							  '<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
384
			}
502
			}
385
		}
503
		}		
386
	}
504
	}	
387
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
505
	$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
388
	$formtemplate->addElement('html', $html) ;
506
	$formtemplate->addElement('html', $html) ;
389
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
507
	if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
390
	$formtemplate->addElement('file', 'image', BAZ_IMAGE) ;
508
	$formtemplate->addElement('file', 'image', BAZ_IMAGE) ;
391
	//TODO: controler si c'est une image
509
	//TODO: controler si c'est une image
392
	$formtemplate->setMaxFileSize($limite1);
510
	$formtemplate->setMaxFileSize($limite1);
393
	//gestion du champs obligatoire
511
	//gestion du champs obligatoire
394
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
512
	if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
395
		$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
513
		$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
396
	}
514
	}
397
}
515
}		
Line -... Line 516...
-
 
516
 
-
 
517
/** image_unique() - Ajoute un élément de type image au formulaire, l information est stockee dans un champs
-
 
518
*
-
 
519
* @param    mixed   L'objet QuickForm du formulaire
-
 
520
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
-
 
521
* @param    string  label à afficher dans le formulaire
-
 
522
* @param    string  taille maximum du fichier colonnes de l'élément
-
 
523
* @param    string  taille des lignes de l'élément
-
 
524
* @param    string  valeur par défaut du formulaire
-
 
525
* @param    string  table source pour les valeurs du texte (inutile)
-
 
526
* @param    string  ce champs est il obligatoire? (required)
-
 
527
* @return   void
-
 
528
*/
-
 
529
function image_unique(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
-
 
530
	$formtemplate->addElement ('file', $nom_bdd, $label);
-
 
531
	$formtemplate->setMaxFileSize($limite1);
398
 
532
}	
399
/** wikini() - Ajoute un wikini au formulaire
533
/** wikini() - Ajoute un wikini au formulaire
400
*
534
*
401
* @param    mixed   L'objet QuickForm du formulaire
535
* @param    mixed   L'objet QuickForm du formulaire
402
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
536
* @param    string  numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
Line 424... Line 558...
424
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
558
* @param    string  ce champs est il obligatoire? (required) (pas utilisé)
425
* @return   void
559
* @return   void
426
*/
560
*/
427
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
561
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
428
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
562
	require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
429
	$formhtml= new HTML_QuickForm_html('<p class="formulaire_element">'.$label.'</p>'."\n");
563
	$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
430
	$formtemplate->addElement($formhtml) ;
564
	$formtemplate->addElement($formhtml) ;
431
}
565
}
Line -... Line 566...
-
 
566
 
-
 
567
/** carte_google() - Ajoute un élément de carte google au formulaire
-
 
568
*
-
 
569
* @param    mixed   L'objet QuickForm du formulaire
-
 
570
* @param    string  l url vers la script google
-
 
571
* @param    string  label à afficher dans le formulaire
-
 
572
* @param    string  première restriction de la taille des champs du formulaire
-
 
573
* @param    string  deuxième restriction de la taille des champs du formulaire
-
 
574
* @param    string  valeur par défaut du formulaire
-
 
575
* @param    string  table source pour les valeurs de la liste
-
 
576
* @param    string  ce champs est il obligatoire? (required)
-
 
577
* @param    boolean sommes nous dans le moteur de recherche?
-
 
578
* @return   void
-
 
579
*/
432
 
580
function carte_google(&$formtemplate, $url_google_script , $label, $champs_latitude, $champs_longitude, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
-
 
581
	
-
 
582
	if (is_array ($defaut)) {
-
 
583
    	$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
-
 
584
    }
-
 
585
	
-
 
586
	GEN_stockerFichierScript('googleMapScript', $url_google_script);
-
 
587
        	
-
 
588
	$formtemplate->addElement('button', 'chercher_sur_carte', 'Vérifier mon adresse avec la carte', array("onclick" => "showAddress();"));
-
 
589
    $formtemplate->addElement('text', 'latitude', 'Latitude', array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
-
 
590
    $formtemplate->addElement('text', 'longitude', 'longitude', array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
-
 
591
    $formtemplate->addElement('html', '<tr><td colspan="2"><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
-
 
592
    /*
-
 
593
    include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
-
 
594
    GEN_stockerCodeScript($script);*/
-
 
595
}
-
 
596
 
-
 
597
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
598
*
-
 
599
* $Log$
-
 
600
* 
-
 
601
* +-- Fin du code ----------------------------------------------------------------------------------------+
433
 
602
*/