Subversion Repositories Applications.bazar

Rev

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

Rev 111 Rev 118
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.46 2006-03-29 13:04:35 alexandre_tb Exp $
22
// CVS : $Id: bazar.fonct.php,v 1.47 2006-04-28 12:46:14 florian Exp $
23
/**
23
/**
24
*
24
*
25
* Fonctions du module bazar
25
* Fonctions du module bazar
26
* 
26
* 
27
*
27
*
Line 29... Line 29...
29
//Auteur original :
29
//Auteur original :
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
31
*@author        Florian Schmitt <florian@ecole-et-nature.org>
31
*@author        Florian Schmitt <florian@ecole-et-nature.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision: 1.46 $ $Date: 2006-03-29 13:04:35 $
34
*@version       $Revision: 1.47 $ $Date: 2006-04-28 12:46:14 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTETE du PROGRAMME                                       |
39
// |                                            ENTETE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
41
require_once 'HTML/QuickForm.php' ;
41
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
42
require_once 'HTML/QuickForm/checkbox.php' ;
42
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
43
require_once 'HTML/QuickForm/textarea.php' ;
43
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php' ;
44
require_once 'HTML/Table.php' ;
44
require_once PAP_CHEMIN_API_PEAR.'HTML/Table.php' ;
45
require_once 'bazar.fonct.formulaire.php';
45
require_once 'bazar.fonct.formulaire.php';
Line 46... Line 46...
46
require_once 'bazar.fonct.rss.php';
46
require_once 'bazar.fonct.rss.php';
47
 
47
 
Line 142... Line 142...
142
		$table->updateColAttributes(3, array("align" => "center"));
142
		$table->updateColAttributes(3, array("align" => "center"));
143
		$table->updateColAttributes(4, array("align" => "center"));
143
		$table->updateColAttributes(4, array("align" => "center"));
144
		$res .= $table->toHTML() ;
144
		$res .= $table->toHTML() ;
145
	}
145
	}
146
	else {
146
	else {
147
		$res .= BAZ_PAS_DE_FICHE_A_VALIDER ;
147
		$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE_A_VALIDER.'</p>'."\n" ;
148
	}
148
	}
Line 149... Line 149...
149
	
149
	
150
	return $res;
150
	return $res;
Line 210... Line 210...
210
		$table->updateColAttributes(3, array("align" => "center"));
210
		$table->updateColAttributes(3, array("align" => "center"));
211
		$table->updateColAttributes(4, array("align" => "center"));
211
		$table->updateColAttributes(4, array("align" => "center"));
212
		$res .= $table->toHTML() ;
212
		$res .= $table->toHTML() ;
213
		}
213
		}
214
	    else {
214
	    else {
215
	    	$res .= BAZ_PAS_DE_FICHE ;
215
	    	$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE.'</p>'."\n" ;
216
	    }
216
	    }
217
	}
217
	}
218
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
218
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
219
	return $res;
219
	return $res;
220
}
220
}
Line 221... Line -...
221
 
-
 
222
 
-
 
223
/** baz_administrer_annonces() interface de modification de type d'annonces
-
 
224
*
-
 
225
*   return  string le code HTML
-
 
226
*/
-
 
227
function baz_administrer_annonces() {
-
 
228
	$res= '<h2>'.BAZ_ADMIN_ANNONCES.'</h2>'."\n";
-
 
229
	return $res;
-
 
230
}
-
 
231
 
221
 
232
/** baz_gestion_droits() interface de gestion des droits
222
/** baz_gestion_droits() interface de gestion des droits
233
*
223
*
234
*   return  string le code HTML
224
*   return  string le code HTML
235
*/
225
*/
Line 416... Line 406...
416
* 			l'annonce, soit choix du type d'annonce)
406
* 			l'annonce, soit choix du type d'annonce)
417
*
407
*
418
* @return   string  HTML
408
* @return   string  HTML
419
*/
409
*/
420
function baz_formulaire($mode) {
410
function baz_formulaire($mode) {
-
 
411
	$res = '';
421
	if ($GLOBALS['AUTH']->getAuth()) {
412
	if ($GLOBALS['AUTH']->getAuth()) {
422
       	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
413
       	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
Line 423... Line 414...
423
		
414
		
424
		//Definir le lien du formulaire en fonction du mode de formulaire choisi
415
		//Definir le lien du formulaire en fonction du mode de formulaire choisi
Line 449... Line 440...
449
		}
440
		}
Line 450... Line 441...
450
	
441
	
451
		//contruction du squelette du formulaire
442
		//contruction du squelette du formulaire
452
		$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
443
		$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
453
		$squelette =& $formtemplate->defaultRenderer();
444
		$squelette =& $formtemplate->defaultRenderer();
454
   		$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
445
   		$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
455
    		$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:150px;text-align:right;">'."\n".'{label} :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
446
    		$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:120px;text-align:right;">'."\n".'{label}'.
-
 
447
    		                        '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
456
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
448
    								' :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
457
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
449
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
458
                                    '</td>'."\n".'</tr>'."\n");
450
                                    '</td>'."\n".'</tr>'."\n");
