Subversion Repositories Applications.bazar

Rev

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

Rev 382 Rev 390
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.rss.php,v 1.99.2.12 2008-03-17 14:02:53 jp_milcent Exp $
22
// CVS : $Id: bazar.fonct.rss.php,v 1.99.2.13 2008-04-16 12:39:56 alexandre_tb Exp $
23
/**
23
/**
24
* 
24
* 
25
*@package bazar
25
*@package bazar
26
//Auteur original :
26
//Auteur original :
27
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
27
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
28
*@author        Florian Schmitt <florian@ecole-et-nature.org>
28
*@author        Florian Schmitt <florian@ecole-et-nature.org>
29
//Autres auteurs :
29
//Autres auteurs :
30
*@copyright     Tela-Botanica 2000-2006
30
*@copyright     Tela-Botanica 2000-2006
31
*@version       $Revision: 1.99.2.12 $
31
*@version       $Revision: 1.99.2.13 $
32
// +------------------------------------------------------------------------------------------------------+
32
// +------------------------------------------------------------------------------------------------------+
33
*/
33
*/
Line 34... Line 34...
34
 
34
 
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
Line 168... Line 168...
168
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
168
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
169
	(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
169
	(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
170
	    : '';
170
	    : '';
Line 171... Line 171...
171
	
171
	
-
 
172
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
172
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
173
	$GLOBALS['_BAZAR_']['ligne_resultat'] = $ligne;
173
	if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce'] = $ligne['bf_ce_nature'];
174
	if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce'] = $ligne['bf_ce_nature'];
174
	if (!isset($GLOBALS['_BAZAR_']['fiche_valide'])) $GLOBALS['_BAZAR_']['fiche_valide'] = $ligne['bf_statut_fiche'];
175
	if (!isset($GLOBALS['_BAZAR_']['fiche_valide'])) $GLOBALS['_BAZAR_']['fiche_valide'] = $ligne['bf_statut_fiche'];
175
	//on verifie si l'utilisateur est administrateur
176
	//on verifie si l'utilisateur est administrateur
Line 221... Line 222...
221
			$res .= '</div>'."\n";
222
			$res .= '</div>'."\n";
222
		}
223
		}
Line 223... Line 224...
223
		
224
		
224
		$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.nl2br($ligne['bf_description']).'</div>'."\n";
225
		$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.nl2br($ligne['bf_description']).'</div>'."\n";
-
 
226
		$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
225
		$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
227
		
