Subversion Repositories Applications.bazar

Rev

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

Rev 88 Rev 93
Line 453... Line 453...
453
	if ($valide!=2) {
453
	if ($valide!=2) {
454
		$requete .= 'bf_statut_fiche='.$valide;
454
		$requete .= 'bf_statut_fiche='.$valide;
455
		$req_where=1;
455
		$req_where=1;
456
	}
456
	}
457
	$nomflux=BAZ_DERNIERE_ACTU;
457
	$nomflux=BAZ_DERNIERE_ACTU;
458
	if (($typeannonce!='')and($typeannonce!='toutes')) {
458
	if (!is_array ($typeannonce) && $typeannonce!='' and $typeannonce!='toutes') {
459
		if ($req_where==1) {$requete .= ' AND ';}
459
		if ($req_where==1) {$requete .= ' AND ';}
460
		$requete .= 'bf_ce_nature='.$typeannonce;
460
		$requete .= 'bf_ce_nature='.$typeannonce;
461
		$req_where=1;
461
		$req_where=1;
462
		//le nom du flux devient le type d'annonce
462
		//le nom du flux devient le type d'annonce
463
		$nomflux = $typeannonce;
463
		$nomflux = $typeannonce;
464
	}
464
	}
-
 
465
	// Cas où il y plusieurs type d annonce demande
-
 
466
	if (is_array ($typeannonce)) {
-
 
467
		if ($req_where==1) {$requete .= ' AND ';}
-
 
468
		$requete .= 'bf_ce_nature IN (' ;
-
 
469
		$chaine = '';
-
 
470
		foreach ($typeannonce as $valeur) $chaine .= '"'.$valeur.'",' ;
-
 
471
		$requete .= substr ($chaine, 0, strlen ($chaine)-1) ; 
-
 
472
		$requete .= ')';
-
 
473
	}
465
	if ($valide!=0) {
474
	if ($valide!=0) {
466
		if ($req_where==1) {$requete .= ' AND ';}
475
		if ($req_where==1) {$requete .= ' AND ';}
467
		if ($GLOBALS['AUTH']->getAuth() && niveau_droit(0,$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))!='superadministrateur') {
476
		if ($GLOBALS['AUTH']->getAuth() && niveau_droit(0,$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))!='superadministrateur') {
468
			$req_where=1;$requete .= '1' ;	
477
			$req_where=1;$requete .= '1' ;	
469
		} else {
478
		} else {
Line 547... Line 556...
547
*   @return  string    le code HTML a afficher
556
*   @return  string    le code HTML a afficher
548
*/
557
*/
549
function baz_liste($typeannonce='toutes') {
558
function baz_liste($typeannonce='toutes') {
550
	//creation du lien pour le formulaire de recherche
559
	//creation du lien pour le formulaire de recherche
551
	$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
560
	$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
552
	$lien_formulaire=preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
561
	$lien_formulaire = preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
553
	$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
562
	$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
554
	$squelette =&$formtemplate->defaultRenderer();
563
	$squelette = &$formtemplate->defaultRenderer();
555
	$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'<ul style="padding:0;margin:0;">'."\n".'{content}'."\n".'</ul>'."\n".'</form>'."\n");
564
	$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'<ul style="padding:0;margin:0;">'."\n".
-
 
565
								'{content}'."\n".'</ul>'."\n".'</form>'."\n");
556
	$squelette->setElementTemplate( '<li class="enligne">'."\n".'{element}'."\n".'</li>'."\n");
566
	$squelette->setElementTemplate( '<li class="enligne">'."\n".'{element}'."\n".'</li>'."\n");
Line 557... Line 567...
557
		
567
		
-
 
568
	//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces 
-
 
569
	//requete pour obtenir l'id et le label des types d'annonces
-
 
570
	$requete = 'SELECT bn_id_nature, bn_label_nature '.
-
 
571
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' '.
-
 
572
			   'ORDER BY bn_label_nature ASC';
-
 
573
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
574
	if (DB::isError($resultat)) {
-
 
575
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
576
	}
-
 
577
	$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
-
 
578
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
579
		$type_annonce_select[$ligne['bn_id_nature']] = constant($ligne['bn_label_nature']);
-
 
580
		$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
-
 
581
	}
558
	//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces 
582
	
559
	if ($GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
583
	if ($GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
560
		$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
-
 
561
		//requete pour obtenir l'id et le label des types d'annonces
-
 
562
		$requete = 'SELECT bn_id_nature, bn_label_nature '.
-
 
563
		           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' '.
-
 
564
				   'ORDER BY bn_label_nature ASC';
-
 
565
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
566
		if (DB::isError($resultat)) {
-
 
567
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
584
		$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
568
		}
-
 
569
		$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
-
 
570
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
571
			$type_annonce_select[$ligne['bn_id_nature']] = constant($ligne['bn_label_nature']);
-
 
572
		}
585
		
573
		$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
586
		$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
574
		$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
587
		$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
575
	}
588
	}