459
 	  	$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
451
 	  	$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
460
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
452
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
-
 
453
  	  	$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
461
  	  	$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
454
  	  	
462
 	   	$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
455
 	   	$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
463
		//Traduction de champs requis
456
		//Traduction de champs requis
464
		$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
457
		$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
Line 465... Line 458...
465
		$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
458
		$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
466
    
459
    
467
		//------------------------------------------------------------------------------------------------
460
		//------------------------------------------------------------------------------------------------
468
		//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
461
		//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
469
		//------------------------------------------------------------------------------------------------
462
		//------------------------------------------------------------------------------------------------
470
		if ($mode == BAZ_DEPOSER_ANNONCE) {
463
		if ($mode == BAZ_DEPOSER_ANNONCE) {
471
			$res = '';		
-
 
472
			//requete pour obtenir le nom et la description des types d'annonce
464
			$res = '';	
473
			$requete = "SELECT bn_id_nature, bn_label_nature, bn_description, bn_condition, bn_image_titre ".
-
 
474
						"FROM bazar_nature WHERE bn_ce_id_menu=".$GLOBALS['_BAZAR_']['categorie_nature'].
465
			//requete pour obtenir le nom et la description des types d'annonce
475
						" ORDER BY bn_label_nature ASC";
466
			$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' ORDER BY bn_label_nature ASC';
476
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
467
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
477
			if (DB::isError($resultat)) {
468
			if (DB::isError($resultat)) {
478
				die ($resultat->getMessage().$resultat->getDebugInfo()) ;
469
				die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
470
			}
-
 
471
			$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n";
-
 
472
			if ($resultat->numRows()==1) {
-
 
473
				$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC);
-
 
474
				$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
-
 
475
				$GLOBALS['_BAZAR_']['typeannonce']=$ligne['bn_label_nature'];
-
 
476
				$GLOBALS['_BAZAR_']['condition']=$ligne['bn_condition'];
-
 
477
    			$GLOBALS['_BAZAR_']['template']=$ligne['bn_template'];
-
 
478
				$GLOBALS['_BAZAR_']['commentaire']=$ligne['bn_commentaire'];
-
 
479
				$GLOBALS['_BAZAR_']['appropriation']=$ligne['bn_appropriation'];
-
 
480
				$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre'];
-
 
481
				$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];	
479
			}
482
				$mode = BAZ_ACTION_NOUVEAU;				
480
			$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n";
483
			} else {
481
			$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n";
484
				$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n";
482
			while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
485
				while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
483
				$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]);
486
					$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]);
484
				if (($droitspers=='redacteur') or ($droitspers=='administrateur') 
487
					if (($droitspers=='redacteur') or ($droitspers=='administrateur') 
485
								or ($droitspers=='superadministrateur' or !BAZ_RESTREINDRE_DEPOT)) {
488
									or ($droitspers=='superadministrateur' or !BAZ_RESTREINDRE_DEPOT)) {
486
					if ($ligne['bn_image_titre']!='') {
489
						if ($ligne['bn_image_titre']!='') {
487
						$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.
490
							$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.
488
										constant($ligne['bn_label_nature']).'" />'.'<br />'."\n";
491
											constant($ligne['bn_label_nature']).'" />'.'<br />'."\n";
489
					} else {
492
						} else {
490
						$titre='<h3>'.$ligne['bn_label_nature'].' : </h3>'."\n";
493
							$titre='<h3>'.$ligne['bn_label_nature'].' : </h3>'."\n";
491
					}
494
						}
492
					$formtemplate->addElement('radio', 'typeannonce', '', 
495
						$formtemplate->addElement('radio', 'typeannonce', '', 
493
							$titre.$ligne['bn_description'].'<br /><br />'."\n", 
496
								$titre.$ligne['bn_description'].'<br /><br />'."\n", 
-
 
497
								$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'], 
494
							$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'], 
498
								"style" => 'float:left;'));
-
 
499
					}		
-
 
500
				}
-
 
501
				$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
-
 
502
			
-
 
503
				//Mettre les annonces en choix par defaut
-
 