226
		for ($i=0; $i<count($tableau); $i++) {
-
 
227
			if (isset($ligne[$tableau[$i]['nom_bdd']]) && ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' ) ) {
-
 
228
				$val=$tableau[$i]['nom_bdd'];
-
 
229
				if (!in_array($val, array ('bf_titre', 'bf_description'))) {
-
 
230
					if ($ligne[$val] != '' and $ligne[$val] != BAZ_CHOISIR and $ligne[$val] != BAZ_NON_PRECISE) {
-
 
231
						$res .= '<div class="BAZ_rubrique  BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
-
 
232
						$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.nl2br($ligne[$val]).'</span>'."\n".'</div>'."\n";
-
 
233
					}
-
 
234
				}
228
		/** Boucle d affichage des resultats
235
			}
-
 
236
			elseif ( $tableau[$i]['type']=='champs_mail' ) {
-
 
237
				$val=$tableau[$i]['nom_bdd'];
-
 
238
				if ($ligne[$val] != '' and $ligne[$val] != BAZ_CHOISIR and $ligne[$val] != BAZ_NON_PRECISE) {
-
 
239
						$res .= '<div class="BAZ_rubrique  BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
-
 
240
						$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"><a href="mailto:'.$ligne[$val].'"> '.nl2br($ligne[$val]).'</a></span>'."\n".'</div>'."\n";				
229
		 * 
241
				}
230
		 */
242
			}
231
		 
243
			elseif ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' ) {
232
		 // Le parametre pas_de_carte permet a l element de type cartegoogle
244
				//pour les champs renseignes par une liste, on va chercher le label de la liste, plutot que l'id				
-
 
245
				$requete = 'SELECT blv_label FROM bazar_fiche_valeur_liste, bazar_liste_valeurs WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].
-
 
246
				' AND  bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND bfvl_valeur=blv_valeur AND blv_ce_liste='.$tableau[$i]['nom_bdd'].' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
233
		 // de ne pas renvoyer la carte lors de l affichage d une fiche (par exemple dans les fiches du calendrier)
247
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
234
		$danslappli == 1 ? $GLOBALS['pas_de_carte'] = 0 : $GLOBALS['pas_de_carte'] = 1; 
248
				if (DB::isError ($resultat)) {
235
		for ($i=0; $i < count($tableau); $i++) {
249
					die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
-
 
250
				}
236
			if (isset($ligne[$tableau[$i]['nom_bdd']])) {
251
				$val='';$nb=0;
237
				$type = $tableau[$i]['type'];
-
 
238
				$valeur = $ligne[$tableau[$i]['nom_bdd']];
252
				while ($tab = $resultat->fetchRow()) {
239
			
253
					if ($nb>0) $val .= ', ';
240
			} else {
254
					$val .= $tab[0];
241
				$type = $tableau[$i]['type'];
255
					$nb++;
-
 
256
				}				
-
 
257
				if ($val != '' and $val != BAZ_CHOISIR and $val != BAZ_NON_PRECISE) {
-
 
258
					$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="rubrique_'.$tableau[$i]['nom_bdd'].'">'.$tableau[$i]['label'].':</span>'."\n";
-
 
259
					$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="description_'.$tableau[$i]['nom_bdd'].'"> '.$val.'</span>'."\n".'</div>'."\n";
-
 
260
				}
242
				$valeur = '';
261
			}
-
 
262
			elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
-
 
263
				$val=$tableau[$i]['nom_bdd'];
-
 
264
				if (!in_array($val, array ('bf_date_debut_validite_fiche', 'bf_date_fin_validite_fiche'))) {
-
 
265
					if ($ligne[$val] != '' && $ligne[$val] != '0000-00-00') {
-
 
266
						// Petit test pour afficher la date de debut et de fin d evenement
-
 
267
						if ($val == 'bf_date_debut_evenement' || $val == 'bf_date_fin_evenement') {
-
 
268
							if ($ligne['bf_date_debut_evenement'] == $ligne['bf_date_fin_evenement']) {
-
 
269
								if ($val == 'bf_date_debut_evenement') continue;
-
 
270
								$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.BAZ_LE.':</span>'."\n";
-
 
271
								$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne['bf_date_debut_evenement'])).'</span>'."\n".'</div>'."\n";
-
 
272
								continue;	
-
 
273
							} else {
243
			}
274
																
244
			
275
								if ($val == 'bf_date_debut_evenement') {
-
 
276
									$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">';
245
			$element = Bazar_element::factory($type, $tableau[$i]);
277
									$res .= BAZ_DU;
-
 
278
									$res .= '</span>'."\n".'<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n";									
246
			if (!PEAR::isError($element)) {
279
								} else {
-
 
280
									$res .= '<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.BAZ_AU;
-
 
281
									$res .= '</span>'."\n".'<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n".'</div>'."\n";
247
				$res .= $element->toHTML($valeur);
282
								}
-
 
283
								
-
 
284
								continue;
-
 
285
							}
-
 
286
						}
248
			} else {
287
						
-
 
288
						$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
-
 
289
						$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n".'</div>'."\n";
-
 
290
					}
-
 
291
				}		
249
 
292
			}
250
			}
293
			elseif ( $tableau[$i]['type']=='wikini' ) {
251
			if ( $tableau[$i]['type']=='wikini' ) {
294
				$res .= '<div class="BAZ_lien_wikini BAZ_lien_wikini_'.$GLOBALS['_BAZAR_']['class'].'"><a href="wikini/'.genere_nom_wiki2($ligne["bf_titre"], TRUE).'">'.BAZ_ENTRER_PROJET.'</a></div>'."\n";
-
 
295
			} elseif ($tableau[$i]['type']=='labelhtml') {
-
 
296
				// On ecrit le label uniquement si le champs obligatoire est a 1
-
 
297
				if ($tableau[$i]['obligatoire'] == 1) $res .= '<div class="BAZ_label BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.$tableau[$i]['label'].'</div>'."\n";
252
				$res .= '<div class="BAZ_lien_wikini BAZ_lien_wikini_'.$GLOBALS['_BAZAR_']['class'].'"><a href="wikini/'.genere_nom_wiki2($ligne["bf_titre"], TRUE).'">'.BAZ_ENTRER_PROJET.'</a></div>'."\n";
298
			}
253
			} 
299
		}
