Subversion Repositories Applications.bazar

Rev

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

Rev 15 Rev 22
Line 55... Line 55...
55
	//cas ou un commentaire a été entré
55
	//cas ou un commentaire a été entré
56
	if (isset($_POST['Nom'])) {
56
	if (isset($_POST['Nom'])) {
57
		$requete = 'INSERT INTO bazar_commentaires VALUES ('.baz_nextid('bazar_commentaires', 'bc_id_commentaire', $GLOBALS['_BAZAR_']['db']).', '.$GLOBALS['_BAZAR_']['id_fiche'].', "'.$_POST['Nom'].'", "'.$_POST['Commentaire'].'", NOW() )';
57
		$requete = 'INSERT INTO bazar_commentaires VALUES ('.baz_nextid('bazar_commentaires', 'bc_id_commentaire', $GLOBALS['_BAZAR_']['db']).', '.$GLOBALS['_BAZAR_']['id_fiche'].', "'.$_POST['Nom'].'", "'.$_POST['Commentaire'].'", NOW() )';
58
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
58
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
59
	}
59
	}
60
	//cas ou un commetaire va été supprimé
60
	//cas ou un commentaire va être supprimé
61
	elseif (isset($_GET['id_commentaire'])) {
61
	elseif (isset($_GET['id_commentaire'])) {
62
		$requete = 'DELETE FROM bazar_commentaires WHERE bc_id_commentaire='.$_GET['id_commentaire'].' LIMIT 1';
62
		$requete = 'DELETE FROM bazar_commentaires WHERE bc_id_commentaire='.$_GET['id_commentaire'].' LIMIT 1';
63
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
63
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
64
	}
64
	}
65
	else {
65
	else {
Line 231... Line 231...
231
	$res .= '</div>'."\n";
231
	$res .= '</div>'."\n";
232
	$res .= '<div class="BAZ_cadre_fiche_bas">&nbsp;</div>'."\n";
232
	$res .= '<div class="BAZ_cadre_fiche_bas">&nbsp;</div>'."\n";
233
	$res .= '</div>'."\n";
233
	$res .= '</div>'."\n";
Line 234... Line 234...
234
	
234
	
235
	//on ajoute les commentaires, s'il le faut
235
	//on ajoute les commentaires, s'il le faut
236
	if ($GLOBALS['_BAZAR_']['commentaire']==1) {
236
	if (($danslappli==1)and($GLOBALS['_BAZAR_']['commentaire']==1)) {
237
		$res .= '<div class="BAZ_cadre_fiche">'."\n";
237
		$res .= '<div class="BAZ_cadre_fiche">'."\n";
238
		$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
238
		$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
239
		$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
239
		$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
240
		$res .= '<h3>'.BAZ_LES_COMMENTAIRES.'</h3>'."\n";
240
		$res .= '<h3>'.BAZ_LES_COMMENTAIRES.'</h3>'."\n";
Line 290... Line 290...
290
		$res .= '<div class="BAZ_cadre_fiche_bas">&nbsp;</div>'."\n";
290
		$res .= '<div class="BAZ_cadre_fiche_bas">&nbsp;</div>'."\n";
291
		$res .= '</div>'."\n";
291
		$res .= '</div>'."\n";
292
	}
292
	}
Line 293... Line 293...
293
	
293
	
294
	//on ajoute les appropriations, s'il le faut
294
	//on ajoute les appropriations, s'il le faut
295
	if ($GLOBALS['_BAZAR_']['appropriation']==1) {
295
	if (($danslappli==1)and($GLOBALS['_BAZAR_']['appropriation']==1)) {
296
		$res .= '<div class="BAZ_cadre_fiche">'."\n";
296
		$res .= '<div class="BAZ_cadre_fiche">'."\n";
297
		$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
297
		$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
Line 298... Line 298...
298
		$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
298
		$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
Line 356... Line 356...
356
* @return  string Le code du flux RSS
356
* @return  string Le code du flux RSS
357
*/
357
*/
358
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='') {
358
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='') {
359
	// génération de la requete MySQL personnalisée
359
	// génération de la requete MySQL personnalisée
360
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bn_label_nature FROM bazar_fiche, bazar_nature';
360
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bn_label_nature FROM bazar_fiche, bazar_nature';
361
	$requete .= ' WHERE bf_statut_fiche='.$valide;
361
	$requete .= ' WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' AND bf_statut_fiche='.$valide;
362
	$nomflux=BAZ_DERNIERE_ACTU;
362
	$nomflux=BAZ_DERNIERE_ACTU;
363
	if (($typeannonce!='')and($typeannonce!='toutes')) {
363
	if (($typeannonce!='')and($typeannonce!='toutes')) {
364
		$requete .= ' AND bn_label_nature="'.$typeannonce.'"';
364
		$requete .= ' AND bn_label_nature="'.$typeannonce.'"';
365
		//le nom du flux devient le type d'annonce
365
		//le nom du flux devient le type d'annonce
366
		$nomflux = $typeannonce;
366
		$nomflux = $typeannonce;
Line 378... Line 378...
378
		}
378
		}
379
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
379
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
380
		$nomflux .= ' ('.$ligne[BAZ_CHAMPS_NOM].' '.$ligne[BAZ_CHAMPS_PRENOM].')';
380
		$nomflux .= ' ('.$ligne[BAZ_CHAMPS_NOM].' '.$ligne[BAZ_CHAMPS_PRENOM].')';
381
	}
381
	}
382
	if ($requeteSQL!='') $requete .= ' AND ('.$requeteSQL.')';
382
	if ($requeteSQL!='') $requete .= ' AND ('.$requeteSQL.')';
383
	$requete .= ' ORDER BY  bf_date_debut_validite_fiche, bf_date_fin_validite_fiche, bf_date_maj_fiche DESC';
383
	$requete .= ' ORDER BY  bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
384
	if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
384
	if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
385
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
385
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
386
	if (DB::isError($resultat)) {
386
	if (DB::isError($resultat)) {
387
		die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS["db"]->getDebugInfo()) ;
387
		die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS["db"]->getDebugInfo()) ;
388
	}
388
	}
