Subversion Repositories Applications.bazar

Rev

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

Rev 44 Rev 45
Line 17... Line 17...
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.php,v 1.14 2005-11-07 08:48:02 florian Exp $
22
// CVS : $Id: bazar.fonct.php,v 1.15 2005-11-07 17:05:45 florian Exp $
23
/**
23
/**
24
*
24
*
25
* Fonctions du module bazar
25
* Fonctions du module bazar
26
*
26
*
27
*@package bazar
27
*@package bazar
28
//Auteur original :
28
//Auteur original :
29
*@author        Alexandre Granier <alexandre@tela-botanica.org>
29
*@author        Alexandre Granier <alexandre@tela-botanica.org>
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
*@copyright     Tela-Botanica 2000-2004
32
*@copyright     Tela-Botanica 2000-2004
33
*@version       $Revision: 1.14 $ $Date: 2005-11-07 08:48:02 $
33
*@version       $Revision: 1.15 $ $Date: 2005-11-07 17:05:45 $
34
// +------------------------------------------------------------------------------------------------------+
34
// +------------------------------------------------------------------------------------------------------+
35
*/
35
*/
Line 36... Line 36...
36
 
36
 
37
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
Line 241... Line 241...
241
* @param   mixed objet quickform du formulaire
241
* @param   mixed objet quickform du formulaire
242
*
242
*
243
* @return   string  code HTML avec formulaire
243
* @return   string  code HTML avec formulaire
244
*/
244
*/
245
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
245
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
246
	//vérification de la modification des fichiers, des url ou des images
246
	//verification de la modification des fichiers, des url ou des images
247
	if (isset($_GET['url'])) {
247
	if (isset($_GET['url'])) {
248
		if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
248
		if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
249
		if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
249
		if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
250
	}
250
	}
251
	if (isset($_GET['fichier'])) {
251
	if (isset($_GET['fichier'])) {
Line 257... Line 257...
257
		if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
257
		if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
258
	}
258
	}
Line 259... Line 259...
259
	
259
	
260
	//titre de la rubrique
260
	//titre de la rubrique
-
 
261
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
-
 
262
	//Ajout des boutons
-
 
263
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, '&nbsp;');
-
 
264
	//Traduction de champs requis
Line 261... Line -...
261
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
-
 
262
	
-
 
263
	//Parcours du fichier de templates, pour mettre les champs spécifiques
-
 
264
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
-
 
265
	for ($i=0; $i<count($tableau); $i++) {
-
 
266
		$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
267
		                     $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		
-
 
268
	}
265
	$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
269
	
266
	
270
	//ajout des conditions pour l'annonce si elles existent
267
	//ajout d'une page sur les conditions pour l'annonce si elles existent
271
	$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
268
	$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
272
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
269
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
273
	if (DB::isError($resultat)) {
270
	if (DB::isError($resultat)) {
274
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
271
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
272
	}
275
	}
273
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
-
 
274
	if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
-
 
275
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
276
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
276
		$lien_formulaire->addQueryString('action', $_REQUEST['action']);
277
		if ($ligne['bn_condition']!='') {
277
		$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
-
 
278
		require_once 'HTML/QuickForm/html.php';
-
 
279
		$conditions= new HTML_QuickForm_html('<tr><td colspan="2"><p style="padding:4px; margin:5px; width: 100%; background: #C1CBA7;">'.$ligne['bn_condition'].'</p></td></tr>');
278
			require_once 'HTML/QuickForm/html.php';
280
		$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']);
279
			$conditions= new HTML_QuickForm_html('<tr><td colspan="2"><p style="padding:4px; margin:5px; width: 100%; background: #C1CBA7;">'.$ligne['bn_condition'].'</p></td></tr>');
281
		if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']);
280
			$formtemplate->addElement($conditions);
282
		$formtemplate->addElement($conditions);
281
			$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
-
 
-
 
283
		$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
282
			$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
284
		$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
283
		}
-
 
284
	}
-
 
285
	
-
 
286
	//Ajout des boutons
285
		$formtemplate->addGroup($bouton, null, null, '&nbsp;');
287
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, '&nbsp;');
286
	}
288
	$formtemplate->addGroup($bouton, null, null, '&nbsp;');
287
	//affichage du formulaire si conditions acceptées
289
	