504
				$formtemplate->setdefaults(array('typeannonce'=>'1'));
-
 
505
			
-
 
506
				//Bouton de validation du formulaire
-
 
507
				$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
-
 
508
			
495
							"style" => 'float:left;'));
509
				//Affichage a l'ecran
496
				}		
-
 
497
			}
-
 
498
			$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
-
 
499
		
-
 
500
			//Mettre les annonces en choix par defaut
-
 
501
			$formtemplate->setdefaults(array('typeannonce'=>'1'));
-
 
502
		
-
 
503
			//Bouton de validation du formulaire
-
 
504
			$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
-
 
505
		
-
 
506
			//Affichage a l'ecran
510
				$res.= $formtemplate->toHTML()."\n".'<br />'."\n".mes_fiches(); ;	
Line 507... Line 511...
507
			$res.= $formtemplate->toHTML()."\n".'<br />'."\n".mes_fiches(); ;
511
			}
508
		}
512
		}
509
	
513
	
Line 541... Line 545...
541
				$formtemplate->process('baz_mise_a_jour', false) ;
545
				$formtemplate->process('baz_mise_a_jour', false) ;
542
				return ;
546
				return ;
543
			}
547
			}
544
		}
548
		}
545
    }
549
    }
-
 
550
	else {
-
 
551
		$res .= '<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2><br />'."\n";
546
	else $res = BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
552
		$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ;
-
 
553
	}
547
	return $res;
554
	return $res;
548
}
555
}
Line 549... Line -...
549
 
-
 
550
 
556
 
551
/** baz_afficher_formulaire_annonce() - Genere le formulaire de saisie d'une annonce
557
/** baz_afficher_formulaire_annonce() - Genere le formulaire de saisie d'une annonce
552
*
558
*
553
* @param   string type de formulaire: insertion ou modification
559
* @param   string type de formulaire: insertion ou modification
554
* @param   mixed objet quickform du formulaire
560
* @param   mixed objet quickform du formulaire
555
*
561
*
556
* @return   string  code HTML avec formulaire
562
* @return   string  code HTML avec formulaire
557
*/
563
*/
-
 
564
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
-
 
565
	if ($mode=='modification') {
-
 
566
		//initialisation de la variable globale id_fiche
-
 
567
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
558
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
568
	
559
	//verification de la modification des fichiers, des url ou des images
569
		//suppression eventuelle d'une url, d'un fichier ou d'une image
560
	if (isset($_GET['url'])) {
-
 
561
		if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
570
		if (isset($_GET['id_url'])) {
562
		if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
571
			baz_suppression_url($_GET['id_url']);
563
	}
572
		}
564
	if (isset($_GET['fichier'])) {
-
 
565
		if ($_GET['fichier']==1) baz_insertion_fichier($_POST['fichier_description'], $GLOBALS['_BAZAR_']["id_fiche"]);
573
		if (isset($_GET['id_fichier'])) {
566
		if ($_GET['fichier']==2) baz_suppression_fichier($_GET['id_fichier']);
574
			baz_suppression_fichier($_GET['id_fichier']);
567
	}
575
		}
568
	if (isset($_GET['image'])) {
-
 
569
		if ($_GET['image']==1) baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']);	
576
		if (isset($_GET['image'])) {
-
 
577
			baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
570
		if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
578
		}		
Line 571... Line 579...
571
	}
579
	}
572
	
580
	
573
	//titre de la rubrique
581
	//titre de la rubrique