Line 413... Line 413...
413
		}
413
		}
414
	}
414
	}
415
	else {//pas d'annonces
415
	else {//pas d'annonces
416
		$xml .= '<item>'."\n";
416
		$xml .= '<item>'."\n";
417
		$xml .= '<title>'.BAZ_PAS_D_ANNONCES.'</title>'."\n";
417
		$xml .= '<title>'.BAZ_PAS_D_ANNONCES.'</title>'."\n";
418
		$xml .= '<link></link>'."\n";
418
		$xml .= '<link>#</link>'."\n";
419
		$xml .= '<description>'.BAZ_PAS_D_ANNONCES.'</description>'."\n";
419
		$xml .= '<description>'.BAZ_PAS_D_ANNONCES.'</description>'."\n";
420
		$xml .= '<pubDate>'.strftime('%d %b %Y %H:%M:%S GMT',strtotime('12/12/2004')).'</pubDate>'."\n";
420
		$xml .= '<pubDate>'.strftime('%d %b %Y %H:%M:%S GMT',strtotime('12/12/2004')).'</pubDate>'."\n";
421
		$xml .= '</item>'."\n";
421
		$xml .= '</item>'."\n";
422
	}
422
	}
423
	$xml .= '</channel>'."\n".'</rss>'."\n";
423
	$xml .= '</channel>'."\n".'</rss>'."\n";
