Subversion Repositories Applications.bazar

Rev

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

Rev 113 Rev 115
Line 442... Line 442...
442
* @param   integer L'etat de validation de l'annonce (laisser 1 pour les annonces validees, 0 pour les non-validees)
442
* @param   integer L'etat de validation de l'annonce (laisser 1 pour les annonces validees, 0 pour les non-validees)
443
* @param   string La requete SQL personnalisee
443
* @param   string La requete SQL personnalisee
444
*
444
*
445
* @return  string Le code du flux RSS
445
* @return  string Le code du flux RSS
446
*/
446
*/
447
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='') {
447
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '') {
448
	// generation de la requete MySQL personnalisee
448
	// generation de la requete MySQL personnalisee
449
	$req_where=0;
449
	$req_where=0;
450
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche '.
450
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche '.
451
				'FROM bazar_fiche, bazar_nature WHERE ';
451
				'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE ';
452
	if ($valide!=2) {
452
	if ($valide!=2) {
453
		$requete .= 'bf_statut_fiche='.$valide;
453
		$requete .= 'bf_statut_fiche='.$valide;
454
		$req_where=1;
454
		$req_where=1;
455
	}
455
	}
456
	$nomflux=BAZ_DERNIERE_ACTU;
456
	$nomflux=BAZ_DERNIERE_ACTU;
Line 580... Line 580...
580
		$type_annonce_select[$ligne['bn_id_nature']] = $ligne['bn_label_nature'];
580
		$type_annonce_select[$ligne['bn_id_nature']] = $ligne['bn_label_nature'];
581
		$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
581
		$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
582
	}
582
	}
583
	if ($GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
583
	if ($GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
584
		$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
584
		$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
585
		$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
585
		$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;',
-
 
586
						'onchange' => 'javascript:this.form.submit();');
586
		$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
587
		$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
587
	}
588
	}
588
	//cas du type d'annonces prédéfini 
589
	//cas du type d'annonces prédéfini 
589
	else {
590
	else {
590
		$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
591
		$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
Line 648... Line 649...
648
	$formtemplate->setDefaults($defauts);
649
	$formtemplate->setDefaults($defauts);
Line 649... Line 650...
649
	
650
	
650
	//option cachee pour savoir si le formulaire a ete appele deja 
651
	//option cachee pour savoir si le formulaire a ete appele deja 
Line -... Line 652...
-
 
652
	$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
-
 
653
	
-
 
654
	// Ajout des options si un type de fiche a ete choisie
-
 
655
	if (isset($_POST['nature']) || isset($GLOBALS['_BAZAR_']['categorie_nature'])) {
-
 
656
		if ($GLOBALS['_BAZAR_']['categorie_nature'] != '') {
-
 
657
			$champs_requete = 'bn_ce_id_menu' ;
-
 
658
			$_POST['nature'] = $GLOBALS['_BAZAR_']['categorie_nature'];
-
 
659
		} else {
-
 
660
			$champs_requete = 'bn_id_nature' ;	
-
 
661
		}
-
 
662
		// Récupération du template
-
 
663
		$requete = 'select bn_template from bazar_nature where '.$champs_requete.'='.$_POST['nature'];
-
 
664
		$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
-
 
665
		if (DB::isError($resultat)) {
-
 
666
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
667
		}
-
 
668
		
-
 
669
		$tableau = baz_valeurs_template($resultat) ;
-
 
670
		
-
 
671
		for ($i=0; $i<count($tableau); $i++) {
-
 
672
			if ($tableau[$i]['type'] == 'liste' || $tableau[$i]['type'] == 'checkbox') {
-
 
673
				if ($tableau[$i]['type'] == 'checkbox') {
-
 
674
					$formtemplate->addElement ('html', '<br />'.$tableau[$i]['label'].'<br />') ;	
-
 
675
				}
-
 
676
				$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
677
		                         $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
-
 
678
			}
651
	$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
679
		 }	
652
	
680
	}
653
	//Bouton de validation du formulaire
681
	//Bouton de validation du formulaire
654
	$option=array('style'=>'border:1px solid #000;width:80px;font:12px Myriad, Arial, sans-serif;');
682
	$option=array('style'=>'border:1px solid #000;width:80px;font:12px Myriad, Arial, sans-serif;');
Line 655... Line 683...
655
	$bouton[] = &HTML_QuickForm::createElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
683
	$bouton[] = &HTML_QuickForm::createElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
656
	$formtemplate->addGroup($bouton, null, null, '');
684
	$formtemplate->addGroup($bouton, null, null, '');
Line -... Line 685...
-
 
685
	
-
 
686
	//affichage du formulaire
-
 
687
	$res.=$formtemplate->toHTML()."\n";
-
 
688
	
-
 
689
	// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
-
 
690
	$case_coche = false ;
-
 
691
	$requeteFrom = '' ;
-
 
692
	$requeteWhere = '' ;
-
 
693
	$requeteWhereListe = '' ;
-
 
694
	
-
 
695
 	for ($i = 0; $i < count ($tableau); $i++) {
-
 
696
		if ($tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'liste') {
-
 
697
			$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
-
 
698
			
-
 
699
			if (is_array($_POST[$nom_liste])) {
-
 
700
				foreach ($_POST[$nom_liste] as $cle =>$valeur) {
-
 
701
					echo  $valeur ;
-
 
702
					if ($valeur == 1) {
-
 
703
						$case_coche = true ;
-
 
704
						$requeteWhereListe .= ' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'] ; // Numéro de la liste
-
 
705
						
-
 
706
					}
-
 
707
				}	
-
 
708
			}
-
 
709
		}
-
 
710
	}
-
 
711
	if ($case_coche) {
-
 
712
		$requeteFrom = ', bazar_fiche_valeur_liste ' ;
657
	
713
		$requeteWhereListe .= ' AND bfvl_valeur IN ()' ;
658
	//affichage du formulaire
714
		$requeteWhere = ' bfvl_ce_fiche=bf_id_fiche'.$requeteWhereListe;
659
	$res.=$formtemplate->toHTML()."\n";
715
	}
660
	
716
	
661
	//affichage des resultats de la recherche si le formulaire a ete envoye
717
	//affichage des resultats de la recherche si le formulaire a ete envoye
Line 682... Line 738...
682
		if ($typeannonce!='toutes') $typedefiches=$typeannonce;
738
		if ($typeannonce!='toutes') $typedefiches=$typeannonce;
683
		if (isset($_POST['valides'])) {$valides=$_POST['valides'];}
739
		if (isset($_POST['valides'])) {$valides=$_POST['valides'];}
684
		else {$valides=1;}
740
		else {$valides=1;}
685
		//generation de la liste de flux a afficher
741
		//generation de la liste de flux a afficher
Line 686... Line 742...
686
		
742
		
687
		$res .= RSSversHTML(gen_RSS($typedefiches, '', $_POST['personnes'], $valides, $requeteSQL),
743
		$res .= RSSversHTML(gen_RSS($typedefiches, '', $_POST['personnes'], $valides, $requeteSQL, $requeteFrom),
688
							 0, BAZ_TYPE_AFFICHAGE_LISTE, 1) ;
744
							 0, BAZ_TYPE_AFFICHAGE_LISTE, 1) ;
689
	}
745
	}
690
	else {
746
	else {
691
		//on affiche toutes les annonces
747
		//on affiche toutes les annonces