574
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.'&nbsp;'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2><br />'."\n";
582
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.'&nbsp;'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2><br />'."\n";
575
	if (($GLOBALS['_BAZAR_']['condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
583
	if (($GLOBALS['_BAZAR_']['condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
576
		require_once 'HTML/QuickForm/html.php';
584
		require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
577
		$conditions= new HTML_QuickForm_html('<tr><td colspan="2" style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$GLOBALS['_BAZAR_']['condition'].'</td>'."\n".'</tr>'."\n");
585
		$conditions= new HTML_QuickForm_html('<tr><td colspan="2" style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$GLOBALS['_BAZAR_']['condition'].'</td>'."\n".'</tr>'."\n");
578
		$formtemplate->addElement($conditions);
586
		$formtemplate->addElement($conditions);
579
		$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
587
		$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
580
		$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
588
		$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
581
		$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
589
		$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
582
		$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
590
		$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
583
	}
591
	}
584
	//affichage du formulaire si conditions acceptées
592
	//affichage du formulaire si conditions acceptees
585
	else {		
593
	else {		
586
	//Parcours du fichier de templates, pour mettre les valeurs des champs	
594
		//Parcours du fichier de templates, pour mettre les valeurs des champs	
587
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
595
		$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
588
	if ($mode=='modification') {
596
		if ($mode=='modification') {
589
		//Ajout des valeurs par defaut
597
			//Ajout des valeurs par defaut
590
		$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
598
			$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
591
		for ($i=0; $i<count($tableau); $i++) {
599
			for ($i=0; $i<count($tableau); $i++) {
592
			if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='checkbox')) {
600
				if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' ) {
593
				$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
-
 
-
 
601
					$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
594
			}
602
				}
595
			else {
603
				elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
596
				$def=$tableau[$i]['nom_bdd'];
604
					$def=$tableau[$i]['nom_bdd'];					
597
			}
605
				}
598
			$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
599
		                         $tableau[$i]['limite2'], $valeurs_par_defaut[$def], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		           
-
 
600
		 }
-
 
601
	}
-
 
602
	else {
-
 
603
		for ($i=0; $i<count($tableau); $i++) {
-
 
604
			$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
605
		                         $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
-
 
606
		 }
-
 
607
	}
-
 
608
	$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
609
	$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
-
 
610
	
-
 
611
	if ($mode=='modification') {
-
 
612
		//initialisation de la variable globale id_fiche
-
 
613
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];								
-
 
614
		//preparation des formulaires supplementaires
-
 
615
		//AJOUTER UNE IMAGE
-
 
616
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
617
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER);
-
 
618
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
619
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
620
		$lien_formulaire->addQueryString('image', '1');
-
 
621
		
-
 
622
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
-
 
623
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
624
		if (DB::isError ($resultat)) {
-
 
625
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
626
		}
-
 
627
		
-
 
628
		if ($resultat->numRows()>0) {
-
 
629
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
630
				$image=$ligne->bf_url_image;
-
 
631
			}
-
 
632
			if ($image!=NULL) {
-
 
633
				$html='<hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
-
 
634
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
635
				$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
636
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
637
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
638
				$lien_supprimer->addQueryString('image', '2');
-
 
639
				$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n";
-
 
640
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
641
				$formimage->addElement('html', $html) ;
-
 
642
			}
-
 
643
			else  {
-
 
644
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
645
				$formimage->addElement('html', '<hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3>') ;
-
 
646
				$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
647
				$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
648
				$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
649
				$formimage->addElement('submit', 'valider', BAZ_VALIDER);
-
 
650
			}
-
 
651
		}
-
 
652
		else {
-
 
653
			$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
654
			$formimage->addElement('html', '<hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3>'."\n") ;
-
 
655
			$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
656
			$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
657
			$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
658
			$formimage->addElement('submit', 'valider', BAZ_VALIDER);
-
 
659
		}
-
 
660
		
-
 
661
		//AJOUTER DES URL
-
 
662
		//recherche des URLs déjà entrées dans la base
-
 
663
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
664
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
665
		if (DB::isError ($resultat)) {
-
 
666
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
667
		}
-
 
668
		if ($resultat->numRows()>0) {
-
 
669
			$html= '<hr /><h3>'.BAZ_LISTE_URL.'</h3>'."\n";
-
 
670
			$tableAttr = array("id" => "table_bazar") ;
-
 
671
			$table = new HTML_Table($tableAttr) ;
-
 
672
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
-
 
673
			$table->addRow($entete) ;
-
 
674
			$table->setRowType(0, "th") ;
-
 
675
			
-
 
676
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
677
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
678
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
679
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
680
			$lien_supprimer->addQueryString('url', '2');
-
 
681
			
-
 
682
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
683
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
-
 
684
				$table->addRow (array(
-
 
685
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
-
 
686
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
-
 
687
				$lien_supprimer->removeQueryString('id_url');
-
 
688
			}
-
 
689
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
690
			$table->updateColAttributes(1, array("align" => "center"));
-
 
691
			$html.= $table->toHTML()."\n" ;
-
 
692
		}
-
 
693
		else {
-
 
694
			$html= '<hr /><h3>'.BAZ_PAS_URL.'</h3>'."\n";
-
 
695
		}
-
 
696
		$html.='<h4>'.BAZ_AJOUTER_URL.'</h4>'."\n";
-
 
697
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
698
		$lien_formulaire->addQueryString('action', $_GET['action']);
-
 
699
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
700
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
701
		$lien_formulaire->addQueryString('url', '1');
-
 
702
		$formurl = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
703
		$formurl->addElement('html', $html) ;
-
 
704
		$formurl->addElement('text', 'url_lien', BAZ_URL_LIEN) ;
-
 
705
		$formurl->addElement('text', 'url_texte', BAZ_URL_TEXTE) ;
-
 
706
		$formurl->addRule('url_lien', BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
-
 
707
		$formurl->addRule('url_texte', BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
-
 
708
		
-
 
709
		//AJOUTER DES FICHIERS JOINTS
-
 
710
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
711
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
712
		if (DB::isError ($resultat)) {
-
 
713
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
714
		}
-
 
715
		
-
 
716
		if ($resultat->numRows()>0) {
-
 
717
			$html= '<hr /><h3>'.BAZ_LISTE_FICHIERS_JOINTS.'</h3>'."\n";
-
 
718
			$tableAttr = array("id" => "table_bazar") ;
-
 
719
			$table = new HTML_Table($tableAttr) ;
-
 
720
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
-
 
721
			$table->addRow($entete) ;
-
 
722
			$table->setRowType(0, "th") ;
-
 
723
			
-
 
724
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
725
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
726
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
727
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
728
			$lien_supprimer->addQueryString('fichier', '2');
-
 
729
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
730
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
-
 
731
				$table->addRow (array(				
-
 
732
				        '<a href="/client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
-
 
733
					'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
606
				$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
734
					$lien_supprimer->removeQueryString('id_fichier');
-
 
735
			}
-
 
736
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
737
			$table->updateColAttributes(1, array("align" => "center"));
607
			                         $tableau[$i]['limite2'], $valeurs_par_defaut[$def], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		           
738
			$html.= $table->toHTML()."\n" ;
608
			}
739
		}
609
		}
-
 
610
		else {
-
 
611
			for ($i=0; $i<count($tableau); $i++) {
-
 
612
				$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
740
		else {
613
			                         $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
741
			$html= '<hr /><h3>'.BAZ_PAS_DE_FICHIERS_JOINTS.'</h3>'."\n";
-
 
742
		}
-
 
743
		$html.='<h4>'.BAZ_AJOUTER_FICHIER_JOINT.'</h4>'."\n";
-
 
744
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
745
		$lien_formulaire->addQueryString('action', $_GET['action']);
614
			 }
746
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
747
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
748
		$lien_formulaire->addQueryString('fichier', '1');
-
 
749
		
-
 
750
		$formfichiers = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
751
		$formfichiers->addElement('html', $html) ;
-
 
752
		$formfichiers->addElement('file', 'fichier_joint', BAZ_FICHIER_JOINT) ;
-
 
753
		$formfichiers->addElement('text', 'fichier_description', BAZ_FICHIER_DESCRIPTION) ;
-
 
754
		$formfichiers->addRule('fichier_joint', BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
-
 
755
		$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
-
 
756
		$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
757
		
-
 
758
		//Ajout de 'http://' comme valeur par default d'une url
-
 
759
		$formurl->setDefaults(array('url_lien'=>'http://'));
615
		}
760
		//Bouton de validation du formulaire
-
 
761
		$formurl->addElement('submit', 'valider', BAZ_VALIDER);
-
 
762
		$formfichiers->addElement('submit', 'valider', BAZ_VALIDER);
616
		$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
617
		$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
763
	}
618
	}
764
	}
619
 
765
	//Affichage a l'ecran
-
 
766
	$res .= $formtemplate->toHTML()."\n";
-
 
767
	if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
620
	//Affichage a l'ecran
768
	
621
	$res .= $formtemplate->toHTML()."\n";	
Line 769... Line 622...
769
	return $res;
622
	return $res;
Line 785... Line 638...
785
	else {
638
	else {
786
		$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
639
		$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
787
	}	
640
	}	
788
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
641
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
789
	for ($i=0; $i<count($tableau); $i++) {
642
	for ($i=0; $i<count($tableau); $i++) {
790
		if ($tableau[$i]['type']!='labelhtml') {						
-
 
791
			//cas des checkbox et des listes
643
		//cas des checkbox et des listes
792
			if (($tableau[$i]['type']=='checkbox')or($tableau[$i]['type']=='liste')) {
644
		if ($tableau[$i]['type']=='checkbox' || $tableau[$i]['type']=='liste') {
793
				//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste
645
			//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste
794
				$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
646
			$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
-
 
647
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requetesuppression) ;
-
 
648
			if (DB::isError($resultat)) {
-
 
649
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
650
				}				
-
 
651
			if (isset($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
795
				//on insere les nouvelles valeurs
652
				//on insere les nouvelles valeurs
796
				$requeteinsertion='INSERT INTO bazar_fiche_valeur_liste (bfvl_ce_fiche, bfvl_ce_liste, bfvl_valeur) VALUES ';
653
				$requeteinsertion='INSERT INTO bazar_fiche_valeur_liste (bfvl_ce_fiche, bfvl_ce_liste, bfvl_valeur) VALUES ';
797
                //pour les checkbox, les différentes valeurs sont dans un tableau
654
                //pour les checkbox, les différentes valeurs sont dans un tableau
798
                if (is_array($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
655
                if (is_array($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
799
                	$nb=0;
656
                	$nb=0;
800
                	while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
657
                	while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
-
 
658
                		
801
                		if ($nb>0) $requeteinsertion .= ', ';
659
                		if ($nb>0) $requeteinsertion .= ', ';
802
                		$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$cle.') ';
660
                		$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$cle.') ';
803
                		$nb++;
661
                		$nb++;
804
                	}
662
                	}
805
                }
663
                }
806
                //pour les listes, une insertion de la valeur suffit
664
                //pour les listes, une insertion de la valeur suffit
807
                else {
665
                else {
808
                	$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
666
                	$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
809
                }
667
                }
810
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requetesuppression) ;
-
 
811
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
668
                $resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
812
				if (DB::isError($resultat)) {
669
				if (DB::isError($resultat)) {
813
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
670
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
814
				}
671
				}
815
			}
672
			}				
816
			//cas des fichiers
-
 
817
			elseif ($tableau[$i]['type']=='fichier') {
-
 
818
				baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']); 
-
 
819
			}		
-
 
820
			//cas des urls
-
 
821
			elseif ($tableau[$i]['type']=='url') {
-
 
822
				baz_insertion_url($valeur['url_texte'.$tableau[$i]['nom_bdd']], $valeur['url_lien'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
-
 
823
			}
-
 
824
			else {
-
 
825
				//cas des dates
-
 
826
				if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
-
 
827
					$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;					
-
 
828
				}
-
 
829
				elseif (($tableau[$i]['type']=='texte')or($tableau[$i]['type']=='textelong')) {
-
 
830
					//on mets les slashes pour les saisies dans les champs texte et textearea
-
 
831
					$val=addslashes($valeur[$tableau[$i]['nom_bdd']]) ;
-
 
832
				}
-
 
833
				$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
-
 
834
			}			
-
 
835
		}
673
		}
-
 
674
		//cas des fichiers
-
 
675
		elseif ($tableau[$i]['type']=='fichier') {
-
 
676
			if (isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='') {
-
 
677
				baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
-
 
678
			} 
-
 
679
		}		
-
 
680
		//cas des urls
-
 
681
		elseif ($tableau[$i]['type']=='url') {
-
 
682
			if (isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) && $valeur['url_lien'.$tableau[$i]['nom_bdd']]!='' ) {
-
 
683
				baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
-
 
684
			}
-
 
685
		}
-
 
686
		//cas des images
-
 
687
		elseif ($tableau[$i]['type']=='image') {
-
 
688
			if (isset($_FILES['image']['name']) && $_FILES['image']['name']!='') {
-
 
689
				baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']);
-
 
690
			}
-
 
691
		}
-
 
692
		//cas des dates
-
 
693
		elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
-
 
694
			$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
-
 
695
			$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;					
-
 
696
		}
-
 
697
		//cas des champs texte
-
 
698
		elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' ) {
-
 
699
			//on mets les slashes pour les saisies dans les champs texte et textearea
-
 
700
			$val=addslashes($valeur[$tableau[$i]['nom_bdd']]) ;
-
 
701
			$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
-
 
702
		}		
836
	}	
703
	}			
837
	$requete.=' bf_date_maj_fiche=NOW()';	
704
	$requete.=' bf_date_maj_fiche=NOW()';	
838
	return $requete;
705
	return $requete;
839
}
706
}
Line 840... Line 707...
840
 
