Subversion Repositories Applications.bazar

Rev

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

Rev 178 Rev 185
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.64 2007-02-02 14:00:41 alexandre_tb Exp $
22
// CVS : $Id: bazar.fonct.rss.php,v 1.65 2007-02-15 14:18:38 jp_milcent 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.64 $
31
*@version       $Revision: 1.65 $
32
// +------------------------------------------------------------------------------------------------------+
32
// +------------------------------------------------------------------------------------------------------+
33
*/
33
*/
Line 34... Line 34...
34
 
34
 
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
Line 167... Line 167...
167
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
167
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
168
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
168
	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
169
	    : '';
169
	    : '';
Line 170... Line 170...
170
	
170
	
171
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
171
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
Line 172... Line 172...
172
	if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce'] = $ligne['bf_ce_nature'];
172
	if (!isset($GLOBALS['_BAZAR_']['id_typeannonce'])) $GLOBALS['_BAZAR_']['id_typeannonce'] = $ligne['bf_ce_nature'];
173
	
173
	
174
	//on verifie si l'utilisateur est administrateur
174
	//on verifie si l'utilisateur est administrateur
175
	$est_admin=0;
175
	$est_admin=0;
176
	$requete='SELECT bn_id_nature, bn_template, bn_commentaire FROM bazar_nature WHERE bn_id_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
176
	$requete='SELECT bn_id_nature, bn_template, bn_commentaire, bn_label_nature FROM bazar_nature WHERE bn_id_nature = '.$GLOBALS['_BAZAR_']['id_typeannonce'];
177
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
177
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
178
	if (DB::isError($resultat)) {
178
	if (DB::isError($resultat)) {
179
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
179
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
Line 189... Line 189...
189
		        $est_admin=1;
189
		        $est_admin=1;
190
		}
190
		}
191
	}
191
	}
192
	//affiche le titre sous forme d'image
192
	//affiche le titre sous forme d'image
193
	if (isset ($GLOBALS['_BAZAR_']['image_titre']) && $GLOBALS['_BAZAR_']['image_titre']!='') {
193
	if (isset ($GLOBALS['_BAZAR_']['image_titre']) && $GLOBALS['_BAZAR_']['image_titre']!='') {
194
		$res .= '<img id="BAZ_img_titre" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_titre'].'" alt="'.$GLOBALS['_BAZAR_']['typeannonce'].'" />'.'<br />'."\n";
194
		$res .= '<img id="BAZ_img_titre" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_titre'].'" alt="'.$result['bn_label_nature'].'" />'.'<br />'."\n";
195
	}
195
	}
196
	//affiche le texte sinon
196
	//affiche le texte sinon
197
	else {
197
	else {
198
		//$res .= '<h2 class="BAZ_titre">'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
198
		//$res .= '<h2 class="BAZ_titre">'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
199
	}
199
	}