576
	//cas du type d'annonces prédéfini 
589
	//cas du type d'annonces prédéfini 
577
	else {
590
	else {
578
		$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.constant($GLOBALS['_BAZAR_']['typeannonce']).'</h2>'."\n";
591
		$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.constant($GLOBALS['_BAZAR_']['typeannonce']).'</h2>'."\n";
Line 579... Line 592...
579
	}
592
	}
-
 
593
 
-
 
594
	
-
 
595
	//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
580
 
596
	// dans le but de construire l'élément de formulaire select avec les noms des émetteurs de fiche
581
	
597
	
582
	//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
598
	if (BAZ_RECHERCHE_PAR_EMETTEUR) {
583
	$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
599
		$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
584
	           'FROM bazar_fiche,'.BAZ_ANNUAIRE.' where' ;
600
		           'FROM bazar_fiche,'.BAZ_ANNUAIRE.' where' ;
585
 
601
	
586
	$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';	
602
		$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';	
587
 
603
	
588
	$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
604
		$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
589
    if (!isset($_REQUEST['nature'])) {
605
	    if (!isset($_REQUEST['nature'])) {
590
    	if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
606
	    	if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
591
    		$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
607
	    		$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
592
    	} 
608
	    	} 
593
    }
609
	    }
594
    else {
610
	    else {
595
    	if ($_REQUEST['nature']!='toutes') {
611
	    	if ($_REQUEST['nature']!='toutes') {
596
    		$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
612
	    		$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
597
    	}
613
	    	}
598
    }
614
	    }
599
    
615
	    
600
    $requete .= 'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
616
	    $requete .= 'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
601
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
617
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
602
	if (DB::isError($resultat)) {
618
		if (DB::isError($resultat)) {
603
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
619
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
604
	}
620
		}
-
 
621
		$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
-
 
622
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
623
			$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
-
 
624
		}
-
 
625
		$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
605
	$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
626
		$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
606
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
607
		$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
-
 
-
 
627
	} else {
608
	}
628
		$formtemplate->addElement ('hidden', 'personnes', 'tous') ;
609
	$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
629
	}
610
	$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
-
 
611
		//pour les super-administrateurs, on peut voir les annonces non validées
630
	
612
	//on verifie si l'utilisateur est administrateur
-
 
613
	$est_admin=0;
-
 
614
	if ($GLOBALS['AUTH']->getAuth()) {
-
 
615
		if (niveau_droit(0,$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur')
-
 
616
		{
-
 
Line 617... Line 631...
617
		        $est_admin=1;
631
		//pour les super-administrateurs, on peut voir les annonces non validées
618
		}
632
	//on verifie si l'utilisateur est administrateur
619
	}
633
	$utilisateur = new Utilisateur_bazar($GLOBALS['AUTH']) ;
620
 
634
 
621
	if ($est_admin==1) {
635
	if ($utilisateur->isSuperAdmin()) {
622
		$option=array('style'=>'border:1px solid #000;width: 60px;font:12px Myriad, Arial, sans-serif;');
636
		$option=array('style'=>'border:1px solid #000;width: 60px;font:12px Myriad, Arial, sans-serif;');
Line 657... Line 671...
657
			for ($i=0; $i<$nbmots; $i++) {
671
			for ($i=0; $i<$nbmots; $i++) {
658
				if ($i>0) $requeteSQL.=' OR ';
672
				if ($i>0) $requeteSQL.=' OR ';
659
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
673
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
660
			}
674
			}
661
		}
675
		}
-
 
676
		if (!isset($_REQUEST['nature'])) {
-
 
677
			if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
662
		if (!isset($_REQUEST['nature'])) {$typedefiches=$GLOBALS['_BAZAR_']['id_nature'] ; }
678
			else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ; 
-
 
679
		} else {
663
		else {$typedefiches=$_REQUEST['nature'] ; }
680
			$typedefiches = $_REQUEST['nature'] ;
-
 
681
			if ($typedefiches == 'toutes') $typedefiches = $tableau_typeannonces ;
-
 
682
		}
Line 664... Line 683...
664
		
683
		
665
		if (isset($_POST['valides'])) {$valides=$_POST['valides'];}
684
		if (isset($_POST['valides'])) {$valides=$_POST['valides'];}
666
		else {$valides=1;}
685
		else {$valides=1;}