Line 428... Line 428...
428
/** baz_liste() Formate la liste de toutes les annonces actuelles
428
/** baz_liste() Formate la liste de toutes les annonces actuelles
429
*
429
*
430
*   @return  string    le code HTML à afficher
430
*   @return  string    le code HTML à afficher
431
*/
431
*/
432
function baz_liste($typeannonce='toutes') {
432
function baz_liste($typeannonce='toutes') {
-
 
433
	
-
 
434
	//titre 
433
	if ($typeannonce=='toutes') $res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2>'."\n";
435
	if ($typeannonce=='toutes') $res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2>'."\n";
434
	else $res= '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.$typeannonce.'</h2>'."\n";
436
	else $res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.$typeannonce.'</h2>'."\n";
-
 
437
		
-
 
438
	//création du lien pour le formulaire de recherche
-
 
439
	$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
-
 
440
	$lien_formulaire=preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
-
 
441
	$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
-
 
442
	$squelette =&$formtemplate->defaultRenderer();
-
 
443
    $squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'<ul>'."\n".'{content}'."\n".'</ul>'."\n".'</form>'."\n");
-
 
444
    $squelette->setElementTemplate( '<li class="enligne">'."\n".'{element}'."\n".
-
 
445
                                    '</li>'."\n");
-
 
446
    
-
 
447
	
-
 
448
	
-
 
449
	//requete pour obtenir l'id et le label des types d'annonces
-
 
450
	$requete = 'SELECT bn_label_nature '.
-
 
451
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.
-
 
452
		   '  or  bn_ce_id_menu=0 ORDER BY bn_label_nature ASC';
-
 
453
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
454
	if (DB::isError($resultat)) {
-
 
455
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
456
	}
-
 
457
	$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
-
 
458
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
459
		$type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature'];
-
 
460
	}
-
 
461
	$option=array('style'=>'width: 130px;', 'onchange'=>'this.form.submit();');
-
 
462
	$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
-
 
463
	
-
 
464
	//requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement
-
 
465
	$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
-
 
466
	           'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '.
-
 
467
		   'WHERE bf_statut_fiche=1 AND bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() AND bf_ce_utilisateur='.BAZ_CHAMPS_ID.' '.
-
 
468
		   'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
-
 
469
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
470
	if (DB::isError($resultat)) {
-
 
471
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
472
	}
-
 
473
	$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
-
 
474
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
-
 
475
		$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
-
 
476
	}
-
 
477
	$option=array('style'=>'width: 130px;', 'onchange'=>'this.form.submit();');
-
 
478
	$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
-
 
479
	
-
 
480
	//champs texte pour entrer les mots clés
-
 
481
	$option=array('size'=>15,'maxlength'=>40);
-
 
482
	$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
-
 
483
	$defauts=array('recherche_mots_cles'=>BAZ_MOT_CLE);
-
 
484
	$formtemplate->setDefaults($defauts);
-
 
485
	//Bouton de validation du formulaire
-
 
486
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
-
 
487
	$formtemplate->addGroup($bouton, null, null, '');
-
 
488
	
-
 
489
	$requeteSQL='';
-
 
490
	//affichage des résultats de la recherche si le formulaire a été envoyé
-
 
491
	if (isset($_POST['nature'])) {
-
 
492
		$res.= $formtemplate->toHTML() ;
-
 
493
		
-
 
494
		//préparation de la requète pour trouver les mots clés
-
 
495
		if ($_POST['recherche_mots_cles']!='') {
-
 
496
			//découpage des mots clés
-
 
497
			$recherche = split(' ', $_POST['recherche_mots_cles']) ;
-
 
498
			$nbmots=count($recherche); 
-
 
499
			for ($i=0; $i<$nbmots; $i++) {
-
 
500
				if ($i>0) $requeteSQL.=' OR ';
-
 
501
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
-
 
502
			}
-
 
503
		}
-
 
504
		
-
 
505
		//génération de l'affichage
-
 
506
		$res.=RSSversHTML(gen_RSS($_POST['nature'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ;
-
 
507
	}
-
 
508
	else {
-
 
509
		//Bouton de validation du formulaire
-
 
510
		$res.=$formtemplate->toHTML()."\n";
-
 
511
	}
-
 
512
	
435
	$res.=RSSversHTML(gen_RSS($typeannonce, '', '', 1, ''), 0, 'jm') ;
513
	$res .= RSSversHTML(gen_RSS($typeannonce, '', '', 1, ''), 0, 'jm') ;
436
	return $res;
514
	return $res;
437
}
515
}
Line 438... Line 516...
438
 
516