707
 
Line 861... Line 728...
861
		}
728
		}
862
		return;
729
		return;
863
}
730
}
Line 864... Line 731...
864
 
731
 
865
 
732
 
866
/** baz_insertion_url() - inserer un lien URL à une fiche
733
/** baz_insertion_url() - inserer un lien URL a une fiche
867
*
734
*
868
* @global   string L'url du lien
735
* @global   string L'url du lien
869
* @global   string Le texte du lien
736
* @global   string Le texte du lien
Line 900... Line 767...
900
        }
767
        }
901
	if ($resultat->numRows()==0) {
768
	if ($resultat->numRows()==0) {
902
		$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES[$nom_fichier]['name'];
769
		$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES[$nom_fichier]['name'];
903
		move_uploaded_file($_FILES[$nom_fichier]['tmp_name'], $chemin_destination);
770
		move_uploaded_file($_FILES[$nom_fichier]['tmp_name'], $chemin_destination);
904
	}
771
	}
905
	//else echo BAZ_FICHIER_EXISTANT;
-
 
906
	$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
772
	$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
907
	$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche.
773
	$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche.
908
	           ', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
774
	           ', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
909
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
775
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
910
        if (DB::isError($resultat)) {
776
        if (DB::isError($resultat)) {
Line 912... Line 778...
912
        }
778
        }
913
	return;
779
	return;
914
}
780
}
Line 915... Line 781...
915
 
781
 
916
 
782
 
917
/** baz_insertion_image() - insérer une image à une fiche
783
/** baz_insertion_image() - inserer une image a une fiche
918
*
784
*
919
* @global   integer L'identifiant de la fiche
785
* @global   integer L'identifiant de la fiche
920
* @return   void
786
* @return   void
Line 925... Line 791...
925
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
791
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
926
        if (DB::isError($resultat)) {
792
        if (DB::isError($resultat)) {
927
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
793
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
928
        }
794
        }
929
	if ($resultat->numRows()==0) {
795
	if ($resultat->numRows()==0) {
930
		$chemin_destination=BAZ_CHEMIN_APPLI.'images/'.$_FILES['image']['name'];
796
		$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES['image']['name'];
931
		move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
797
		move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
932
	}
798
	}
933
	else echo BAZ_FICHIER_EXISTANT;
-
 
934
	//vérification de l'existence de la fiche
799
	//verification de l'existence de la fiche
935
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
800
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
936
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
801
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
937
        if (DB::isError($resultat)) {
802
        if (DB::isError($resultat)) {
938
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
803
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
939
        }
804
        }
Line 1007... Line 872...
1007
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
872
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
1008
	}
873
	}
1009
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
874
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1010
		baz_suppression_fichier($ligne['bfj_id_fichier']);
875
		baz_suppression_fichier($ligne['bfj_id_fichier']);
1011
	}
876
	}
1012
	
-
 
1013
	//suppression de l'image associée
-
 
1014
	baz_suppression_image($_GET['id_fiche']);
-
 
Line 1015... Line 877...
1015
		
877
		
1016
	return ;
878
	return ;
Line 1043... Line 905...
1043
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
905
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
1044
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
906
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1045
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
907
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1046
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
908
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
1047
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
909
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1048
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
910
	//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon	
1049
	if ($resultat->numRows()==1) {
911
	if ($resultat->numRows()==1) {
1050
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
912
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1051
		unlink($ligne['bfj_fichier']);
913
		unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bfj_fichier']);
1052
	}
914
	}
Line 1053... Line 915...
1053
	
915
	
1054
	//suppression dans la table bazar_fichier
916
	//suppression dans la table bazar_fichier
1055
	$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
917
	$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
Line 1071... Line 933...
1071
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
933
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
1072
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
934
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1073
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
935
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1074
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
936
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
1075
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
937
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1076
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
938
	//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon	
1077
	if ($resultat->numRows()==1) {
939
	if ($resultat->numRows()==1) {
1078
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
940
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1079
		unlink(BAZ_CHEMIN_APPLI.'images/'.$ligne['bf_url_image']);
941
		unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bf_url_image']);
1080
	}
942
	}
Line 1081... Line 943...
1081
	
943
	
1082
	//suppression dans la table bazar_fiche
944
	//suppression dans la table bazar_fiche
1083
	$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
945
	$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
Line 1118... Line 980...
1118
/** baz_s_inscrire() affiche le formulaire qui permet de s'inscrire pour recevoir des annonces d'un type
980
/** baz_s_inscrire() affiche le formulaire qui permet de s'inscrire pour recevoir des annonces d'un type
1119
*
981
*
1120
*   @return  string    le code HTML
982
*   @return  string    le code HTML
1121
*/
983
*/
1122
function baz_s_inscrire() {
984
function baz_s_inscrire() {
-
 
985
	$res= '<h2>'.BAZ_S_INSCRIRE_AUX_ANNONCES.'</h2><br />'."\n";
1123
	if (isset($_GET['inscrip'])) {
986
	if (isset($_GET['inscrip'])) {
1124
		//cas d'une desinscription
987
		//cas d'une desinscription
1125
		if ($_GET['inscrip']==0) {
988
		if ($_GET['inscrip']==0) {
1126
			$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce'];
989
			$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce'];
1127
		}
990
		}
Line 1134... Line 997...
1134
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
997
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1135
		}
998
		}
1136
	}
999
	}