Line 540... Line 540...
540
* @return  string Le code du flux RSS
540
* @return  string Le code du flux RSS
541
*/
541
*/
542
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='') {
542
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='') {
543
	// generation de la requete MySQL personnalisee
543
	// generation de la requete MySQL personnalisee
544
	$req_where=0;
544
	$req_where=0;
545
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description,  bn_label_nature '.
545
	$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description,  bn_label_nature, bf_date_creation_fiche '.
546
				'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
546
				'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
547
	if ($valide!=2) {
547
	if ($valide!=2) {
548
		$requete .= 'bf_statut_fiche='.$valide;
548
		$requete .= 'bf_statut_fiche='.$valide;
549
		$req_where=1;
549
		$req_where=1;
550
	}
550
	}
Line 552... Line 552...
552
	if (!is_array ($typeannonce) && $typeannonce!='' and $typeannonce!='toutes') {
552
	if (!is_array ($typeannonce) && $typeannonce!='' and $typeannonce!='toutes') {
553
		if ($req_where==1) {$requete .= ' AND ';}
553
		if ($req_where==1) {$requete .= ' AND ';}
554
		$requete .= 'bf_ce_nature='.$typeannonce;
554
		$requete .= 'bf_ce_nature='.$typeannonce;
555
		$req_where=1;
555
		$req_where=1;
556
		//le nom du flux devient le type d'annonce
556
		//le nom du flux devient le type d'annonce
557
		$requete_nom_flux = 'select bn_label_nature from bazar_nature where bn_id_nature='.$typeannonce ;
557
		$requete_nom_flux = 'select bn_label_nature from bazar_nature where bn_id_nature = '.$typeannonce;
558
		$nomflux = $GLOBALS['_BAZAR_']['db']->getOne($requete_nom_flux) ;
558
		$nomflux = $GLOBALS['_BAZAR_']['db']->getOne($requete_nom_flux) ;
559
	}
559
	}
560
	// Cas où il y plusieurs type d annonce demande
560
	// Cas où il y plusieurs type d annonce demande
561
	if (is_array ($typeannonce)) {
561
	if (is_array ($typeannonce)) {
562
		if ($req_where==1) {$requete .= ' AND ';}
562
		if ($req_where==1) {$requete .= ' AND ';}
Line 599... Line 599...
599
		$requete .= '('.$requeteSQL.')';
599
		$requete .= '('.$requeteSQL.')';
600
		$req_where=1;
600
		$req_where=1;
601
	}
601
	}
602
	if ($categorie_nature!='') {
602
	if ($categorie_nature!='') {
603
		if ($req_where==1) {$requete .= ' AND ';}
603
		if ($req_where==1) {$requete .= ' AND ';}
604
		$requete .= 'bn_ce_id_menu='.$categorie_nature.' ';
604
		$requete .= 'bn_ce_id_menu IN ('.$categorie_nature.') ';
605
		$req_where=1;
605
		$req_where=1;
606
	}
606
	}
Line 607... Line 607...
607
	
607
	
608
	$requete .= ' ORDER BY   bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
608
	$requete .= ' ORDER BY   bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
Line 636... Line 636...
636
			if ($_GET['action'] != BAZ_VOIR_TOUTES_ANNONCES) {
636
			if ($_GET['action'] != BAZ_VOIR_TOUTES_ANNONCES) {
637
				//$xml .= baz_voir_fiche(0,$ligne['bf_id_fiche']) ;
637
				//$xml .= baz_voir_fiche(0,$ligne['bf_id_fiche']) ;
638
				$xml .= $ligne['bf_description'] ;
638
				$xml .= $ligne['bf_description'] ;
639
			}
639
			}
640
			$xml .= ']]>'."\n".'</description>'."\n";
640
			$xml .= ']]>'."\n".'</description>'."\n";
-
 
641
			if ($ligne['bf_date_debut_validite_fiche'] == '0000-00-00') $date_pub = $ligne[' bf_date_creation_fiche'] ; else 
-
 
642
					$date_pub =  $ligne['bf_date_debut_validite_fiche'];
641
			$xml .= '<pubDate>'.strftime('%d %b %Y %H:%M:%S GMT',strtotime($ligne['bf_date_debut_validite_fiche'])).'</pubDate>'."\n";
643
			$xml .= '<pubDate>'.strftime('%d %b %Y %H:%M:%S GMT',strtotime($date_pub)).'</pubDate>'."\n";
642
			$xml .= '</item>'."\n";
644
			$xml .= '</item>'."\n";
643
		}
645
		}
644
	}
646
	}
645
	else {//pas d'annonces
647
	else {//pas d'annonces
646
		$xml .= '<item>'."\n";
648
		$xml .= '<item>'."\n";
Line 683... Line 685...
683
	
685
	
684
		
686
		
685
	//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces 
687
	//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces 
686
	//requete pour obtenir l'id et le label des types d'annonces
688
	//requete pour obtenir l'id et le label des types d'annonces
687
	$requete = 'SELECT bn_id_nature, bn_label_nature '.
689
	$requete = 'SELECT bn_id_nature, bn_label_nature '.
688
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' '.
690
	           'FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '.
689
			   'ORDER BY bn_label_nature ASC';
691
			   'ORDER BY bn_label_nature ASC';
690
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
692
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
691
	if (DB::isError($resultat)) {
693
	if (DB::isError($resultat)) {
Line 781... Line 783...
781
				if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
783
				if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
782
					$_REQUEST['nature'] = $tableau_typeannonces[0];
784
					$_REQUEST['nature'] = $tableau_typeannonces[0];
783
				}
785
				}
784
			}
786
			}
785
			// Récupération du template
787
			// Récupération du template
786
			$requete = 'SELECT bn_template FROM bazar_nature WHERE bn_id_nature="'.$_REQUEST['nature'].'"';
788
			$requete = 'SELECT bn_template FROM bazar_nature WHERE bn_id_nature = '.$_REQUEST['nature'];
787
			$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
789
			$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
788
			if (DB::isError($resultat)) {
790
			if (DB::isError($resultat)) {
789
				die ($resultat->getMessage().$resultat->getDebugInfo()) ;
791
				die ($resultat->getMessage().$resultat->getDebugInfo()) ;
790
			}
792
			}
Line 828... Line 830...
828
 
830
 
829
	// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
831
	// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
830
	$case_coche = false ;
832
	$case_coche = false ;
831
	$nb_jointures=0;
833
	$nb_jointures=0;
832
	$requeteFrom = '' ;
834
	$requeteFrom = '' ;
833
	$requeteWhere = ' bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' AND bn_id_nature=bf_ce_nature AND ' ;