254
		}
300
		//afficher les liens pour l'annonce
255
		//afficher les liens pour l'annonce
301
		$requete = 'SELECT  bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
256
		$requete = 'SELECT  bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
302
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
257
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
Line 657... Line 612...
657
* @param   string La requete SQL personnalisee
612
* @param   string La requete SQL personnalisee
658
* @param   integer La categorie des fiches bazar
613
* @param   integer La categorie des fiches bazar
659
*
614
*
660
* @return  string Le code du flux RSS
615
* @return  string Le code du flux RSS
661
*/
616
*/
662
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='') {
617
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='', $order = '') {
663
	// generation de la requete MySQL personnalisee
618
	// generation de la requete MySQL personnalisee
664
	$req_where=0;
619
	$req_where=0;
665
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description,  bn_label_nature, bf_date_creation_fiche '.
620
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description,  bn_label_nature, bf_date_creation_fiche '.
666
				'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
621
				'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
667
	if ($valide!=2) {
622
	if ($valide!=2) {
Line 1108... Line 1063...
1108
		//preparation de la requete pour trouver les mots cles
1063
		//preparation de la requete pour trouver les mots cles
1109
		if (($_REQUEST['recherche_mots_cles']!='')and($_REQUEST['recherche_mots_cles']!=BAZ_MOT_CLE)) {
1064
		if (($_REQUEST['recherche_mots_cles']!='')and($_REQUEST['recherche_mots_cles']!=BAZ_MOT_CLE)) {
1110
			//decoupage des mots cles
1065
			//decoupage des mots cles
1111
			$recherche = split(' ', $_REQUEST['recherche_mots_cles']) ;
1066
			$recherche = split(' ', $_REQUEST['recherche_mots_cles']) ;
1112
			$nbmots=count($recherche);
1067
			$nbmots=count($recherche);
1113
			$requeteSQL=''; 
1068
			$requeteSQL='';
-
 
1069
			if (isset($GLOBALS['_BAZAR_']['categorie_nature']))
-
 
1070
			$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
-
 
1071
			
1114
			for ($i=0; $i<$nbmots; $i++) {
1072
			for ($i=0; $i<$nbmots; $i++) {
-
 
1073
				for ($j=0; $j<count($tableau); $j++) {
-
 
1074
					if ( $tableau[$j]['type']=='texte' || $tableau[$j]['type']=='textelong') { 
1115
				if ($i>0) $requeteSQL.=' OR ';
1075
						//if ($i>0) $requeteSQL.=' OR ';
1116
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
1076
						$requeteSQL.= $tableau[$j]['nom_bdd'].' LIKE "%'.$recherche[$i].'%" or ';
-
 
1077
					}
-
 
1078
				}
1117
			}
1079
			}
-
 
1080
			$requeteSQL = substr($requeteSQL, 0, count($requeteSQL) - 4);
1118
		}
1081
		}
1119
		if (!isset($_REQUEST['nature'])) {
1082
		if (!isset($_REQUEST['nature'])) {
1120
			if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
1083
			if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
1121
			else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ; 
1084
			else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ; 
1122
		} else {
1085
		} else {
Line 1263... Line 1226...
1263
}
1226
}
Line 1264... Line 1227...
1264
 
1227
 
1265
/* +--Fin du code ----------------------------------------------------------------------------------------+
1228
/* +--Fin du code ----------------------------------------------------------------------------------------+
1266
*
1229
*
-
 
1230
* $Log: not supported by cvs2svn $
-
 
1231
* Revision 1.99.2.12  2008-03-17 14:02:53  jp_milcent
-
 
1232
* Ajout d'un message demandant de s'identifiez pour poser des commentaires.
-
 
1233
* Amélioration du XHTML (me prévenir en cas de pb).
1267
* $Log: not supported by cvs2svn $
1234
*
1268
* Revision 1.99.2.11  2008-03-17 11:03:02  jp_milcent
1235
* Revision 1.99.2.11  2008-03-17 11:03:02  jp_milcent
1269
* Ajout de l'authentification nécessaire pour déposer des commentaires.
1236
* Ajout de l'authentification nécessaire pour déposer des commentaires.
1270
* Corrections sur la gestion des paramêtres dans les urls (compatibilité applette Identification et Moteur de Recherche).
1237
* Corrections sur la gestion des paramêtres dans les urls (compatibilité applette Identification et Moteur de Recherche).
1271
*
1238
*