Line 1137... Line 1000...
1137
	
1000
	
1138
	if ($GLOBALS['AUTH']->getAuth()) {
-
 
1139
	$res= '<h2>'.BAZ_S_INSCRIRE_AUX_ANNONCES.'</h2><br />'."\n";
1001
	if ($GLOBALS['AUTH']->getAuth()) {
1140
	$res .= BAZ_LAIUS_S_ABONNER.'<br /><br />'."\n";
1002
	$res .= BAZ_LAIUS_S_ABONNER.'<br /><br />'."\n";
1141
	//requete pour obtenir l'id et le label des types d'annonces
1003
	//requete pour obtenir l'id et le label des types d'annonces
1142
	$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre '.
1004
	$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre '.
1143
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['filtre'].' or  bn_ce_id_menu=0';
1005
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['filtre'].' or  bn_ce_id_menu=0';
Line 1201... Line 1063...
1201
	$table->updateColAttributes(1, array('align' => 'center'));
1063
	$table->updateColAttributes(1, array('align' => 'center'));
1202
	$table->updateColAttributes(2, array('align' => 'center'));
1064
	$table->updateColAttributes(2, array('align' => 'center'));
1203
	$table->updateColAttributes(3, array('style' => 'text-align:center;'));
1065
	$table->updateColAttributes(3, array('style' => 'text-align:center;'));
1204
	$res.=$table->toHTML() ;
1066
	$res.=$table->toHTML() ;
1205
	}
1067
	}