835
	$requeteWhere = ' bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') AND bn_id_nature=bf_ce_nature AND ' ;
Line 834... Line 836...
834
	$requeteWhereListe = '' ;
836
	$requeteWhereListe = '' ;
835
	
837
	
836
 	if ( isset($tableau) ) {
838
 	if ( isset($tableau) ) {
Line 905... Line 907...
905
		$res .= '<br /><p class="zone_info">'."\n".BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
907
		$res .= '<br /><p class="zone_info">'."\n".BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
906
		$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
908
		$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
907
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FLUX_RSS);
909
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FLUX_RSS);
908
		$GLOBALS['_BAZAR_']['url']->addQueryString('annonce', $typeannonce);
910
		$GLOBALS['_BAZAR_']['url']->addQueryString('annonce', $typeannonce);
909
		$GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature', $GLOBALS['_BAZAR_']['categorie_nature']);
911
		$GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature', $GLOBALS['_BAZAR_']['categorie_nature']);
910
		/*$res .= '{{Syndication titre="Les derni&egrave;res fiches enregistrées" url="'.preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()).
912
		/*$res .= '{{Syndication titre="'.BAZ_DERNIERES_FICHES.'" url="'.preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()).
911
                '" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';*/
913
                '" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';*/
912
	}
914
	}
Line 913... Line 915...
913
	
915
	
914
	// Appel du template n 1
916
	// Appel du template n 1
Line 1008... Line 1010...
1008
		$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur[0]) ;
1010
		$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur[0]) ;
1009
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE) ;
1011
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE) ;
1010
		$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur[1].'</a>'."\n" ;
1012
		$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur[1].'</a>'."\n" ;
1011
		if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur[2]) {
1013
		if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur[2]) {
1012
			$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_MODIFIER);
1014
			$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_MODIFIER);
-
 
1015
			$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
1016
			$GLOBALS['_BAZAR_']['url']->removeQueryString('personnes');
-
 
1017
			$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_effectuee');
1013
			$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">('.BAZ_MODIFIER.')</a>&nbsp;' ;
1018
			$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">('.BAZ_MODIFIER.')</a>&nbsp;' ;
1014
			$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
1019
			$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
1015
			$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION);
1020
			$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION);
1016
			$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>' ;
1021
			$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>' ;
1017
			$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
1022
			$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
Line 1025... Line 1030...
1025
}
1030
}
Line 1026... Line 1031...
1026
 
1031
 
1027
/* +--Fin du code ----------------------------------------------------------------------------------------+
1032
/* +--Fin du code ----------------------------------------------------------------------------------------+
1028
*
1033
*
-
 
1034
* $Log: not supported by cvs2svn $
-
 
1035
* Revision 1.64  2007/02/02 14:00:41  alexandre_tb
-
 
1036
* mise en place d'un template pour l'affichage du moteur de recherche
1029
* $Log: not supported by cvs2svn $
1037
*
1030
* Revision 1.63  2007/01/18 14:37:34  alexandre_tb
1038
* Revision 1.63  2007/01/18 14:37:34  alexandre_tb
1031
* backport
1039
* backport
1032
* les dates ne s'affichent pas si elles sont vides.
1040
* les dates ne s'affichent pas si elles sont vides.
-
 
1041
* les champs dates propose 4 années avant l'année actuelle
-
 
1042
*
-
 
1043
* Revision 1.60.2.6  2007/02/15 13:42:16  jp_milcent
-
 
1044
* Utilisation de IN à la place du = dans les requêtes traitant les catégories de fiches.
-
 
1045
* Permet d'utiliser la syntaxe 1,2,3 dans la configuration de categorie_nature.
-
 
1046
*
-
 
1047
* Revision 1.60.2.5  2007/02/02 13:46:54  alexandre_tb
-
 
1048
* correction bug sur une date
-
 
1049
*
-
 
1050
* Revision 1.60.2.4  2007/01/30 15:45:01  alexandre_tb
-
 
1051
* affichage de la date de création e la fiche lorsque la date de début de validité n'est plus bonne
-
 
1052
*
-
 
1053
* Revision 1.60.2.3  2007/01/29 10:53:46  alexandre_tb
1033
* les champs dates propose 4 années avant l'année actuelle
1054
* Mise en place de la constante BAZ_DERNIERES_FICHES pour remplacer le label en francais dans baz_liste
1034
*
1055
*
1035
* Revision 1.60.2.2  2007/01/17 16:01:27  alexandre_tb
1056
* Revision 1.60.2.2  2007/01/17 16:01:27  alexandre_tb
1036
* les dates ne s'affichent pas si elles sont vides.
1057
* les dates ne s'affichent pas si elles sont vides.
1037
* les champs dates propose 4 années avant l'année actuelle
1058
* les champs dates propose 4 années avant l'année actuelle