Subversion Repositories Applications.bazar

Compare Revisions

Ignore whitespace Rev 21 → Rev 22

/trunk/bibliotheque/bazar.fonct.rss.php
57,7 → 57,7
$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() )';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
//cas ou un commetaire va été supprimé
//cas ou un commentaire va être supprimé
elseif (isset($_GET['id_commentaire'])) {
$requete = 'DELETE FROM bazar_commentaires WHERE bc_id_commentaire='.$_GET['id_commentaire'].' LIMIT 1';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
233,7 → 233,7
$res .= '</div>'."\n";
//on ajoute les commentaires, s'il le faut
if ($GLOBALS['_BAZAR_']['commentaire']==1) {
if (($danslappli==1)and($GLOBALS['_BAZAR_']['commentaire']==1)) {
$res .= '<div class="BAZ_cadre_fiche">'."\n";
$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
292,7 → 292,7
}
//on ajoute les appropriations, s'il le faut
if ($GLOBALS['_BAZAR_']['appropriation']==1) {
if (($danslappli==1)and($GLOBALS['_BAZAR_']['appropriation']==1)) {
$res .= '<div class="BAZ_cadre_fiche">'."\n";
$res .= '<div class="BAZ_cadre_fiche_haut">&nbsp;</div>'."\n";
$res .= '<div class="BAZ_cadre_fiche_corps">'."\n";
358,7 → 358,7
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='') {
// génération de la requete MySQL personnalisée
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bn_label_nature FROM bazar_fiche, bazar_nature';
$requete .= ' WHERE bf_statut_fiche='.$valide;
$requete .= ' WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' AND bf_statut_fiche='.$valide;
$nomflux=BAZ_DERNIERE_ACTU;
if (($typeannonce!='')and($typeannonce!='toutes')) {
$requete .= ' AND bn_label_nature="'.$typeannonce.'"';
380,7 → 380,7
$nomflux .= ' ('.$ligne[BAZ_CHAMPS_NOM].' '.$ligne[BAZ_CHAMPS_PRENOM].')';
}
if ($requeteSQL!='') $requete .= ' AND ('.$requeteSQL.')';
$requete .= ' ORDER BY bf_date_debut_validite_fiche, bf_date_fin_validite_fiche, bf_date_maj_fiche DESC';
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
415,7 → 415,7
else {//pas d'annonces
$xml .= '<item>'."\n";
$xml .= '<title>'.BAZ_PAS_D_ANNONCES.'</title>'."\n";
$xml .= '<link></link>'."\n";
$xml .= '<link>#</link>'."\n";
$xml .= '<description>'.BAZ_PAS_D_ANNONCES.'</description>'."\n";
$xml .= '<pubDate>'.strftime('%d %b %Y %H:%M:%S GMT',strtotime('12/12/2004')).'</pubDate>'."\n";
$xml .= '</item>'."\n";
430,9 → 430,87
* @return string le code HTML à afficher
*/
function baz_liste($typeannonce='toutes') {
//titre
if ($typeannonce=='toutes') $res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2>'."\n";
else $res= '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.$typeannonce.'</h2>'."\n";
$res.=RSSversHTML(gen_RSS($typeannonce, '', '', 1, ''), 0, 'jm') ;
else $res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.$typeannonce.'</h2>'."\n";
//création du lien pour le formulaire de recherche
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
$lien_formulaire=preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
$squelette =&$formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'<ul>'."\n".'{content}'."\n".'</ul>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li class="enligne">'."\n".'{element}'."\n".
'</li>'."\n");
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_label_nature '.
'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.
' or bn_ce_id_menu=0 ORDER BY bn_label_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature'];
}
$option=array('style'=>'width: 130px;', 'onchange'=>'this.form.submit();');
$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
//requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '.
'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.' '.
'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
}
$option=array('style'=>'width: 130px;', 'onchange'=>'this.form.submit();');
$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
//champs texte pour entrer les mots clés
$option=array('size'=>15,'maxlength'=>40);
$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
$defauts=array('recherche_mots_cles'=>BAZ_MOT_CLE);
$formtemplate->setDefaults($defauts);
//Bouton de validation du formulaire
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
$formtemplate->addGroup($bouton, null, null, '');
$requeteSQL='';
//affichage des résultats de la recherche si le formulaire a été envoyé
if (isset($_POST['nature'])) {
$res.= $formtemplate->toHTML() ;
//préparation de la requète pour trouver les mots clés
if ($_POST['recherche_mots_cles']!='') {
//découpage des mots clés
$recherche = split(' ', $_POST['recherche_mots_cles']) ;
$nbmots=count($recherche);
for ($i=0; $i<$nbmots; $i++) {
if ($i>0) $requeteSQL.=' OR ';
$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
}
}
//génération de l'affichage
$res.=RSSversHTML(gen_RSS($_POST['nature'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ;
}
else {
//Bouton de validation du formulaire
$res.=$formtemplate->toHTML()."\n";
}
$res .= RSSversHTML(gen_RSS($typeannonce, '', '', 1, ''), 0, 'jm') ;
return $res;
}