1206
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
1068
	else $res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n";
Line 1207... Line 1069...
1207
	
1069
	
1208
	return $res;
1070
	return $res;
Line 1223... Line 1085...
1223
	}
1085
	}
1224
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
1086
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
1225
	$valeurs_fiche = array() ;
1087
	$valeurs_fiche = array() ;
1226
	$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
1088
	$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
1227
	for ($i=0; $i<count($tableau); $i++) {
1089
	for ($i=0; $i<count($tableau); $i++) {
1228
	     if ($tableau[$i]['type']!='labelhtml') {
-
 
1229
	     	if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='checkbox')) {
1090
     	if ($tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
1230
	     		$requete = 'SELECT bfvl_valeur FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$idfiche.
1091
     		$requete = 'SELECT bfvl_valeur FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$idfiche.
1231
				' AND  bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
1092
			' AND  bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
1232
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1093
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1233
				if (DB::isError ($resultat)) {
1094
			if (DB::isError ($resultat)) {
1234
					die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1095
				die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1235
				}
1096
			}
1236
				$nb=0;$val='';
1097
			$nb=0;$val='';
1237
                while ($result = $resultat->fetchRow()) {
1098
            while ($result = $resultat->fetchRow()) {
1238
                	if ($nb>0) $val .= ', ';
1099
            	if ($nb>0) $val .= ', ';
1239
                	$val .= $result[0];
1100
            	$val .= $result[0];
1240
                	$nb++;
1101
            	$nb++;
1241
                }
1102
            }
1242
	     		$valeurs_fiche[$tableau[$i]['type'].$tableau[$i]['nom_bdd']] = $val;
1103
     		$valeurs_fiche[$tableau[$i]['type'].$tableau[$i]['nom_bdd']] = $val;
1243
	     	}
1104
     	}
1244
	     	else {
-
 
-
 
1105
     	elseif ($tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin') {
1245
	     		$valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]);
1106
     		$valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]);