288
	else {		
290
	//Traduction de champs requis
-
 
291
	$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
289
	//Parcours du fichier de templates, pour mettre les champs specifiques
292
	
290
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
293
	if ($mode=='modification') {
291
	for ($i=0; $i<count($tableau); $i++) {
294
		//Ajout des valeurs par défaut
292
		$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
295
		$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
-
 
296
	}
-
 
297
	
293
		                     $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		
Line 298... Line 294...
298
	//Affichage à l'écran
294
	}
299
	$res.= $formtemplate->toHTML()."\n";
295
	$formtemplate->addGroup($bouton, null, null, '&nbsp;');
300
	
296
	
Line -... Line 297...
-
 
297
	if ($mode=='modification') {
-
 
298
		//initialisation de la variable globale id_fiche
-
 
299
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
301
	if ($mode=='modification') {
300
		
302
		//initialisation de la variable globale id_fiche
301
		//Ajout des valeurs par defaut
303
		if ($mode=='modification') $GLOBALS['_BAZAR_']['id_fiche'] = $_GET['id_fiche'];
302
		$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
304
		
303
				
305
		//préparation des formulaires supplémentaires
304
		//preparation des formulaires supplementaires
306
		//AJOUTER UNE IMAGE
305
		//AJOUTER UNE IMAGE
Line 323... Line 322...
323
			if ($image!=NULL) {
322
			if ($image!=NULL) {
324
				$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
323
				$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
325
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
324
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
326
				$lien_supprimer->addQueryString('action', $_GET['action']);
325
				$lien_supprimer->addQueryString('action', $_GET['action']);
327
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
326
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
328
				$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
327
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
329
				$lien_supprimer->addQueryString('image', '2');
328
				$lien_supprimer->addQueryString('image', '2');
330
				$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
329
				$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
331
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
330
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
332
				$formimage->addElement('html', $html) ;
331
				$formimage->addElement('html', $html) ;
333
			}
332
			}
Line 365... Line 364...
365
			$table->setRowType(0, "th") ;
364
			$table->setRowType(0, "th") ;
Line 366... Line 365...
366
			
365
			
367
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
366
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
368
			$lien_supprimer->addQueryString('action', $_GET['action']);
367
			$lien_supprimer->addQueryString('action', $_GET['action']);
369
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
368
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
370
			$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
369
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
Line 371... Line 370...
371
			$lien_supprimer->addQueryString('url', '2');
370
			$lien_supprimer->addQueryString('url', '2');
372
			
371
			
373
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
372
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
Line 413... Line 412...
413
			$table->setRowType(0, "th") ;
412
			$table->setRowType(0, "th") ;
Line 414... Line 413...
414
			
413
			
415
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
414
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
416
			$lien_supprimer->addQueryString('action', $_GET['action']);
415
			$lien_supprimer->addQueryString('action', $_GET['action']);
417
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
416
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
418
			$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
417
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
419
			$lien_supprimer->addQueryString('fichier', '2');
418
			$lien_supprimer->addQueryString('fichier', '2');
420
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
419
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
421
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
420
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
422
				$table->addRow (array(				
421
				$table->addRow (array(				
Line 446... Line 445...
446
		$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
445
		$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
447
		$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
446
		$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
Line 448... Line 447...
448
		
447
		
449
		//Ajout de 'http://' comme valeur par default d'une url
448
		//Ajout de 'http://' comme valeur par default d'une url
450
		$formurl->setDefaults(array('url_lien'=>'http://'));
-
 
451
		
449
		$formurl->setDefaults(array('url_lien'=>'http://'));
452
		//Bouton de validation du formulaire
450
		//Bouton de validation du formulaire
453
		$formurl->addGroup($bouton, null, null, '');
451
		$formurl->addGroup($bouton, null, null, '');
454
		$formfichiers->addGroup($bouton, null, null, '');
-
 
455
		
-
 
456
		//Affichage à l'écran
-
 
457
		$res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
452
		$formfichiers->addGroup($bouton, null, null, '');
-
 
453
	}
-
 
454
	}
-
 
455
	//Affichage a l'ecran
-
 
456
	$res .= $formtemplate->toHTML()."\n";
-
 
457
	if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
458
	}
458
	
459
	return $res;
459
	return $res;
Line 460... Line 460...
460
}
460
}
Line 466... Line 466...
466
*
466
*
467
* @return   string  HTML
467
* @return   string  HTML
468
*/
468
*/
469
function baz_formulaire($mode = 'inscription') {
469
function baz_formulaire($mode = 'inscription') {
470
	if ($GLOBALS['AUTH']->getAuth()) {
470
	if ($GLOBALS['AUTH']->getAuth()) {
471
	//Récupérer les éventuelles variables passées en GET ou en POST
471
	//Recuperer les eventuelles variables passees en GET ou en POST
472
	if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
472
	if (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
473
	if (isset($_REQUEST['typeannonce'])) {
473
	if (isset($_REQUEST['typeannonce'])) {
474
		$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
474
		$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
475
		// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
475
		// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
476
		// Clique sur son bouton précédent
476
		// Clique sur son bouton précédent
Line 488... Line 488...
488
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
488
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
489
			$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
489
			$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
490
		}
490
		}
491
	}
491
	}
492
	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
492
	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
493
	//Définir le lien du formulaire en fonction du mode de formulaire choisi
493
	//Definir le lien du formulaire en fonction du mode de formulaire choisi
494
	if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
494
	if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
495
	if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
495
	if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
496
	if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
496
	if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
497
	if ($mode == BAZ_ACTION_MODIFIER) {
497
	if ($mode == BAZ_ACTION_MODIFIER) {
498
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
498
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
Line 1331... Line 1331...
1331
}
1331
}
Line 1332... Line 1332...
1332
 
1332
 
1333
/* +--Fin du code ----------------------------------------------------------------------------------------+
1333
/* +--Fin du code ----------------------------------------------------------------------------------------+
1334
*
1334
*
-
 
1335
* $Log: not supported by cvs2svn $
-
 
1336
* Revision 1.14  2005/11/07 08:48:02  florian
-
 
1337
* correction pb guillemets pour saisie et modif de fiche
1335
* $Log: not supported by cvs2svn $
1338
*
1336
* Revision 1.13  2005/10/21 16:15:04  florian
1339
* Revision 1.13  2005/10/21 16:15:04  florian
1337
* mise a jour appropriation
1340
* mise a jour appropriation
1338
*
1341
*
1339
* Revision 1.11  2005/10/12 17:20:33  ddelon
1342
* Revision 1.11  2005/10/12 17:20:33  ddelon