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 |
*
|