1246
	     	}
1107
     	}	     
1247
	     }	 
-
 
1248
	}
1108
	}
1249
	return $valeurs_fiche;
1109
	return $valeurs_fiche;
1250
}
1110
}
Line 1311... Line 1171...
1311
}
1171
}
Line 1312... Line 1172...
1312
 
1172
 
1313
/* +--Fin du code ----------------------------------------------------------------------------------------+
1173
/* +--Fin du code ----------------------------------------------------------------------------------------+
1314
*
1174
*
-
 
1175
* $Log: not supported by cvs2svn $
-
 
1176
* Revision 1.46  2006/03/29 13:04:35  alexandre_tb
-
 
1177
* utilisation de la classe Administrateur_bazar
1315
* $Log: not supported by cvs2svn $
1178
*
1316
* Revision 1.45  2006/03/24 09:28:02  alexandre_tb
1179
* Revision 1.45  2006/03/24 09:28:02  alexandre_tb
1317
* utilisation de la variable globale $GLOBALS['_BAZAR_']['filtre']
1180
* utilisation de la variable globale $GLOBALS['_BAZAR_']['filtre']
1318
*
1181
*
1319
* Revision 1.44  2006/03/14 17:10:21  florian
1182
* Revision 1.44  2006/03/14 17:10:21  florian