Subversion Repositories Applications.bazar

Rev

Rev 53 | Rev 55 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 53 Rev 54
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
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.php,v 1.18 2005-11-18 16:03:23 florian Exp $
22
// CVS : $Id: bazar.fonct.php,v 1.19 2005-11-24 16:17:13 florian Exp $
23
/**
23
/**
24
*
24
*
25
* Fonctions du module bazar
25
* Fonctions du module bazar
26
*
26
*
27
*@package bazar
27
*@package bazar
28
//Auteur original :
28
//Auteur original :
29
*@author        Alexandre Granier <alexandre@tela-botanica.org>
29
*@author        Alexandre Granier <alexandre@tela-botanica.org>
30
*@author        Florian Schmitt <florian@ecole-et-nature.org>
30
*@author        Florian Schmitt <florian@ecole-et-nature.org>
31
//Autres auteurs :
31
//Autres auteurs :
32
*@copyright     Tela-Botanica 2000-2004
32
*@copyright     Tela-Botanica 2000-2004
33
*@version       $Revision: 1.18 $ $Date: 2005-11-18 16:03:23 $
33
*@version       $Revision: 1.19 $ $Date: 2005-11-24 16:17:13 $
34
// +------------------------------------------------------------------------------------------------------+
34
// +------------------------------------------------------------------------------------------------------+
35
*/
35
*/
36
 
36
 
37
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
38
// |                                            ENTETE du PROGRAMME                                       |
38
// |                                            ENTETE du PROGRAMME                                       |
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm.php' ;
40
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm.php' ;
41
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/checkbox.php' ;
41
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/checkbox.php' ;
42
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/textarea.php' ;
42
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/textarea.php' ;
43
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Table.php' ;
43
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Table.php' ;
44
require_once 'bazar.fonct.formulaire.php';
44
require_once 'bazar.fonct.formulaire.php';
45
require_once 'bazar.fonct.rss.php';
45
require_once 'bazar.fonct.rss.php';
46
 
46
 
47
// +------------------------------------------------------------------------------------------------------+
47
// +------------------------------------------------------------------------------------------------------+
48
// |                                           LISTE de FONCTIONS                                         |
48
// |                                           LISTE de FONCTIONS                                         |
49
// +------------------------------------------------------------------------------------------------------+
49
// +------------------------------------------------------------------------------------------------------+
50
 
50
 
51
/** niveau_droit() - Retourne le niveau de droit de l'utilisateur
51
/** niveau_droit() - Retourne le niveau de droit de l'utilisateur
52
*
52
*
53
* @param   integer Id de la nature d'offre pour connaitre les droits sur une rubrique
53
* @param   integer Id de la nature d'offre pour connaitre les droits sur une rubrique
54
* @param   integer Id de la personne (par défaut la personne loguée)
54
* @param   integer Id de la personne (par défaut la personne loguée)
55
*
55
*
56
* @return   string Retourne 'redacteur', 'administrateur', 'superadministrateur', ou 'aucun'
56
* @return   string Retourne 'redacteur', 'administrateur', 'superadministrateur', ou 'aucun'
57
*/
57
*/
58
function niveau_droit($id_nature_offre='0', $personne) {
58
function niveau_droit($id_nature_offre='0', $personne) {
59
	$requete = 'select bd_niveau_droit FROM bazar_droits WHERE bd_id_utilisateur='.$personne.
59
	$requete = 'select bd_niveau_droit FROM bazar_droits WHERE bd_id_utilisateur='.$personne.
60
	           ' AND (bd_id_nature_offre='.$id_nature_offre.' OR bd_id_nature_offre=0)';
60
	           ' AND (bd_id_nature_offre='.$id_nature_offre.' OR bd_id_nature_offre=0)';
61
	$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ;
61
	$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ;
62
	if (DB::isError($resultat)) {
62
	if (DB::isError($resultat)) {
63
		die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
63
		die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
64
	}
64
	}
65
	if ($resultat->numRows() != 0) {
65
	if ($resultat->numRows() != 0) {
66
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
66
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
67
			if ($ligne['bd_niveau_droit']==0) return 'superadministrateur';
67
			if ($ligne['bd_niveau_droit']==0) return 'superadministrateur';
68
			if ($ligne['bd_niveau_droit']==1) return 'redacteur';
68
			if ($ligne['bd_niveau_droit']==1) return 'redacteur';
69
			if ($ligne['bd_niveau_droit']==2) return 'administrateur';
69
			if ($ligne['bd_niveau_droit']==2) return 'administrateur';
70
		}
70
		}
71
	}
71
	}
72
	else return 'aucun';
72
	else return 'aucun';
73
}
73
}
74
 
74
 
75
 
75
 
76
/** fiches_a_valider () - Renvoie les annonces restant à valider par un administrateur
76
/** fiches_a_valider () - Renvoie les annonces restant à valider par un administrateur
77
*
77
*
78
* @return   string  HTML
78
* @return   string  HTML
79
*/
79
*/
80
function fiches_a_valider() {
80
function fiches_a_valider() {
81
	// Pour les administrateurs d'une rubrique, on affiche les fiches a valider de cette rubrique
81
	// Pour les administrateurs d'une rubrique, on affiche les fiches a valider de cette rubrique
82
	// On effectue une requete sur le bazar pour voir les fiches a administrer
82
	// On effectue une requete sur le bazar pour voir les fiches a administrer
83
	$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2>';
83
	$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2>';
84
	$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' or  bn_ce_id_menu=0 ORDER BY bf_date_maj_fiche DESC' ;
84
	$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' or  bn_ce_id_menu=0 ORDER BY bf_date_maj_fiche DESC' ;
85
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
85
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
86
	if (DB::isError($resultat)) {
86
	if (DB::isError($resultat)) {
87
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
87
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
88
	}
88
	}
89
	if ($resultat->numRows() != 0) {
89
	if ($resultat->numRows() != 0) {
90
		$tableAttr = array('id' => 'table_bazar') ;
90
		$tableAttr = array('id' => 'table_bazar') ;
91
		$table = new HTML_Table($tableAttr) ;
91
		$table = new HTML_Table($tableAttr) ;
92
		$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
92
		$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
93
		$table->addRow($entete) ;
93
		$table->addRow($entete) ;
94
		$table->setRowType (0, 'th') ;
94
		$table->setRowType (0, 'th') ;
95
		
95
		
96
		// On affiche une ligne par proposition
96
		// On affiche une ligne par proposition
97
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
97
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
98
			//Requete pour trouver le nom et prénom de l'annonceur
98
			//Requete pour trouver le nom et prénom de l'annonceur
99
			$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
99
			$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
100
			$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
100
			$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
101
			if (DB::isError($resultatnomprenom)) {
101
			if (DB::isError($resultatnomprenom)) {
102
				die ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
102
				die ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
103
			}
103
			}
104
			while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
104
			while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
105
				$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
105
				$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
106
			}
106
			}
107
			$lien_voir=$GLOBALS['_BAZAR_']['url'];
107
			$lien_voir=$GLOBALS['_BAZAR_']['url'];
108
			$lien_voir->addQueryString('action', BAZ_VOIR_FICHE);
108
			$lien_voir->addQueryString('action', BAZ_VOIR_FICHE);
109
			$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
109
			$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
110
			$lien_voir->addQueryString('typeannonce', $ligne['bn_label_nature']);
110
			$lien_voir->addQueryString('typeannonce', $ligne['bn_label_nature']);
111
			
111
			
112
			$lien_publie_oui=$GLOBALS['_BAZAR_']['url'];
112
			$lien_publie_oui=$GLOBALS['_BAZAR_']['url'];
113
			$lien_publie_oui->addQueryString('action', BAZ_ACTION_PUBLIER);
113
			$lien_publie_oui->addQueryString('action', BAZ_ACTION_PUBLIER);
114
			$lien_publie_oui->addQueryString('id_fiche', $ligne['bf_id_fiche']);
114
			$lien_publie_oui->addQueryString('id_fiche', $ligne['bf_id_fiche']);
115
			$lien_publie_oui->addQueryString('typeannonce', $ligne['bn_label_nature']);
115
			$lien_publie_oui->addQueryString('typeannonce', $ligne['bn_label_nature']);
116
			
116
			
117
			$lien_publie_non=$GLOBALS['_BAZAR_']['url'];
117
			$lien_publie_non=$GLOBALS['_BAZAR_']['url'];
118
			$lien_publie_non->addQueryString('action', BAZ_ACTION_PAS_PUBLIER);
118
			$lien_publie_non->addQueryString('action', BAZ_ACTION_PAS_PUBLIER);
119
			$lien_publie_non->addQueryString('id_fiche', $ligne['bf_id_fiche']);
119
			$lien_publie_non->addQueryString('id_fiche', $ligne['bf_id_fiche']);
120
			$lien_publie_non->addQueryString('typeannonce', $ligne['bn_label_nature']);
120
			$lien_publie_non->addQueryString('typeannonce', $ligne['bn_label_nature']);
121
			
121
			
122
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
122
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
123
			$lien_supprimer->addQueryString('action', BAZ_ACTION_SUPPRESSION);
123
			$lien_supprimer->addQueryString('action', BAZ_ACTION_SUPPRESSION);
124
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
124
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
125
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_label_nature']);
125
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_label_nature']);
126
			
126
			
127
			$table->addRow (array(
127
			$table->addRow (array(
128
			                '<a href="'.$lien_voir->getURL().'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom 
128
			                '<a href="'.$lien_voir->getURL().'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom 
129
					$annonceur."\n", // col 2 : annonceur
129
					$annonceur."\n", // col 2 : annonceur
130
					$ligne['bn_label_nature']."\n", // col 3 : type annonce
130
					$ligne['bn_label_nature']."\n", // col 3 : type annonce
131
					"<a href=\"".$lien_publie_oui->getURL()."\">".BAZ_OUI."</a> / \n".
131
					"<a href=\"".$lien_publie_oui->getURL()."\">".BAZ_OUI."</a> / \n".
132
					"<a href=\"".$lien_publie_non->getURL()."\">".BAZ_NON."</a>", // col 4 : publier ou pas
132
					"<a href=\"".$lien_publie_non->getURL()."\">".BAZ_NON."</a>", // col 4 : publier ou pas
133
					"<a href=\"".$lien_supprimer->getURL()."\"".
133
					"<a href=\"".$lien_supprimer->getURL()."\"".
134
					" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
134
					" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
135
					
135
					
136
		}
136
		}
137
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
137
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
138
		$table->updateColAttributes(1, array("align" => "center"));
138
		$table->updateColAttributes(1, array("align" => "center"));
139
		$table->updateColAttributes(2, array("align" => "center"));
139
		$table->updateColAttributes(2, array("align" => "center"));
140
		$table->updateColAttributes(3, array("align" => "center"));
140
		$table->updateColAttributes(3, array("align" => "center"));
141
		$table->updateColAttributes(4, array("align" => "center"));
141
		$table->updateColAttributes(4, array("align" => "center"));
142
		$res .= $table->toHTML() ;
142
		$res .= $table->toHTML() ;
143
	}
143
	}
144
	else {
144
	else {
145
		$res .= BAZ_PAS_DE_FICHE_A_VALIDER ;
145
		$res .= BAZ_PAS_DE_FICHE_A_VALIDER ;
146
	}
146
	}
147
	
147
	
148
	return $res;
148
	return $res;
149
}
149
}
150
 
150
 
151
 
151
 
152
/** mes_fiches () - Renvoie les fiches bazar d'un utilisateur
152
/** mes_fiches () - Renvoie les fiches bazar d'un utilisateur
153
*
153
*
154
* @return   string  HTML
154
* @return   string  HTML
155
*/
155
*/
156
function mes_fiches() {
156
function mes_fiches() {
157
	if ($GLOBALS['AUTH']->getAuth()) {
157
	if ($GLOBALS['AUTH']->getAuth()) {
158
		$res= '<h2>'.BAZ_VOS_ANNONCES.'</h2>'."\n";
158
		$res= '<h2>'.BAZ_VOS_ANNONCES.'</h2>'."\n";
159
		// requête pour voir si l'utilisateur a des fiches à son nom, classées par date de MAJ et nature d'annonce
159
		// requête pour voir si l'utilisateur a des fiches à son nom, classées par date de MAJ et nature d'annonce
160
		$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_ce_utilisateur='. $GLOBALS['id_user'].
160
		$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_ce_utilisateur='. $GLOBALS['id_user'].
161
		           ' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' or  bn_ce_id_menu=0 ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC';
161
		           ' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.' or  bn_ce_id_menu=0 ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC';
162
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
162
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
163
		if (DB::isError($resultat)) {
163
		if (DB::isError($resultat)) {
164
			die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
164
			die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
165
		}
165
		}
166
		if ($resultat->numRows() != 0) {
166
		if ($resultat->numRows() != 0) {
167
			$tableAttr = array('id' => 'table_bazar') ;
167
			$tableAttr = array('id' => 'table_bazar') ;
168
			$table = new HTML_Table($tableAttr) ;
168
			$table = new HTML_Table($tableAttr) ;
169
			$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
169
			$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
170
			$table->addRow($entete) ;
170
			$table->addRow($entete) ;
171
			$table->setRowType (0, "th") ;
171
			$table->setRowType (0, "th") ;
172
					
172
					
173
		// On affiche une ligne par proposition
173
		// On affiche une ligne par proposition
174
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
174
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
175
			if ($ligne['bf_statut_fiche']==1) $publiee=BAZ_PUBLIEE;
175
			if ($ligne['bf_statut_fiche']==1) $publiee=BAZ_PUBLIEE;
176
			elseif ($ligne['bf_statut_fiche']==0) $publiee=BAZ_ENCOURSDEVALIDATION;
176
			elseif ($ligne['bf_statut_fiche']==0) $publiee=BAZ_ENCOURSDEVALIDATION;
177
			else $publiee=BAZ_REJETEE;
177
			else $publiee=BAZ_REJETEE;
178
			
178
			
179
			$lien_voir=$GLOBALS['_BAZAR_']['url'];
179
			$lien_voir=$GLOBALS['_BAZAR_']['url'];
180
			$lien_voir->addQueryString('action', BAZ_VOIR_FICHE);
180
			$lien_voir->addQueryString('action', BAZ_VOIR_FICHE);
181
			$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
181
			$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
182
			$lien_voir->addQueryString('typeannonce', $ligne['bn_label_nature']);
182
			$lien_voir->addQueryString('typeannonce', $ligne['bn_label_nature']);
183
			$lien_voir_url=$lien_voir->getURL();
183
			$lien_voir_url=$lien_voir->getURL();
184
			
184
			
185
			$lien_modifier=$GLOBALS['_BAZAR_']['url'];
185
			$lien_modifier=$GLOBALS['_BAZAR_']['url'];
186
			$lien_modifier->addQueryString('action', BAZ_ACTION_MODIFIER);
186
			$lien_modifier->addQueryString('action', BAZ_ACTION_MODIFIER);
187
			$lien_modifier->addQueryString('id_fiche', $ligne['bf_id_fiche']);
187
			$lien_modifier->addQueryString('id_fiche', $ligne['bf_id_fiche']);
188
			$lien_modifier->addQueryString('typeannonce', $ligne['bn_label_nature']);
188
			$lien_modifier->addQueryString('typeannonce', $ligne['bn_label_nature']);
189
			$lien_modifier_url=$lien_modifier->getURL();
189
			$lien_modifier_url=$lien_modifier->getURL();
190
			
190
			
191
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
191
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
192
			$lien_supprimer->addQueryString('action', BAZ_ACTION_SUPPRESSION);
192
			$lien_supprimer->addQueryString('action', BAZ_ACTION_SUPPRESSION);
193
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
193
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
194
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_label_nature']);
194
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_label_nature']);
195
			$lien_supprimer_url=$lien_supprimer->getURL();
195
			$lien_supprimer_url=$lien_supprimer->getURL();
196
			
196
			
197
			$table->addRow (array(
197
			$table->addRow (array(
198
			                '<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
198
			                '<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
199
					$ligne['bn_label_nature']."\n", // col 2: type annonce
199
					$ligne['bn_label_nature']."\n", // col 2: type annonce
200
					$publiee."\n", // col 3 : publiee ou non
200
					$publiee."\n", // col 3 : publiee ou non
201
					'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
201
					'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
202
					'<a href="'.$lien_supprimer_url.'" onclick="javascript:return
202
					'<a href="'.$lien_supprimer_url.'" onclick="javascript:return
203
					 confirm('.BAZ_CONFIRMATION_SUPPRESSION.');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 5 : supprimer
203
					 confirm('.BAZ_CONFIRMATION_SUPPRESSION.');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 5 : supprimer
204
		}
204
		}
205
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
205
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
206
		$table->updateColAttributes(1, array("align" => "center"));
206
		$table->updateColAttributes(1, array("align" => "center"));
207
		$table->updateColAttributes(2, array("align" => "center"));
207
		$table->updateColAttributes(2, array("align" => "center"));
208
		$table->updateColAttributes(3, array("align" => "center"));
208
		$table->updateColAttributes(3, array("align" => "center"));
209
		$table->updateColAttributes(4, array("align" => "center"));
209
		$table->updateColAttributes(4, array("align" => "center"));
210
		$res .= $table->toHTML() ;
210
		$res .= $table->toHTML() ;
211
		}
211
		}
212
	    else {
212
	    else {
213
	    	$res .= BAZ_PAS_DE_FICHE ;
213
	    	$res .= BAZ_PAS_DE_FICHE ;
214
	    }
214
	    }
215
	}
215
	}
216
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;;
216
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;;
217
	return $res;
217
	return $res;
218
}
218
}
219
 
219
 
220
 
220
 
221
/** baz_administrer_annonces() interface de modification de type d'annonces
221
/** baz_administrer_annonces() interface de modification de type d'annonces
222
*
222
*
223
*   return  string le code HTML
223
*   return  string le code HTML
224
*/
224
*/
225
function baz_administrer_annonces() {
225
function baz_administrer_annonces() {
226
	$res= '<h2>'.BAZ_ADMIN_ANNONCES.'</h2>'."\n";
226
	$res= '<h2>'.BAZ_ADMIN_ANNONCES.'</h2>'."\n";
227
	return $res;
227
	return $res;
228
}
228
}
229
 
229
 
230
 
-
 
231
/** baz_afficher_formulaire_annonce() - Génère le formulaire de saisie d'une annonce
-
 
232
*
-
 
233
* @param   string type de formulaire: insertion ou modification
-
 
234
* @param   mixed objet quickform du formulaire
-
 
235
*
-
 
236
* @return   string  code HTML avec formulaire
-
 
237
*/
-
 
238
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
-
 
239
	//verification de la modification des fichiers, des url ou des images
-
 
240
	if (isset($_GET['url'])) {
-
 
241
		if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
-
 
242
		if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
-
 
243
	}
-
 
244
	if (isset($_GET['fichier'])) {
-
 
245
		if ($_GET['fichier']==1) baz_insertion_fichier($_POST['fichier_description'], $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
246
		if ($_GET['fichier']==2) baz_suppression_fichier($_GET['id_fichier']);
-
 
247
	}
-
 
248
	if (isset($_GET['image'])) {
-
 
249
		if ($_GET['image']==1) baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']);	
-
 
250
		if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
-
 
251
	}
-
 
252
	
-
 
253
	//titre de la rubrique
-
 
254
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
-
 
255
	//Ajout des boutons
-
 
256
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, '&nbsp;');
-
 
257
	
-
 
258
	//ajout d'une page sur les conditions pour l'annonce si elles existent
-
 
259
	$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
-
 
260
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
-
 
261
	if (DB::isError($resultat)) {
-
 
262
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
263
	}
-
 
264
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
-
 
265
	if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
-
 
266
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
267
		$lien_formulaire->addQueryString('action', $_REQUEST['action']);
-
 
268
		$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
-
 
269
		require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/html.php';
-
 
270
		$conditions= new HTML_QuickForm_html('<tr><td colspan="2"><p style="padding:4px; margin:5px; width: 100%; background: #C1CBA7;">'.$ligne['bn_condition'].'</p></td></tr>');
-
 
271
		$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']);
-
 
272
		if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']);
-
 
273
		$formtemplate->addElement($conditions);
-
 
274
		$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
-
 
275
		$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
-
 
276
		$formtemplate->addGroup($bouton, null, null, '&nbsp;');
-
 
277
	}
-
 
278
	//affichage du formulaire si conditions acceptées
-
 
279
	else {		
-
 
280
	//Parcours du fichier de templates, pour mettre les champs specifiques
-
 
281
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
-
 
282
	for ($i=0; $i<count($tableau); $i++) {
-
 
283
		$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
284
		                     $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		
-
 
285
	}
-
 
286
	$formtemplate->addGroup($bouton, null, null, '&nbsp;');
-
 
287
	
-
 
288
	if ($mode=='modification') {
-
 
289
		//initialisation de la variable globale id_fiche
-
 
290
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
-
 
291
		
-
 
292
		//Ajout des valeurs par defaut
-
 
293
		$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
-
 
294
				
-
 
295
		//preparation des formulaires supplementaires
-
 
296
		//AJOUTER UNE IMAGE
-
 
297
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
298
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER);
-
 
299
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
300
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
301
		$lien_formulaire->addQueryString('image', '1');
-
 
302
		
-
 
303
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
-
 
304
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
305
		if (DB::isError ($resultat)) {
-
 
306
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
307
		}
-
 
308
		
-
 
309
		if ($resultat->numRows()>0) {
-
 
310
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
311
				$image=$ligne->bf_url_image;
-
 
312
			}
-
 
313
			if ($image!=NULL) {
-
 
314
				$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
-
 
315
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
316
				$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
317
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
318
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
319
				$lien_supprimer->addQueryString('image', '2');
-
 
320
				$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
-
 
321
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
322
				$formimage->addElement('html', $html) ;
-
 
323
			}
-
 
324
			else  {
-
 
325
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
326
				$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ;
-
 
327
				$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
328
				$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
329
				$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
330
				$formimage->addGroup($bouton, null, null, '');
-
 
331
			}
-
 
332
		}
-
 
333
		else {
-
 
334
			$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
335
			$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ;
-
 
336
			$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
337
			$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
338
			$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
339
			$formimage->addGroup($bouton, null, null, '');
-
 
340
		}
-
 
341
		
-
 
342
		//AJOUTER DES URL
-
 
343
		//recherche des URLs déjà entrées dans la base
-
 
344
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
345
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
346
		if (DB::isError ($resultat)) {
-
 
347
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
348
		}
-
 
349
		if ($resultat->numRows()>0) {
-
 
350
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_URL.'</h3>'."\n";
-
 
351
			$tableAttr = array("id" => "table_bazar") ;
-
 
352
			$table = new HTML_Table($tableAttr) ;
-
 
353
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
-
 
354
			$table->addRow($entete) ;
-
 
355
			$table->setRowType(0, "th") ;
-
 
356
			
-
 
357
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
358
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
359
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
360
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
361
			$lien_supprimer->addQueryString('url', '2');
-
 
362
			
-
 
363
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
364
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
-
 
365
				$table->addRow (array(
-
 
366
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
-
 
367
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
-
 
368
				$lien_supprimer->removeQueryString('id_url');
-
 
369
			}
-
 
370
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
371
			$table->updateColAttributes(1, array("align" => "center"));
-
 
372
			$html.= $table->toHTML().'</td></tr>' ;
-
 
373
		}
-
 
374
		else {
-
 
375
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_PAS_URL.'</h3></td></tr>'."\n";
-
 
376
		}
-
 
377
		$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_URL.'</h4>'."\n";
-
 
378
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
379
		$lien_formulaire->addQueryString('action', $_GET['action']);
-
 
380
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
381
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
382
		$lien_formulaire->addQueryString('url', '1');
-
 
383
		$formurl = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
384
		$formurl->addElement('html', $html) ;
-
 
385
		$formurl->addElement('text', 'url_lien', BAZ_URL_LIEN) ;
-
 
386
		$formurl->addElement('text', 'url_texte', BAZ_URL_TEXTE) ;
-
 
387
		$formurl->addRule('url_lien', BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
-
 
388
		$formurl->addRule('url_texte', BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
-
 
389
		
-
 
390
		//AJOUTER DES FICHIERS JOINTS
-
 
391
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
392
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
393
		if (DB::isError ($resultat)) {
-
 
394
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
395
		}
-
 
396
		
-
 
397
		if ($resultat->numRows()>0) {
-
 
398
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_FICHIERS_JOINTS.'</h3>'."\n";
-
 
399
			$tableAttr = array("id" => "table_bazar") ;
-
 
400
			$table = new HTML_Table($tableAttr) ;
-
 
401
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
-
 
402
			$table->addRow($entete) ;
-
 
403
			$table->setRowType(0, "th") ;
-
 
404
			
-
 
405
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
406
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
407
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
408
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
409
			$lien_supprimer->addQueryString('fichier', '2');
-
 
410
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
411
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
-
 
412
				$table->addRow (array(				
-
 
413
				        '<a href="/client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
-
 
414
					'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
-
 
415
					$lien_supprimer->removeQueryString('id_fichier');
-
 
416
			}
-
 
417
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
418
			$table->updateColAttributes(1, array("align" => "center"));
-
 
419
			$html.= $table->toHTML().'</td></tr>' ;
-
 
420
		}
-
 
421
		else {
-
 
422
			$html= '<tr><td colspan="2"><hr /><h3>'.BAZ_PAS_DE_FICHIERS_JOINTS.'</h3></td></tr>'."\n";
-
 
423
		}
-
 
424
		$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_FICHIER_JOINT.'</h4>'.'</td></tr>'."\n";
-
 
425
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
426
		$lien_formulaire->addQueryString('action', $_GET['action']);
-
 
427
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
428
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
429
		$lien_formulaire->addQueryString('fichier', '1');
-
 
430
		
-
 
431
		$formfichiers = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
432
		$formfichiers->addElement('html', $html) ;
-
 
433
		$formfichiers->addElement('file', 'fichier_joint', BAZ_FICHIER_JOINT) ;
-
 
434
		$formfichiers->addElement('text', 'fichier_description', BAZ_FICHIER_DESCRIPTION) ;
-
 
435
		$formfichiers->addRule('fichier_joint', BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
-
 
436
		$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
-
 
437
		$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
438
		
-
 
439
		//Ajout de 'http://' comme valeur par default d'une url
-
 
440
		$formurl->setDefaults(array('url_lien'=>'http://'));
-
 
441
		//Bouton de validation du formulaire
-
 
442
		$formurl->addGroup($bouton, null, null, '');
-
 
443
		$formfichiers->addGroup($bouton, null, null, '');
-
 
444
	}
-
 
445
	}
-
 
446
	//Affichage a l'ecran
-
 
447
	$res .= $formtemplate->toHTML()."\n";
-
 
448
	if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
-
 
449
	
-
 
450
	return $res;
-
 
451
}
-
 
452
 
-
 
453
 
230
 
454
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces
231
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces
455
*
232
*
456
* @param   string choix du formulaire à afficher (soit formulaire personnalisé de l'annonce, soit choix du type d'annonce)
233
* @param   string choix du formulaire a afficher (soit formulaire personnalise de l'annonce, soit choix du type d'annonce)
457
*
234
*
458
* @return   string  HTML
235
* @return   string  HTML
459
*/
236
*/
460
function baz_formulaire($mode = 'inscription') {
237
function baz_formulaire($mode = 'inscription') {
461
	if ($GLOBALS['AUTH']->getAuth()) {
238
	if ($GLOBALS['AUTH']->getAuth()) {
462
	//Recuperer les eventuelles variables passees en GET ou en POST
239
	//Recuperer les eventuelles variables passees en GET ou en POST
463
	if (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
240
	if (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
464
	if (isset($_REQUEST['typeannonce'])) {
241
	if (isset($_REQUEST['typeannonce'])) {
465
		$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
242
		$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
466
		// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
243
		// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
467
		// Clique sur son bouton précédent
244
		// Clique sur son bouton précédent
468
		
245
		
469
		if ($mode == BAZ_ACTION_NOUVEAU) unset($_SESSION['formulaire_annonce_valide']) ;
246
		if ($mode == BAZ_ACTION_NOUVEAU) unset($_SESSION['formulaire_annonce_valide']) ;
470
	}
247
	}
471
	
248
	
472
	//requete pour obtenir l'id du type d'annonce
249
	//requete pour obtenir l'id du type d'annonce
473
        if (isset($GLOBALS['_BAZAR_']['typeannonce'])) {
250
        if (isset($GLOBALS['_BAZAR_']['typeannonce'])) {
474
		$requete = 'SELECT bn_id_nature FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"' ;
251
		$requete = 'SELECT bn_id_nature FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"' ;
475
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
252
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
476
		if (DB::isError($resultat)) {
253
		if (DB::isError($resultat)) {
477
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
254
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
478
		}
255
		}
479
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
256
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
480
			$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
257
			$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
481
		}
258
		}
482
	}
259
	}
483
	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
260
	$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
484
	//Definir le lien du formulaire en fonction du mode de formulaire choisi
261
	//Definir le lien du formulaire en fonction du mode de formulaire choisi
485
	if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
262
	if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
486
	if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
263
	if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
-
 
264
	if ($mode == BAZ_ACTION_NOUVEAU) {
-
 
265
		if (!isset($_POST['accept_condition'])) {
-
 
266
			$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU);
-
 
267
		} else {
487
	if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
268
			$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
-
 
269
		}
-
 
270
	}
488
	if ($mode == BAZ_ACTION_MODIFIER) {
271
	if ($mode == BAZ_ACTION_MODIFIER) {
-
 
272
		if (!isset($_POST['accept_condition'])) {
-
 
273
			$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER);
-
 
274
		} else {
489
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
275
			$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
-
 
276
		}		
490
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
277
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
491
	}
278
	}
492
	if ($mode == BAZ_ACTION_MODIFIER_V) {
279
	if ($mode == BAZ_ACTION_MODIFIER_V) {
493
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
280
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
494
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
281
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
495
	}
282
	}
496
	if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU);
283
	if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU);
497
	else $lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
284
	else $lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
498
	if ($mode == BAZ_GERER_DROITS) $lien_formulaire->addQueryString('action', BAZ_GERER_DROITS);
285
	if ($mode == BAZ_GERER_DROITS) $lien_formulaire->addQueryString('action', BAZ_GERER_DROITS);
-
 
286
	
499
	
287
	//contruction du squelette du formulaire
-
 
288
	$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
-
 
289
	$squelette =& $formtemplate->defaultRenderer();
-
 
290
    $squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<ul class="formulaire">'."\n".'{content}'."\n".'</ul>'."\n".'</form>'."\n");
-
 
291
    $squelette->setElementTemplate( '<li>'."\n".'<span class="label200">'."\n".'{label} :</span>'."\n".'<span class="champs"> '."\n".'{element}'."\n".
-
 
292
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
-
 
293
                                    '<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
-
 
294
                                    '</span>'."\n".'</li>'."\n");
-
 
295
    $squelette->setElementTemplate( '<li><span class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong></span>'.
-
 
296
                                    '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</li>'."\n", 'accept_condition');
-
 
297
    $squelette->setElementTemplate( '<li>{element}</li>'."\n", 'typeannonce');
-
 
298
    $squelette->setElementTemplate( '<li>{element}</li>'."\n", 'id_fiche');
-
 
299
    $squelette->setElementTemplate( '<li><span class="bouton" style="margin: 0 auto;">{label}{element}</span></li>'."\n", 'valider');
500
	$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
300
    $squelette->setRequiredNoteTemplate("\n".'<li><span class="symbole_obligatoire">*</span> {requiredNote}</li>'."\n");
501
	//Traduction de champs requis
301
	//Traduction de champs requis
502
	$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
302
	$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
503
    $formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
303
	$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
504
    
304
    
505
	//------------------------------------------------------------------------------------------------
305
	//------------------------------------------------------------------------------------------------
506
	//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
306
	//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
507
	//------------------------------------------------------------------------------------------------
307
	//------------------------------------------------------------------------------------------------
508
	if ($mode == BAZ_DEPOSER_ANNONCE) {
308
	if ($mode == BAZ_DEPOSER_ANNONCE) {
509
		$res = '';
309
		$res = '';
510
		
310
		
511
		//requete pour obtenir le nom et la description des types d'annonce
311
		//requete pour obtenir le nom et la description des types d'annonce
512
		$requete = "SELECT bn_id_nature, bn_label_nature, bn_description, bn_condition 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";
312
		$requete = "SELECT bn_id_nature, bn_label_nature, bn_description, bn_condition 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";
513
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
313
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
514
		if (DB::isError($resultat)) {
314
		if (DB::isError($resultat)) {
515
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
315
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
516
		}
316
		}
517
		$res.="<h2>".BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n";
317
		$res.="<h2>".BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n";
518
		$res.=BAZ_CHOIX_TYPEANNONCE.'<br />';
318
		$res.=BAZ_CHOIX_TYPEANNONCE.'<br />';
519
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
319
		while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
520
			$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]);
320
			$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]);
521
			if (($droitspers=='redacteur') or ($droitspers=='administrateur') or ($droitspers=='superadministrateur')) {
321
			if (($droitspers=='redacteur') or ($droitspers=='administrateur') or ($droitspers=='superadministrateur')) {
522
				$formtemplate->addElement('radio', 'typeannonce', '', '<strong>'.$ligne['bn_label_nature'].
322
				$formtemplate->addElement('radio', 'typeannonce', '', '<strong>'.$ligne['bn_label_nature'].
523
				           ':</strong><br />'.$ligne['bn_description'], $ligne['bn_label_nature'], array("id" => 'select'.$ligne['bn_id_nature'], "style" => 'float:left;'));
323
				           ':</strong><br />'.$ligne['bn_description'], $ligne['bn_label_nature'], array("id" => 'select'.$ligne['bn_id_nature'], "style" => 'float:left;'));
524
			}
324
			}
525
			
325
			
526
		}
326
		}
527
		
-
 
528
		$squelette =& $formtemplate->defaultRenderer();
-
 
529
		$squelette->setFormTemplate("\n".'<div id="choix"><form {attributes}>'."\n".'{content}'."\n".'</form></div>'."\n");
327
		
530
		$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
328
		$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
531
		
329
		
532
		//Mettre les annonces en choix par défaut
330
		//Mettre les annonces en choix par defaut
533
		$formtemplate->setdefaults(array('typeannonce'=>'Annonces'));
331
		$formtemplate->setdefaults(array('typeannonce'=>'Annonces'));
534
		
332
		
535
		//Bouton de validation du formulaire
333
		//Bouton de validation du formulaire
536
		$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
334
		$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
537
		$formtemplate->addGroup($bouton, null, null, '&nbsp;');
-
 
538
		
335
		
539
		//Affichage à l'écran
336
		//Affichage a l'ecran
540
		$res.= $formtemplate->toHTML() ;
337
		$res.= $formtemplate->toHTML() ;
541
	}
338
	}
542
	
339
	
543
	//------------------------------------------------------------------------------------------------
340
	//------------------------------------------------------------------------------------------------
544
	//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR
341
	//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR
545
	//------------------------------------------------------------------------------------------------
342
	//------------------------------------------------------------------------------------------------
546
	if ($mode == BAZ_ACTION_NOUVEAU) {
343
	if ($mode == BAZ_ACTION_NOUVEAU) {
547
		$res=baz_afficher_formulaire_annonce('insertion',$formtemplate);
344
		$res=baz_afficher_formulaire_annonce('insertion',$formtemplate);
548
		
345
		
549
	}
346
	}
550
	
347
	
551
	//------------------------------------------------------------------------------------------------
348
	//------------------------------------------------------------------------------------------------
552
	//CAS DE LA MODIFICATION D'UNE ANNONCE (FORMULAIRE DE MODIFICATION)
349
	//CAS DE LA MODIFICATION D'UNE ANNONCE (FORMULAIRE DE MODIFICATION)
553
	//------------------------------------------------------------------------------------------------
350
	//------------------------------------------------------------------------------------------------
554
	if ($mode == BAZ_ACTION_MODIFIER) {
351
	if ($mode == BAZ_ACTION_MODIFIER) {
555
		$res=baz_afficher_formulaire_annonce('modification',$formtemplate);
352
		$res=baz_afficher_formulaire_annonce('modification',$formtemplate);
556
	}
353
	}
557
	
354
	
558
	//------------------------------------------------------------------------------------------------
355
	//------------------------------------------------------------------------------------------------
559
	//CAS DE L'INSCRIPTION D'UNE ANNONCE
356
	//CAS DE L'INSCRIPTION D'UNE ANNONCE
560
	//------------------------------------------------------------------------------------------------
357
	//------------------------------------------------------------------------------------------------
561
	if ($mode == 'inscription') {
358
	if ($mode == 'inscription') {
562
		if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
359
		if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
563
			$formtemplate->process('baz_insertion', false) ;
360
			$formtemplate->process('baz_insertion', false) ;
564
			$_SESSION['formulaire_annonce_valide'] = 1;
361
			$_SESSION['formulaire_annonce_valide'] = 1;
565
			return;
362
			return;
566
		}
363
		}
567
	}
364
	}
568
	
365
	
569
	//------------------------------------------------------------------------------------------------
366
	//------------------------------------------------------------------------------------------------
570
	//CAS DE LA MODIFICATION D'UNE ANNONCE (VALIDATION ET MAJ) 
367
	//CAS DE LA MODIFICATION D'UNE ANNONCE (VALIDATION ET MAJ) 
571
	//------------------------------------------------------------------------------------------------
368
	//------------------------------------------------------------------------------------------------
572
	if ($mode == BAZ_ACTION_MODIFIER_V) {
369
	if ($mode == BAZ_ACTION_MODIFIER_V) {
573
		if ($formtemplate->validate()) {
370
		if ($formtemplate->validate()) {
574
			$formtemplate->process('baz_mise_a_jour', false) ;
371
			$formtemplate->process('baz_mise_a_jour', false) ;
575
			return ;
372
			return ;
576
		}
373
		}
577
	}
374
	}
578
	
375
	
579
	//------------------------------------------------------------------------------------------------
376
	//------------------------------------------------------------------------------------------------
580
	//CAS OU LE FORMULAIRE DE GESTION DES DROITS EST APPELE
377
	//CAS OU LE FORMULAIRE DE GESTION DES DROITS EST APPELE
581
	//------------------------------------------------------------------------------------------------
378
	//------------------------------------------------------------------------------------------------
582
	if ($mode == BAZ_GERER_DROITS) {
379
	if ($mode == BAZ_GERER_DROITS) {
583
		//Initialisation de la variable personne
380
		//Initialisation de la variable personne
584
		if ( isset($_POST['personnes']) ) {
381
		if ( isset($_POST['personnes']) ) {
585
			$personne=$_POST['personnes'];
382
			$personne=$_POST['personnes'];
586
		}
383
		}
587
		else $personne=0;
384
		else $personne=0;
588
		
385
		
589
		
386
		
590
		//Cas ou les droits ont été changés
387
		//Cas ou les droits ont etes changes
591
		if (isset($_GET['pers'])) {
388
		if (isset($_GET['pers'])) {
592
			$personne=$_GET['pers'];
389
			$personne=$_GET['pers'];
593
			//CAS DES DROITS POUR UN TYPE D'ANNONCE: On efface tous les droits de la personne pour ce type d'annonce
390
			//CAS DES DROITS POUR UN TYPE D'ANNONCE: On efface tous les droits de la personne pour ce type d'annonce
594
			if (isset($_GET['idtypeannonce'])) {
391
			if (isset($_GET['idtypeannonce'])) {
595
				$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'].
392
				$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'].
596
					   ' AND bd_id_nature_offre='.$_GET['idtypeannonce'];
393
					   ' AND bd_id_nature_offre='.$_GET['idtypeannonce'];
597
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
394
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
598
				if (DB::isError($resultat)) {
395
				if (DB::isError($resultat)) {
599
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
396
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
600
				}
397
				}
601
			}
398
			}
602
			//CAS DU SUPER ADMIN: On efface tous les droits de la personne en général
399
			//CAS DU SUPER ADMIN: On efface tous les droits de la personne en général
603
			else {
400
			else {
604
				$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'];
401
				$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'];
605
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
402
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
606
				if (DB::isError($resultat)) {
403
				if (DB::isError($resultat)) {
607
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
404
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
608
				}
405
				}
609
			}
406
			}
610
			if ($_GET['droits']=='superadmin') {
407
			if ($_GET['droits']=='superadmin') {
611
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].',0,0)';
408
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].',0,0)';
612
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
409
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
613
				if (DB::isError($resultat)) {
410
				if (DB::isError($resultat)) {
614
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
411
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
615
				}
412
				}
616
			}
413
			}
617
			elseif ($_GET['droits']=='redacteur') {
414
			elseif ($_GET['droits']=='redacteur') {
618
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',1)';
415
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',1)';
619
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
416
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
620
				if (DB::isError($resultat)) {
417
				if (DB::isError($resultat)) {
621
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
418
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
622
				}
419
				}
623
			}
420
			}
624
			elseif ($_GET['droits']=='admin') {
421
			elseif ($_GET['droits']=='admin') {
625
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',2)';
422
				$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',2)';
626
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
423
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
627
				if (DB::isError($resultat)) {
424
				if (DB::isError($resultat)) {
628
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
425
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
629
				}
426
				}
630
			}
427
			}
631
		}
428
		}
632
		
429
		
633
		//requete pour obtenir l'id, le nom et prénom des personnes inscrites à l'annuaire sauf soi même
430
		//requete pour obtenir l'id, le nom et prénom des personnes inscrites à l'annuaire sauf soi même
634
		$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE.
431
		$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE.
635
			   ' WHERE '.BAZ_CHAMPS_ID."!=".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
432
			   ' WHERE '.BAZ_CHAMPS_ID."!=".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
636
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
433
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
637
		if (DB::isError($resultat)) {
434
		if (DB::isError($resultat)) {
638
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
435
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
639
		}
436
		}
640
		$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2>'."\n";
437
		$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2>'."\n";
641
		$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />';
438
		$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />';
642
		$personnes_select[0]=BAZ_SELECTION;
439
		$personnes_select[0]=BAZ_SELECTION;
643
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
440
		while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
644
			$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
441
			$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
645
		}
442
		}
646
		$java=array ('onchange'=>'this.form.submit();');
443
		$java=array ('onchange'=>'this.form.submit();');
647
		$formtemplate->addElement ('select', 'personnes', BAZ_LABEL_CHOIX_PERSONNE, $personnes_select, $java) ;
444
		$formtemplate->addElement ('select', 'personnes', BAZ_LABEL_CHOIX_PERSONNE, $personnes_select, $java) ;
648
		$defauts=array ('personnes'=>$personne);
445
		$defauts=array ('personnes'=>$personne);
649
		$formtemplate->setDefaults($defauts);
446
		$formtemplate->setDefaults($defauts);
650
		$res.= $formtemplate->toHTML() ;
447
		$res.= $formtemplate->toHTML() ;
651
		
448
		
652
		
449
		
653
		
450
		
654
		if ($personne!=0) {
451
		if ($personne!=0) {
655
			//cas du super utilisateur
452
			//cas du super utilisateur
656
			if (niveau_droit(0,$personne)=='superadministrateur') {
453
			if (niveau_droit(0,$personne)=='superadministrateur') {
657
				$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n";
454
				$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n";
658
				$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url'];
455
				$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url'];
659
				$lien_enlever_superadmin->addQueryString('action', BAZ_GERER_DROITS);
456
				$lien_enlever_superadmin->addQueryString('action', BAZ_GERER_DROITS);
660
				$lien_enlever_superadmin->addQueryString('pers', $personne);
457
				$lien_enlever_superadmin->addQueryString('pers', $personne);
661
				$lien_enlever_superadmin->addQueryString('droits', 'aucun');
458
				$lien_enlever_superadmin->addQueryString('droits', 'aucun');
662
				$res.= '<a href='.$lien_enlever_superadmin->getURL().'>'.BAZ_CHANGER_SUPERADMINISTRATEUR.'</a><br />'."\n";
459
				$res.= '<a href='.$lien_enlever_superadmin->getURL().'>'.BAZ_CHANGER_SUPERADMINISTRATEUR.'</a><br />'."\n";
663
			}
460
			}
664
			else {
461
			else {
665
				$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url'];
462
				$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url'];
666
				$lien_passer_superadmin->addQueryString('action', BAZ_GERER_DROITS);
463
				$lien_passer_superadmin->addQueryString('action', BAZ_GERER_DROITS);
667
				$lien_passer_superadmin->addQueryString('pers', $personne);
464
				$lien_passer_superadmin->addQueryString('pers', $personne);
668
				$lien_passer_superadmin->addQueryString('droits', 'superadmin');
465
				$lien_passer_superadmin->addQueryString('droits', 'superadmin');
669
				$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n";
466
				$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n";
670
				
467
				
671
				//on cherche les différentes rubriques d'annonces
468
				//on cherche les différentes rubriques d'annonces
672
				$requete = 'SELECT bn_id_nature, 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';
469
				$requete = 'SELECT bn_id_nature, 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';
673
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
470
				$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
674
				if (DB::isError($resultat)) {
471
				if (DB::isError($resultat)) {
675
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
472
					die ($resultat->getMessage().$resultat->getDebugInfo()) ;
676
				}
473
				}
677
				$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />';
474
				$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />';
678
				
475
				
679
				$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
476
				$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
680
				$table->addRow(array ('<b>'.BAZ_TYPE_ANNONCES.'</b>',
477
				$table->addRow(array ('<b>'.BAZ_TYPE_ANNONCES.'</b>',
681
				                      '<b>'.BAZ_DROITS_ACTUELS.'</b>',
478
				                      '<b>'.BAZ_DROITS_ACTUELS.'</b>',
682
						      '<b>'.BAZ_PASSER_EN.'</b>',
479
						      '<b>'.BAZ_PASSER_EN.'</b>',
683
						      '<b>'.BAZ_OU_PASSER_EN.'</b>')) ;
480
						      '<b>'.BAZ_OU_PASSER_EN.'</b>')) ;
684
				$table->setRowType (0, 'th') ;
481
				$table->setRowType (0, 'th') ;
685
				
482
				
686
				while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
483
				while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
687
					$droits=niveau_droit($ligne['bn_id_nature'],$personne);
484
					$droits=niveau_droit($ligne['bn_id_nature'],$personne);
688
 
485
 
689
					$lien_aucun_droit=$GLOBALS['_BAZAR_']['url'];
486
					$lien_aucun_droit=$GLOBALS['_BAZAR_']['url'];
690
					$lien_aucun_droit->addQueryString('action', BAZ_GERER_DROITS);
487
					$lien_aucun_droit->addQueryString('action', BAZ_GERER_DROITS);
691
					$lien_aucun_droit->addQueryString('pers', $personne);
488
					$lien_aucun_droit->addQueryString('pers', $personne);
692
					$lien_aucun_droit->addQueryString('droits', 'aucun');
489
					$lien_aucun_droit->addQueryString('droits', 'aucun');
693
					$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
490
					$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
694
					
491
					
695
					$lien_passer_redacteur=$GLOBALS['_BAZAR_']['url'];
492
					$lien_passer_redacteur=$GLOBALS['_BAZAR_']['url'];
696
					$lien_passer_redacteur->addQueryString('action', BAZ_GERER_DROITS);
493
					$lien_passer_redacteur->addQueryString('action', BAZ_GERER_DROITS);
697
					$lien_passer_redacteur->addQueryString('pers', $personne);
494
					$lien_passer_redacteur->addQueryString('pers', $personne);
698
					$lien_passer_redacteur->addQueryString('droits', 'redacteur');
495
					$lien_passer_redacteur->addQueryString('droits', 'redacteur');
699
					$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
496
					$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
700
					
497
					
701
					$lien_passer_admin=$GLOBALS['_BAZAR_']['url'];
498
					$lien_passer_admin=$GLOBALS['_BAZAR_']['url'];
702
					$lien_passer_admin->addQueryString('action', BAZ_GERER_DROITS);
499
					$lien_passer_admin->addQueryString('action', BAZ_GERER_DROITS);
703
					$lien_passer_admin->addQueryString('pers', $personne);
500
					$lien_passer_admin->addQueryString('pers', $personne);
704
					$lien_passer_admin->addQueryString('droits', 'admin');
501
					$lien_passer_admin->addQueryString('droits', 'admin');
705
					$lien_passer_admin->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
502
					$lien_passer_admin->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
706
					
503
					
707
					if ($droits=='aucun') {
504
					if ($droits=='aucun') {
708
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
505
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
709
						                     BAZ_AUCUN_DROIT,
506
						                     BAZ_AUCUN_DROIT,
710
						                     '<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>',
507
						                     '<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>',
711
								     '<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
508
								     '<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
712
					}
509
					}
713
					elseif ($droits=='redacteur') {
510
					elseif ($droits=='redacteur') {
714
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
511
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
715
						                     BAZ_DROIT_REDACTEUR,
512
						                     BAZ_DROIT_REDACTEUR,
716
						                     '<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
513
						                     '<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
717
								     '<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
514
								     '<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
718
					}
515
					}
719
					else {
516
					else {
720
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
517
						$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
721
								     BAZ_DROIT_ADMIN,
518
								     BAZ_DROIT_ADMIN,
722
								     '<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
519
								     '<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
723
								     '<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>'));
520
								     '<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>'));
724
					}
521
					}
725
				}
522
				}
726
				$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
523
				$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
727
				$table->updateColAttributes(0, array('align' => 'left'));
524
				$table->updateColAttributes(0, array('align' => 'left'));
728
				$table->updateColAttributes(1, array('align' => 'left'));
525
				$table->updateColAttributes(1, array('align' => 'left'));
729
				$table->updateColAttributes(2, array('align' => 'left'));
526
				$table->updateColAttributes(2, array('align' => 'left'));
730
				$table->updateColAttributes(3, array('align' => 'left'));
527
				$table->updateColAttributes(3, array('align' => 'left'));
731
				$res.=$table->toHTML() ;
528
				$res.=$table->toHTML() ;
732
			}
529
			}
733
		}
530
		}
734
	}
531
	}
735
    }
532
    }
736
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
533
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
737
	return $res;
534
	return $res;
738
}
535
}
739
 
536
 
-
 
537
 
-
 
538
/** baz_afficher_formulaire_annonce() - Genere le formulaire de saisie d'une annonce
-
 
539
*
-
 
540
* @param   string type de formulaire: insertion ou modification
-
 
541
* @param   mixed objet quickform du formulaire
-
 
542
*
-
 
543
* @return   string  code HTML avec formulaire
-
 
544
*/
-
 
545
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
-
 
546
	//verification de la modification des fichiers, des url ou des images
-
 
547
	if (isset($_GET['url'])) {
-
 
548
		if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
-
 
549
		if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
-
 
550
	}
-
 
551
	if (isset($_GET['fichier'])) {
-
 
552
		if ($_GET['fichier']==1) baz_insertion_fichier($_POST['fichier_description'], $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
553
		if ($_GET['fichier']==2) baz_suppression_fichier($_GET['id_fichier']);
-
 
554
	}
-
 
555
	if (isset($_GET['image'])) {
-
 
556
		if ($_GET['image']==1) baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']);	
-
 
557
		if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
-
 
558
	}
-
 
559
	
-
 
560
	//titre de la rubrique
-
 
561
	$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
-
 
562
		
-
 
563
	//ajout d'une page sur les conditions pour l'annonce si elles existent
-
 
564
	$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
-
 
565
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
-
 
566
	if (DB::isError($resultat)) {
-
 
567
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
568
	}
-
 
569
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
-
 
570
	if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
-
 
571
		require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/html.php';
-
 
572
		$conditions= new HTML_QuickForm_html('<li><p style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$ligne['bn_condition'].'</li>'."\n");
-
 
573
		$formtemplate->addElement($conditions);
-
 
574
		$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']);
-
 
575
		if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']);
-
 
576
		$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
-
 
577
		$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
-
 
578
		$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
-
 
579
	}
-
 
580
	//affichage du formulaire si conditions acceptées
-
 
581
	else {		
-
 
582
	//Parcours du fichier de templates, pour mettre les champs specifiques
-
 
583
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
-
 
584
	for ($i=0; $i<count($tableau); $i++) {
-
 
585
		$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
-
 
586
		                     $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;		
-
 
587
	}
-
 
588
	$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
-
 
589
	
-
 
590
	if ($mode=='modification') {
-
 
591
		//initialisation de la variable globale id_fiche
-
 
592
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
-
 
593
		
-
 
594
		//Ajout des valeurs par defaut
-
 
595
		$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
-
 
596
				
-
 
597
		//preparation des formulaires supplementaires
-
 
598
		//AJOUTER UNE IMAGE
-
 
599
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
600
		$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER);
-
 
601
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
602
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
603
		$lien_formulaire->addQueryString('image', '1');
-
 
604
		
-
 
605
		$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
-
 
606
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
607
		if (DB::isError ($resultat)) {
-
 
608
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
609
		}
-
 
610
		
-
 
611
		if ($resultat->numRows()>0) {
-
 
612
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
613
				$image=$ligne->bf_url_image;
-
 
614
			}
-
 
615
			if ($image!=NULL) {
-
 
616
				$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
-
 
617
				$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
618
				$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
619
				$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
620
				$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
621
				$lien_supprimer->addQueryString('image', '2');
-
 
622
				$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
-
 
623
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
624
				$formimage->addElement('html', $html) ;
-
 
625
			}
-
 
626
			else  {
-
 
627
				$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
628
				$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ;
-
 
629
				$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
630
				$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
631
				$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
632
				$formimage->addElement('submit', 'valider', BAZ_VALIDER);
-
 
633
			}
-
 
634
		}
-
 
635
		else {
-
 
636
			$formimage = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) ) ;
-
 
637
			$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ;
-
 
638
			$formimage->addElement('file', 'image', BAZ_IMAGE) ;
-
 
639
			$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
-
 
640
			$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
641
			$formimage->addElement('submit', 'valider', BAZ_VALIDER);
-
 
642
		}
-
 
643
		
-
 
644
		//AJOUTER DES URL
-
 
645
		//recherche des URLs déjà entrées dans la base
-
 
646
		$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
647
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
648
		if (DB::isError ($resultat)) {
-
 
649
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
650
		}
-
 
651
		if ($resultat->numRows()>0) {
-
 
652
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_URL.'</h3>'."\n";
-
 
653
			$tableAttr = array("id" => "table_bazar") ;
-
 
654
			$table = new HTML_Table($tableAttr) ;
-
 
655
			$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
-
 
656
			$table->addRow($entete) ;
-
 
657
			$table->setRowType(0, "th") ;
-
 
658
			
-
 
659
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
660
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
661
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
662
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
663
			$lien_supprimer->addQueryString('url', '2');
-
 
664
			
-
 
665
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
666
				$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
-
 
667
				$table->addRow (array(
-
 
668
				'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
-
 
669
				'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
-
 
670
				$lien_supprimer->removeQueryString('id_url');
-
 
671
			}
-
 
672
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
673
			$table->updateColAttributes(1, array("align" => "center"));
-
 
674
			$html.= $table->toHTML().'</td></tr>' ;
-
 
675
		}
-
 
676
		else {
-
 
677
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_PAS_URL.'</h3></td></tr>'."\n";
-
 
678
		}
-
 
679
		$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_URL.'</h4>'."\n";
-
 
680
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
681
		$lien_formulaire->addQueryString('action', $_GET['action']);
-
 
682
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
683
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
684
		$lien_formulaire->addQueryString('url', '1');
-
 
685
		$formurl = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
686
		$formurl->addElement('html', $html) ;
-
 
687
		$formurl->addElement('text', 'url_lien', BAZ_URL_LIEN) ;
-
 
688
		$formurl->addElement('text', 'url_texte', BAZ_URL_TEXTE) ;
-
 
689
		$formurl->addRule('url_lien', BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
-
 
690
		$formurl->addRule('url_texte', BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
-
 
691
		
-
 
692
		//AJOUTER DES FICHIERS JOINTS
-
 
693
		$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
-
 
694
		$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
-
 
695
		if (DB::isError ($resultat)) {
-
 
696
			die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
-
 
697
		}
-
 
698
		
-
 
699
		if ($resultat->numRows()>0) {
-
 
700
			$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_FICHIERS_JOINTS.'</h3>'."\n";
-
 
701
			$tableAttr = array("id" => "table_bazar") ;
-
 
702
			$table = new HTML_Table($tableAttr) ;
-
 
703
			$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
-
 
704
			$table->addRow($entete) ;
-
 
705
			$table->setRowType(0, "th") ;
-
 
706
			
-
 
707
			$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
-
 
708
			$lien_supprimer->addQueryString('action', $_GET['action']);
-
 
709
			$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
-
 
710
			$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
-
 
711
			$lien_supprimer->addQueryString('fichier', '2');
-
 
712
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
713
				$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
-
 
714
				$table->addRow (array(				
-
 
715
				        '<a href="/client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
-
 
716
					'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
-
 
717
					$lien_supprimer->removeQueryString('id_fichier');
-
 
718
			}
-
 
719
			$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
-
 
720
			$table->updateColAttributes(1, array("align" => "center"));
-
 
721
			$html.= $table->toHTML().'</td></tr>' ;
-
 
722
		}
-
 
723
		else {
-
 
724
			$html= '<tr><td colspan="2"><hr /><h3>'.BAZ_PAS_DE_FICHIERS_JOINTS.'</h3></td></tr>'."\n";
-
 
725
		}
-
 
726
		$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_FICHIER_JOINT.'</h4>'.'</td></tr>'."\n";
-
 
727
		$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
-
 
728
		$lien_formulaire->addQueryString('action', $_GET['action']);
-
 
729
		$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
-
 
730
		$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']);
-
 
731
		$lien_formulaire->addQueryString('fichier', '1');
-
 
732
		
-
 
733
		$formfichiers = new HTML_QuickForm('formulaire', 'post',  preg_replace ('/&amp;/', '&', $lien_formulaire->getURL())) ;
-
 
734
		$formfichiers->addElement('html', $html) ;
-
 
735
		$formfichiers->addElement('file', 'fichier_joint', BAZ_FICHIER_JOINT) ;
-
 
736
		$formfichiers->addElement('text', 'fichier_description', BAZ_FICHIER_DESCRIPTION) ;
-
 
737
		$formfichiers->addRule('fichier_joint', BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
-
 
738
		$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
-
 
739
		$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
-
 
740
		
-
 
741
		//Ajout de 'http://' comme valeur par default d'une url
-
 
742
		$formurl->setDefaults(array('url_lien'=>'http://'));
-
 
743
		//Bouton de validation du formulaire
-
 
744
		$formurl->addElement('submit', 'valider', BAZ_VALIDER);
-
 
745
		$formfichiers->addElement('submit', 'valider', BAZ_VALIDER);
-
 
746
	}
-
 
747
	}
-
 
748
	//Affichage a l'ecran
-
 
749
	$res .= $formtemplate->toHTML()."\n";
-
 
750
	if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
-
 
751
	
-
 
752
	return $res;
-
 
753
}
-
 
754
 
740
 
755
 
741
/** requete_bazar_fiche() - preparer la requete d'insertion ou de MAJ de la table bazar_fiche à partir du fichier de template
756
/** requete_bazar_fiche() - preparer la requete d'insertion ou de MAJ de la table bazar_fiche à partir du fichier de template
742
*
757
*
743
* @global   mixed L'objet contenant les valeurs issues de la saisie du formulaire
758
* @global   mixed L'objet contenant les valeurs issues de la saisie du formulaire
744
* @return   void
759
* @return   void
745
*/
760
*/
746
function requete_bazar_fiche($valeur) {
761
function requete_bazar_fiche($valeur) {
747
	$requete=NULL;
762
	$requete=NULL;
748
	//l'annonce est directement publiée pour les admins
763
	//l'annonce est directement publiée pour les admins
749
	if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or
764
	if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or
750
	    (niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) {
765
	    (niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) {
751
		$requete.='bf_statut_fiche=1,';
766
		$requete.='bf_statut_fiche=1,';
752
	} 
767
	} 
753
	else {
768
	else {
754
		$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'",';
769
		$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'",';
755
	}
770
	}
756
	
771
	
757
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
772
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
758
	for ($i=0; $i<count($tableau); $i++) {
773
	for ($i=0; $i<count($tableau); $i++) {
759
		if ($tableau[$i]['type']!='labelhtml') {
774
		if ($tableau[$i]['type']!='labelhtml') {
-
 
775
			//cas des dates
760
			if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
776
			if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
761
				$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'];
777
				$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'];
762
			}
778
			}
-
 
779
			//cas des checkbox
-
 
780
			elseif ($tableau[$i]['type']=='checkbox') {
-
 
781
				$val=implode('**', 	array_keys($valeur[$tableau[$i]['nom_bdd']]));
-
 
782
			}
-
 
783
			//cas des champs texte et textarea
763
			else {
784
			else {
764
				$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
785
				$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
765
			}
786
			}
766
			$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
787
			$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
767
		}
788
		}
768
	}
789
	}
769
	
790
	
770
	$requete.=' bf_date_maj_fiche=NOW()';
791
	$requete.=' bf_date_maj_fiche=NOW()';
771
	
792
	
772
	return $requete;
793
	return $requete;
773
}
794
}
774
 
795
 
775
 
796
 
776
/** baz_insertion() - inserer une nouvelle fiche
797
/** baz_insertion() - inserer une nouvelle fiche
777
*
798
*
778
* @array   Le tableau des valeurs à insérer
799
* @array   Le tableau des valeurs à insérer
779
* @integer Valeur de l'identifiant de la fiche
800
* @integer Valeur de l'identifiant de la fiche
780
* @return   void
801
* @return   void
781
*/
802
*/
782
function baz_insertion($valeur) {
803
function baz_insertion($valeur) {
783
	
804
	
784
		// Recuperation de bn_appropriation
805
		// Recuperation de bn_appropriation
785
		$requete_app = 'select bn_appropriation from bazar_nature where bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ;
806
		$requete_app = 'SELECT bn_appropriation FROM bazar_nature WHERE bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ;
786
		$resultat_app = $GLOBALS['_BAZAR_']['db']->query($requete_app) ;
807
		$resultat_app = $GLOBALS['_BAZAR_']['db']->query($requete_app) ;
787
		$ligne = $resultat_app ->fetchRow(DB_FETCHMODE_ASSOC) ;
808
		$ligne = $resultat_app ->fetchRow(DB_FETCHMODE_ASSOC) ;
788
		 
809
		 
789
        // ===========  Insertion d'une nouvelle fiche ===================	
810
        // ===========  Insertion d'une nouvelle fiche ===================	
790
        //requete d'insertion dans bazar_fiche
811
        //requete d'insertion dans bazar_fiche
791
        $requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']).','.
812
        $requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']).','.
792
		   'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
813
		   'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
793
		   'bf_date_creation_fiche=NOW(),';
814
		   'bf_date_creation_fiche=NOW(),';
794
		if ($ligne['bn_appropriation'] == 1) {
815
		if ($ligne['bn_appropriation'] == 1) {
795
			$requete .= 'bf_date_debut_validite_fiche=now(), ' ;
816
			$requete .= 'bf_date_debut_validite_fiche=now(), ' ;
796
		}
817
		}
797
		$requete .=requete_bazar_fiche(&$valeur, $GLOBALS['_BAZAR_']['id_typeannonce']) ;
818
		$requete .=requete_bazar_fiche(&$valeur, $GLOBALS['_BAZAR_']['id_typeannonce']) ;
798
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
819
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
799
		if (DB::isError($resultat)) {
820
		if (DB::isError($resultat)) {
800
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
821
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
801
		}
822
		}
802
		return;
823
		return;
803
}
824
}
804
 
825
 
805
 
826
 
806
/** baz_insertion_url() - insérer un lien URL à une fiche
827
/** baz_insertion_url() - insérer un lien URL à une fiche
807
*
828
*
808
* @global   string L'url du lien
829
* @global   string L'url du lien
809
* @global   string Le texte du lien
830
* @global   string Le texte du lien
810
* @global   integer L'identifiant de la fiche
831
* @global   integer L'identifiant de la fiche
811
* @return   void
832
* @return   void
812
*/
833
*/
813
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
834
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
814
	//requete d'insertion dans bazar_url
835
	//requete d'insertion dans bazar_url
815
	$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
836
	$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
816
	$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
837
	$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
817
		   'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
838
		   'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
818
	
839
	
819
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
840
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
820
        if (DB::isError($resultat)) {
841
        if (DB::isError($resultat)) {
821
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
842
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
822
        }
843
        }
823
	return;
844
	return;
824
}
845
}
825
 
846
 
826
 
847
 
827
/** baz_insertion_fichier() - insérer un fichier à une fiche
848
/** baz_insertion_fichier() - insérer un fichier à une fiche
828
*
849
*
829
* @global   string Le label du fichier
850
* @global   string Le label du fichier
830
* @global   string La description du fichier
851
* @global   string La description du fichier
831
* @global   integer L'identifiant de la fiche
852
* @global   integer L'identifiant de la fiche
832
* @return   void
853
* @return   void
833
*/
854
*/
834
function baz_insertion_fichier($fichier_description, $idfiche) {
855
function baz_insertion_fichier($fichier_description, $idfiche) {
835
	//vérification de la présence de ce fichier 
856
	//vérification de la présence de ce fichier 
836
	$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES['fichier_joint']['name'].'"';
857
	$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES['fichier_joint']['name'].'"';
837
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
858
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
838
        if (DB::isError($resultat)) {
859
        if (DB::isError($resultat)) {
839
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
860
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
840
        }
861
        }
841
	if ($resultat->numRows()==0) {
862
	if ($resultat->numRows()==0) {
842
		$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES['fichier_joint']['name'];
863
		$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES['fichier_joint']['name'];
843
		move_uploaded_file($_FILES['fichier_joint']['tmp_name'], $chemin_destination);
864
		move_uploaded_file($_FILES['fichier_joint']['tmp_name'], $chemin_destination);
844
	}
865
	}
845
	else echo BAZ_FICHIER_EXISTANT;
866
	else echo BAZ_FICHIER_EXISTANT;
846
	$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
867
	$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
847
	$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche.
868
	$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche.
848
	           ', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES['fichier_joint']['name'].'"';
869
	           ', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES['fichier_joint']['name'].'"';
849
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
870
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
850
        if (DB::isError($resultat)) {
871
        if (DB::isError($resultat)) {
851
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
872
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
852
        }
873
        }
853
	return;
874
	return;
854
}
875
}
855
 
876
 
856
 
877
 
857
/** baz_insertion_image() - insérer une image à une fiche
878
/** baz_insertion_image() - insérer une image à une fiche
858
*
879
*
859
* @global   integer L'identifiant de la fiche
880
* @global   integer L'identifiant de la fiche
860
* @return   void
881
* @return   void
861
*/
882
*/
862
function baz_insertion_image($idfiche) {
883
function baz_insertion_image($idfiche) {
863
	//vérification de la présence de ce fichier 
884
	//vérification de la présence de ce fichier 
864
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'"';
885
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'"';
865
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
886
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
866
        if (DB::isError($resultat)) {
887
        if (DB::isError($resultat)) {
867
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
888
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
868
        }
889
        }
869
	if ($resultat->numRows()==0) {
890
	if ($resultat->numRows()==0) {
870
		$chemin_destination=BAZ_CHEMIN_APPLI.'images/'.$_FILES['image']['name'];
891
		$chemin_destination=BAZ_CHEMIN_APPLI.'images/'.$_FILES['image']['name'];
871
		move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
892
		move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
872
	}
893
	}
873
	else echo BAZ_FICHIER_EXISTANT;
894
	else echo BAZ_FICHIER_EXISTANT;
874
	//vérification de l'existence de la fiche
895
	//vérification de l'existence de la fiche
875
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
896
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
876
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
897
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
877
        if (DB::isError($resultat)) {
898
        if (DB::isError($resultat)) {
878
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
899
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
879
        }
900
        }
880
	if ($resultat->numRows()==0) {
901
	if ($resultat->numRows()==0) {
881
		//création d'une fiche temporaire avec l'image
902
		//création d'une fiche temporaire avec l'image
882
	$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$idfiche.', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].', bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_date_creation_fiche=NOW(), bf_url_image="'.$_FILES['image']['name'].'", '.
903
	$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$idfiche.', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].', bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_date_creation_fiche=NOW(), bf_url_image="'.$_FILES['image']['name'].'", '.
883
		   'bf_titre="annonce temporaire"';
904
		   'bf_titre="annonce temporaire"';
884
	}
905
	}
885
	else {
906
	else {
886
		$requete='UPDATE bazar_fiche SET bf_url_image="'.$_FILES['image']['name'].'" WHERE bf_id_fiche='.$idfiche;
907
		$requete='UPDATE bazar_fiche SET bf_url_image="'.$_FILES['image']['name'].'" WHERE bf_id_fiche='.$idfiche;
887
	}
908
	}
888
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
909
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
889
        if (DB::isError($resultat)) {
910
        if (DB::isError($resultat)) {
890
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
911
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
891
        }
912
        }
892
	return;
913
	return;
893
}
914
}
894
 
915
 
895
 
916
 
896
/** baz_mise_a_jour() - Mettre a jour une fiche
917
/** baz_mise_a_jour() - Mettre a jour une fiche
897
*
918
*
898
* @global   Le contenu du formulaire de saisie de l'annonce
919
* @global   Le contenu du formulaire de saisie de l'annonce
899
* @return   void
920
* @return   void
900
*/
921
*/
901
function baz_mise_a_jour($valeur) {
922
function baz_mise_a_jour($valeur) {
902
 
923
 
903
	//MAJ de bazar_fiche
924
	//MAJ de bazar_fiche
904
	$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
925
	$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
905
	$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
926
	$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
906
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
927
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
907
	if (DB::isError($resultat)) {
928
	if (DB::isError($resultat)) {
908
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
929
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
909
	}
930
	}
910
	return;
931
	return;
911
}
932
}
912
 
933
 
913
 
934
 
914
/** baz_suppression() - Supprime une fiche
935
/** baz_suppression() - Supprime une fiche
915
*
936
*
916
* @global   L'identifiant de la fiche à supprimer
937
* @global   L'identifiant de la fiche à supprimer
917
* @return   void
938
* @return   void
918
*/
939
*/
919
function baz_suppression() {
940
function baz_suppression() {
920
	//suppression dans bazar_fiche
941
	//suppression dans bazar_fiche
921
	$requete = "DELETE FROM bazar_fiche WHERE bf_id_fiche = ".$_GET['id_fiche'];
942
	$requete = "DELETE FROM bazar_fiche WHERE bf_id_fiche = ".$_GET['id_fiche'];
922
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
943
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
923
	if (DB::isError($resultat)) {
944
	if (DB::isError($resultat)) {
924
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
945
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
925
	}
946
	}
926
	//suppression des urls associés
947
	//suppression des urls associés
927
	$requete = "SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = ".$_GET['id_fiche'];
948
	$requete = "SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = ".$_GET['id_fiche'];
928
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
949
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
929
	if (DB::isError($resultat)) {
950
	if (DB::isError($resultat)) {
930
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
951
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
931
	}
952
	}
932
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
953
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
933
		baz_suppression_url($ligne['bu_id_url']);
954
		baz_suppression_url($ligne['bu_id_url']);
934
	}
955
	}
935
	
956
	
936
	//suppression des fichiers associés
957
	//suppression des fichiers associés
937
	$requete = "SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = ".$_GET['id_fiche'];
958
	$requete = "SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = ".$_GET['id_fiche'];
938
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
959
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
939
	if (DB::isError($resultat)) {
960
	if (DB::isError($resultat)) {
940
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
961
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
941
	}
962
	}
942
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
963
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
943
		baz_suppression_fichier($ligne['bfj_id_fichier']);
964
		baz_suppression_fichier($ligne['bfj_id_fichier']);
944
	}
965
	}
945
	
966
	
946
	//suppression de l'image associée
967
	//suppression de l'image associée
947
	baz_suppression_image($_GET['id_fiche']);
968
	baz_suppression_image($_GET['id_fiche']);
948
	
969
	
949
	//======================CREATION DU FLUX RSS================================
970
	//======================CREATION DU FLUX RSS================================
950
	if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
971
	if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
951
	return ;
972
	return ;
952
}
973
}
953
 
974
 
954
 
975
 
955
/** baz_suppression_url() - Supprimer un lien d'une fiche
976
/** baz_suppression_url() - Supprimer un lien d'une fiche
956
*
977
*
957
* @global   integer L'identifiant du lien
978
* @global   integer L'identifiant du lien
958
* @return   void
979
* @return   void
959
*/
980
*/
960
function baz_suppression_url($id_url) {
981
function baz_suppression_url($id_url) {
961
	//suppression dans bazar_url
982
	//suppression dans bazar_url
962
	$requete = 'DELETE FROM bazar_url WHERE bu_id_url = '.$id_url;
983
	$requete = 'DELETE FROM bazar_url WHERE bu_id_url = '.$id_url;
963
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
984
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
964
	if (DB::isError($resultat)) {
985
	if (DB::isError($resultat)) {
965
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
986
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
966
	}
987
	}
967
	return;
988
	return;
968
}
989
}
969
 
990
 
970
 
991
 
971
/** baz_suppression_fichier() - Supprimer un fichier d'une fiche
992
/** baz_suppression_fichier() - Supprimer un fichier d'une fiche
972
*
993
*
973
* @global   integer L'identifiant du fichier
994
* @global   integer L'identifiant du fichier
974
* @return   void
995
* @return   void
975
*/
996
*/
976
function baz_suppression_fichier($id_fichier) {
997
function baz_suppression_fichier($id_fichier) {
977
	//vérification de l'utilisation du fichier joint pour une autre annonce
998
	//vérification de l'utilisation du fichier joint pour une autre annonce
978
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
999
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
979
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1000
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
980
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1001
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
981
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
1002
	$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
982
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1003
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
983
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
1004
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
984
	if ($resultat->numRows()==1) {
1005
	if ($resultat->numRows()==1) {
985
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1006
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
986
		unlink($ligne['bfj_fichier']);
1007
		unlink($ligne['bfj_fichier']);
987
	}
1008
	}
988
	
1009
	
989
	//suppression dans la table bazar_fichier
1010
	//suppression dans la table bazar_fichier
990
	$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
1011
	$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
991
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1012
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
992
	if (DB::isError($resultat)) {
1013
	if (DB::isError($resultat)) {
993
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1014
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
994
	}
1015
	}
995
	return;
1016
	return;
996
}
1017
}
997
 
1018
 
998
 
1019
 
999
/** baz_suppression_image() - Supprimer une image d'une fiche
1020
/** baz_suppression_image() - Supprimer une image d'une fiche
1000
*
1021
*
1001
* @global   integer L'identifiant de la fiche
1022
* @global   integer L'identifiant de la fiche
1002
* @return   void
1023
* @return   void
1003
*/
1024
*/
1004
function baz_suppression_image($id_fiche) {
1025
function baz_suppression_image($id_fiche) {
1005
	//vérification de l'utilisation de l'image pour une autre annonce
1026
	//vérification de l'utilisation de l'image pour une autre annonce
1006
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
1027
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
1007
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1028
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1008
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1029
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1009
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
1030
	$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
1010
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1031
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1011
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
1032
	//si le fichier n'est que utilisé dans cette fiche, on le supprime, on le laisse sinon	
1012
	if ($resultat->numRows()==1) {
1033
	if ($resultat->numRows()==1) {
1013
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1034
		$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
1014
		unlink(BAZ_CHEMIN_APPLI.'images/'.$ligne['bf_url_image']);
1035
		unlink(BAZ_CHEMIN_APPLI.'images/'.$ligne['bf_url_image']);
1015
	}
1036
	}
1016
	
1037
	
1017
	//suppression dans la table bazar_fiche
1038
	//suppression dans la table bazar_fiche
1018
	$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
1039
	$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
1019
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1040
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1020
	if (DB::isError($resultat)) {
1041
	if (DB::isError($resultat)) {
1021
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1042
		die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1022
	}
1043
	}
1023
	return;
1044
	return;
1024
}
1045
}
1025
 
1046
 
1026
 
1047
 
1027
/** publier_fiche () - Publie ou non dans les fichiers XML la fiche bazar d'un utilisateur
1048
/** publier_fiche () - Publie ou non dans les fichiers XML la fiche bazar d'un utilisateur
1028
*
1049
*
1029
* @global boolean Valide: oui ou non
1050
* @global boolean Valide: oui ou non
1030
* @return   void
1051
* @return   void
1031
*/
1052
*/
1032
function publier_fiche($valid) {
1053
function publier_fiche($valid) {
1033
	if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
1054
	if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
1034
	if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
1055
	if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
1035
	if ($valid==0) {
1056
	if ($valid==0) {
1036
		$requete = 'UPDATE bazar_fiche SET  bf_statut_fiche=2 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
1057
		$requete = 'UPDATE bazar_fiche SET  bf_statut_fiche=2 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
1037
	}
1058
	}
1038
	else {
1059
	else {
1039
		$requete = 'UPDATE bazar_fiche SET  bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
1060
		$requete = 'UPDATE bazar_fiche SET  bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
1040
	}
1061
	}
1041
	
1062
	
1042
	// ====================Mise à jour de la table bazar_fiche====================
1063
	// ====================Mise a jour de la table bazar_fiche====================
1043
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1064
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1044
	if (DB::isError($resultat)) {
1065
	if (DB::isError($resultat)) {
1045
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1066
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1046
	}
1067
	}
1047
	unset ($resultat) ;
1068
	unset ($resultat) ;
-
 
1069
	//TODO envoie mail annonceur
1048
	return;
1070
	return;
1049
}
1071
}
1050
 
1072
 
1051
 
1073
 
1052
/** baz_s_inscrire() affiche le formulaire qui permet de s'inscrire pour recevoir des annonces d'un type
1074
/** baz_s_inscrire() affiche le formulaire qui permet de s'inscrire pour recevoir des annonces d'un type
1053
*
1075
*
1054
*   @return  string    le code HTML
1076
*   @return  string    le code HTML
1055
*/
1077
*/
1056
function baz_s_inscrire() {
1078
function baz_s_inscrire() {
1057
	if (isset($_GET['inscrip'])) {
1079
	if (isset($_GET['inscrip'])) {
1058
		//cas d'une désinscription
1080
		//cas d'une désinscription
1059
		if ($_GET['inscrip']==0) {
1081
		if ($_GET['inscrip']==0) {
1060
			$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce'];
1082
			$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce'];
1061
		}
1083
		}
1062
		//cas d'une inscription
1084
		//cas d'une inscription
1063
		else {
1085
		else {
1064
			$requete='INSERT INTO bazar_abonnement VALUES ('.$GLOBALS['id_user'].', '.$_GET['idtypeannonce'].')';
1086
			$requete='INSERT INTO bazar_abonnement VALUES ('.$GLOBALS['id_user'].', '.$_GET['idtypeannonce'].')';
1065
		}
1087
		}
1066
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1088
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1067
		if (DB::isError($resultat)) {
1089
		if (DB::isError($resultat)) {
1068
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1090
			die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1069
		}
1091
		}
1070
	}
1092
	}
1071
	
1093
	
1072
	if ($GLOBALS['AUTH']->getAuth()) {
1094
	if ($GLOBALS['AUTH']->getAuth()) {
1073
	$res= '<h2>'.BAZ_S_ABONNER.'</h2>'."\n";
1095
	$res= '<h2>'.BAZ_S_ABONNER.'</h2>'."\n";
1074
	$res= BAZ_LAIUS_S_ABONNER."\n";
1096
	$res= BAZ_LAIUS_S_ABONNER."\n";
1075
	//requete pour obtenir l'id et le label des types d'annonces
1097
	//requete pour obtenir l'id et le label des types d'annonces
1076
	$requete = 'SELECT bn_id_nature, bn_label_nature '.
1098
	$requete = 'SELECT bn_id_nature, bn_label_nature '.
1077
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu .' or  bn_ce_id_menu=0';
1099
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu .' or  bn_ce_id_menu=0';
1078
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1100
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1079
	if (DB::isError($resultat)) {
1101
	if (DB::isError($resultat)) {
1080
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1102
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1081
	}
1103
	}
1082
	
1104
	
1083
	$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
1105
	$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
1084
	$table->addRow(array ('<b>'.BAZ_TYPE_ANNONCES.'</b>',
1106
	$table->addRow(array ('<b>'.BAZ_TYPE_ANNONCES.'</b>',
1085
	                      '<b>'.BAZ_STATUT.'</b>',
1107
	                      '<b>'.BAZ_STATUT.'</b>',
1086
			      '<b>'.BAZ_PASSER_EN.'</b>',
1108
			      '<b>'.BAZ_PASSER_EN.'</b>',
1087
			      '<b>'.BAZ_RSS.'</b>',)) ;
1109
			      '<b>'.BAZ_RSS.'</b>',)) ;
1088
	$table->setRowType (0, 'th') ;
1110
	$table->setRowType (0, 'th') ;
1089
	
1111
	
1090
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1112
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1091
		$lien_s_abonner=$GLOBALS['_BAZAR_']['url'];
1113
		$lien_s_abonner=$GLOBALS['_BAZAR_']['url'];
1092
		$lien_s_abonner->addQueryString('action', BAZ_S_INSCRIRE);
1114
		$lien_s_abonner->addQueryString('action', BAZ_S_INSCRIRE);
1093
		$lien_s_abonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']);
1115
		$lien_s_abonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']);
1094
		$lien_s_abonner->addQueryString('inscrip', 1);
1116
		$lien_s_abonner->addQueryString('inscrip', 1);
1095
		
1117
		
1096
		$lien_se_desabonner=$GLOBALS['_BAZAR_']['url'];
1118
		$lien_se_desabonner=$GLOBALS['_BAZAR_']['url'];
1097
		$lien_se_desabonner->addQueryString('action', BAZ_S_INSCRIRE);
1119
		$lien_se_desabonner->addQueryString('action', BAZ_S_INSCRIRE);
1098
		$lien_se_desabonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']);
1120
		$lien_se_desabonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']);
1099
		$lien_se_desabonner->addQueryString('inscrip', 0);
1121
		$lien_se_desabonner->addQueryString('inscrip', 0);
1100
		
1122
		
1101
		$lien_RSS=$GLOBALS['_BAZAR_']['url'];
1123
		$lien_RSS=$GLOBALS['_BAZAR_']['url'];
1102
		$lien_RSS->addQueryString('action', BAZ_VOIR_FLUX_RSS);
1124
		$lien_RSS->addQueryString('action', BAZ_VOIR_FLUX_RSS);
1103
		
1125
		
1104
		'http://'.$_SERVER['HTTP_HOST'].'/client/bazar/bazarRSS.php?annonce='.$ligne['bn_label_nature'];
1126
		'http://'.$_SERVER['HTTP_HOST'].'/client/bazar/bazarRSS.php?annonce='.$ligne['bn_label_nature'];
1105
		
1127
		
1106
		//requete pour savoir si la personne est inscrite à ce type d'annonce
1128
		//requete pour savoir si la personne est inscrite à ce type d'annonce
1107
		$requete = 'SELECT ba_id_utilisateur '.
1129
		$requete = 'SELECT ba_id_utilisateur '.
1108
		           'FROM bazar_abonnement '.
1130
		           'FROM bazar_abonnement '.
1109
			   'WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$ligne['bn_id_nature'];
1131
			   'WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$ligne['bn_id_nature'];
1110
	        $resultat2 = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1132
	        $resultat2 = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1111
		if (DB::isError($resultat2)) {
1133
		if (DB::isError($resultat2)) {
1112
			die ($resultat2->getMessage().$resultat2->getDebugInfo()) ;
1134
			die ($resultat2->getMessage().$resultat2->getDebugInfo()) ;
1113
		}
1135
		}
1114
		if ($resultat2->numRows()>0) {
1136
		if ($resultat2->numRows()>0) {
1115
			$lien_RSS->addQueryString('annonce', $ligne['bn_label_nature']);
1137
			$lien_RSS->addQueryString('annonce', $ligne['bn_label_nature']);
1116
			$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
1138
			$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
1117
					     BAZ_ABONNE,
1139
					     BAZ_ABONNE,
1118
					     '<a href='.$lien_se_desabonner->getURL().'>'.BAZ_SE_DESABONNER.'</a>',
1140
					     '<a href='.$lien_se_desabonner->getURL().'>'.BAZ_SE_DESABONNER.'</a>',
1119
					     '<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>'));
1141
					     '<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>'));
1120
			$lien_RSS->removeQueryString('annonce');
1142
			$lien_RSS->removeQueryString('annonce');
1121
		}
1143
		}
1122
		else {
1144
		else {
1123
			$lien_RSS->addQueryString('annonce', $ligne['bn_label_nature']);
1145
			$lien_RSS->addQueryString('annonce', $ligne['bn_label_nature']);
1124
			$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
1146
			$table->addRow(array('<b>'.$ligne['bn_label_nature'].'</b>',
1125
			                     BAZ_PAS_ABONNE,
1147
			                     BAZ_PAS_ABONNE,
1126
			                     '<a href='.$lien_s_abonner->getURL().'>'.BAZ_S_ABONNER.'</a>',
1148
			                     '<a href='.$lien_s_abonner->getURL().'>'.BAZ_S_ABONNER.'</a>',
1127
					     '<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'" /></a>'));
1149
					     '<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'" /></a>'));
1128
			$lien_RSS->removeQueryString('annonce');
1150
			$lien_RSS->removeQueryString('annonce');
1129
		}
1151
		}
1130
	}
1152
	}
1131
	$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
1153
	$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
1132
	$table->updateColAttributes(0, array('style' => 'text-align:left;'));
1154
	$table->updateColAttributes(0, array('style' => 'text-align:left;'));
1133
	$table->updateColAttributes(1, array('align' => 'center'));
1155
	$table->updateColAttributes(1, array('align' => 'center'));
1134
	$table->updateColAttributes(2, array('align' => 'center'));
1156
	$table->updateColAttributes(2, array('align' => 'center'));
1135
	$table->updateColAttributes(3, array('style' => 'text-align:center;'));
1157
	$table->updateColAttributes(3, array('style' => 'text-align:center;'));
1136
	$res.=$table->toHTML() ;
1158
	$res.=$table->toHTML() ;
1137
	}
1159
	}
1138
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
1160
	else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR;
1139
	
1161
	
1140
	return $res;
1162
	return $res;
1141
}
1163
}
1142
 
1164
 
1143
 
1165
 
1144
/** baz_valeurs_fiche() - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
1166
/** baz_valeurs_fiche() - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
1145
*
1167
*
1146
* @param    integer Identifiant de la fiche
1168
* @param    integer Identifiant de la fiche
1147
*
1169
*
1148
* @return   array   Valeurs enregistrées pour cette fiche
1170
* @return   array   Valeurs enregistrées pour cette fiche
1149
*/
1171
*/
1150
function baz_valeurs_fiche($idfiche) {
1172
function baz_valeurs_fiche($idfiche) {
1151
	$requete = 'SELECT * FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
1173
	$requete = 'SELECT * FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
1152
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1174
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1153
	if (DB::isError($resultat)) {
1175
	if (DB::isError($resultat)) {
1154
		die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1176
		die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
1155
	}
1177
	}
1156
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
1178
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
1157
	$valeurs_fiche = array() ;
1179
	$valeurs_fiche = array() ;
1158
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
1180
	$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
1159
	for ($i=0; $i<count($tableau); $i++) {
1181
	for ($i=0; $i<count($tableau); $i++) {
1160
	     if ($tableau[$i]['type']!='labelhtml') {
1182
	     if ($tableau[$i]['type']!='labelhtml') {
1161
		 $valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]);
1183
		 $valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]);
1162
	     }
1184
	     }
1163
	}
1185
	}
1164
	return $valeurs_fiche;
1186
	return $valeurs_fiche;
1165
}
1187
}
1166
 
1188
 
1167
 
1189
 
1168
/** baz_rechercher() affiche le formulaire de recherche d'annonces
1190
/** baz_rechercher() affiche le formulaire de recherche d'annonces
1169
*
1191
*
1170
*   @return  string    le code HTML à afficher
1192
*   @return  string    le code HTML à afficher
1171
*/
1193
*/
1172
function baz_rechercher() {
1194
function baz_rechercher() {
1173
	$res= '<h2>'.BAZ_RECHERCHER_DES_ANNONCES.'</h2>'."\n";
1195
	$res= '<h2>'.BAZ_RECHERCHER_DES_ANNONCES.'</h2>'."\n";
1174
	
1196
	
1175
	$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_RECHERCHER_ANNONCE);
1197
	$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_RECHERCHER_ANNONCE);
1176
	$lien_formulaire=preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
1198
	$lien_formulaire=preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
1177
	$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
1199
	$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
1178
	
1200
	
1179
	//requete pour obtenir l'id et le label des types d'annonces
1201
	//requete pour obtenir l'id et le label des types d'annonces
1180
	$requete = 'SELECT bn_label_nature '.
1202
	$requete = 'SELECT bn_label_nature '.
1181
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.
1203
	           'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu.
1182
		   '  or  bn_ce_id_menu=0 ORDER BY bn_label_nature ASC';
1204
		   '  or  bn_ce_id_menu=0 ORDER BY bn_label_nature ASC';
1183
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1205
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1184
	if (DB::isError($resultat)) {
1206
	if (DB::isError($resultat)) {
1185
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1207
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1186
	}
1208
	}
1187
	$type_annonce_select['toutes']=BAZ_TOUTES;
1209
	$type_annonce_select['toutes']=BAZ_TOUTES;
1188
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1210
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1189
		$type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature'];
1211
		$type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature'];
1190
	}
1212
	}
1191
	$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();');
1213
	$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();');
1192
	$formtemplate->addElement ('select', 'type_annonce', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
1214
	$formtemplate->addElement ('select', 'type_annonce', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
1193
	
1215
	
1194
	//requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement
1216
	//requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement
1195
	$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
1217
	$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
1196
	           'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '.
1218
	           'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '.
1197
		   '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.' '.
1219
		   '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.' '.
1198
		   'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
1220
		   'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
1199
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1221
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1200
	if (DB::isError($resultat)) {
1222
	if (DB::isError($resultat)) {
1201
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1223
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1202
	}
1224
	}
1203
	$personnes_select['tous']=BAZ_TOUS;
1225
	$personnes_select['tous']=BAZ_TOUS;
1204
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1226
	while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
1205
		$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
1227
		$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
1206
	}
1228
	}
1207
	$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();');
1229
	$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();');
1208
	$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
1230
	$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
1209
	
1231
	
1210
	//champs texte pour entrer les mots clés
1232
	//champs texte pour entrer les mots clés
1211
	$option=array('size'=>30,'maxlength'=>40);
1233
	$option=array('size'=>30,'maxlength'=>40);
1212
	$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
1234
	$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
1213
	//Bouton de validation du formulaire
1235
	//Bouton de validation du formulaire
1214
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
1236
	$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
1215
	$formtemplate->addGroup($bouton, null, null, '');
1237
	$formtemplate->addGroup($bouton, null, null, '');
1216
	
1238
	
1217
	$requeteSQL='';
1239
	$requeteSQL='';
1218
	//affichage des résultats de la recherche si le formulaire a été envoyé
1240
	//affichage des résultats de la recherche si le formulaire a été envoyé
1219
	if (isset($_POST['type_annonce'])) {
1241
	if (isset($_POST['type_annonce'])) {
1220
		//ajout des champs pour la recherche personnalisée
1242
		//ajout des champs pour la recherche personnalisée
1221
		if ($_POST['type_annonce']!='toutes') {
1243
		if ($_POST['type_annonce']!='toutes') {
1222
			$tableau=baz_valeurs_template($_POST['type_annonce'].'.tpl');
1244
			$tableau=baz_valeurs_template($_POST['type_annonce'].'.tpl');
1223
			$nbvaleurs=count($tableau);
1245
			$nbvaleurs=count($tableau);
1224
			$html='<tr><td colspan="2" width="600px"><h3>'.BAZ_RECHERCHE_AVANCEE.'</h3></td></tr>'."\n";
1246
			$html='<tr><td colspan="2" width="600px"><h3>'.BAZ_RECHERCHE_AVANCEE.'</h3></td></tr>'."\n";
1225
			$formtemplate->addElement('html', $html) ;
1247
			$formtemplate->addElement('html', $html) ;
1226
			for ($i=0; $i<$nbvaleurs; $i++) {
1248
			for ($i=0; $i<$nbvaleurs; $i++) {
1227
				if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
1249
				if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
1228
					$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
1250
					$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
1229
					$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], 0) ;
1251
					$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], 0) ;
1230
				}
1252
				}
1231
			}
1253
			}
1232
		}
1254
		}
1233
		$res.= $formtemplate->toHTML() ;
1255
		$res.= $formtemplate->toHTML() ;
1234
		
1256
		
1235
		//préparation de la requête pour trouver les mots clés
1257
		//préparation de la requête pour trouver les mots clés
1236
		if ($_POST['recherche_mots_cles']!='') {
1258
		if ($_POST['recherche_mots_cles']!='') {
1237
			//découpage des mots clés
1259
			//découpage des mots clés
1238
			$recherche = split(' ', $_POST['recherche_mots_cles']) ;
1260
			$recherche = split(' ', $_POST['recherche_mots_cles']) ;
1239
			$nbmots=count($recherche); 
1261
			$nbmots=count($recherche); 
1240
			for ($i=0; $i<$nbmots; $i++) {
1262
			for ($i=0; $i<$nbmots; $i++) {
1241
				if ($i>0) $requeteSQL.=' OR ';
1263
				if ($i>0) $requeteSQL.=' OR ';
1242
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
1264
				$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
1243
			}
1265
			}
1244
		}
1266
		}
1245
		
1267
		
1246
		//génération de l'affichage
1268
		//génération de l'affichage
1247
		$res.=RSSversHTML(gen_RSS($_POST['type_annonce'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ;
1269
		$res.=RSSversHTML(gen_RSS($_POST['type_annonce'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ;
1248
	}
1270
	}
1249
	else {
1271
	else {
1250
		//Bouton de validation du formulaire
1272
		//Bouton de validation du formulaire
1251
		$res.=$formtemplate->toHTML()."\n".BAZ_DESCRIPTION_RECHERCHE;
1273
		$res.=$formtemplate->toHTML()."\n".BAZ_DESCRIPTION_RECHERCHE;
1252
	}
1274
	}
1253
	
1275
	
1254
	return $res;
1276
	return $res;
1255
}
1277
}
1256
 
1278
 
1257
 
1279
 
1258
function baz_envoie_mail() {
1280
function baz_envoie_mail() {
1259
	$headers['From']    = $_SERVER['SERVER_ADMIN'] ;
1281
	$headers['From']    = $_SERVER['SERVER_ADMIN'] ;
1260
	$headers['To']      = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
1282
	$headers['To']      = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
1261
	$headers['Subject'] = INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET;
1283
	$headers['Subject'] = INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET;
1262
	
1284
	
1263
	$q = "select * from ".INS_ANNUAIRE." where ".INS_CHAMPS_MAIL."=\"".$_POST['mail']."\"" ;
1285
	$q = "select * from ".INS_ANNUAIRE." where ".INS_CHAMPS_MAIL."=\"".$_POST['mail']."\"" ;
1264
	
1286
	
1265
	$r = $GLOBALS['_BAZAR_']['db']->query($q) ;
1287
	$r = $GLOBALS['_BAZAR_']['db']->query($q) ;
1266
	if (DB::isError ($r)) {
1288
	if (DB::isError ($r)) {
1267
		die ("echec de la requete") ;
1289
		die ("echec de la requete") ;
1268
	}
1290
	}
1269
	$row  = $r->fetchRow(DB_FETCHMODE_ASSOC) ;
1291
	$row  = $r->fetchRow(DB_FETCHMODE_ASSOC) ;
1270
	
1292
	
1271
	$body_entete = "Un nouvel inscrit à tela : \n" ;
1293
	$body_entete = "Un nouvel inscrit à tela : \n" ;
1272
	$body = "mail : ".$row[INS_CHAMPS_MAIL]."\n" ;
1294
	$body = "mail : ".$row[INS_CHAMPS_MAIL]."\n" ;
1273
	$body .= "------------------------------------------\n";
1295
	$body .= "------------------------------------------\n";
1274
	$body .= "nom: ".unhtmlentities($row[INS_CHAMPS_NOM])." \n" ;
1296
	$body .= "nom: ".unhtmlentities($row[INS_CHAMPS_NOM])." \n" ;
1275
	$body .= "prénom : ".unhtmlentities($row[INS_CHAMPS_PRENOM])." \n" ;
1297
	$body .= "prénom : ".unhtmlentities($row[INS_CHAMPS_PRENOM])." \n" ;
1276
	$body .= "-------------------------------------------\n" ;
1298
	$body .= "-------------------------------------------\n" ;
1277
	
1299
	
1278
	// création du mail
1300
	// création du mail
1279
	$mail_object =& Mail::factory('mail');
1301
	$mail_object =& Mail::factory('mail');
1280
	if (!mail ($headers['To'], $headers['Subject'], $body)) {
1302
	if (!mail ($headers['To'], $headers['Subject'], $body)) {
1281
		return "<tr><td>Une erreur s'est produite:<br></td></tr>\n" ;
1303
		return "<tr><td>Une erreur s'est produite:<br></td></tr>\n" ;
1282
	}
1304
	}
1283
	$body .= INS_MAIL_INSCRIPTION_2;
1305
	$body .= INS_MAIL_INSCRIPTION_2;
1284
	
1306
	
1285
	$headers['To']      = $_POST['mail'] ;
1307
	$headers['To']      = $_POST['mail'] ;
1286
	
1308
	
1287
	// création du mail
1309
	// création du mail
1288
	if (mail($headers['To'], $headers['Subject'], INS_MAIL_INSCRIPTION_1.$body)) {
1310
	if (mail($headers['To'], $headers['Subject'], INS_MAIL_INSCRIPTION_1.$body)) {
1289
		return "<tr><td>Une erreur s'est produite<br></td></tr>\n" ;
1311
		return "<tr><td>Une erreur s'est produite<br></td></tr>\n" ;
1290
	}
1312
	}
1291
	return;
1313
	return;
1292
}
1314
}
1293
 
1315
 
1294
 
-
 
1295
function baz_unhtmlentities($string) {
-
 
1296
	$trans_tbl = get_html_translation_table(HTML_ENTITIES);
-
 
1297
	$trans_tbl = array_flip($trans_tbl);
-
 
1298
	return strtr($string, $trans_tbl);
-
 
1299
}
-
 
1300
 
-
 
1301
 
1316
 
1302
/** function baz_nextId () Renvoie le prochain identifiant numérique libre d'une table
1317
/** function baz_nextId () Renvoie le prochain identifiant numérique libre d'une table
1303
*
1318
*
1304
*   @param  string  Nom de la table
1319
*   @param  string  Nom de la table
1305
*   @param  string  Nom du champs identifiant
1320
*   @param  string  Nom du champs identifiant
1306
*   @param  mixed   Objet DB de PEAR pour la connexion à la base de donnée
1321
*   @param  mixed   Objet DB de PEAR pour la connexion à la base de donnée
1307
*
1322
*
1308
*   return  integer Le prochain numéro d'identifiant disponible
1323
*   return  integer Le prochain numéro d'identifiant disponible
1309
*/
1324
*/
1310
function baz_nextId($table, $colonne_identifiant, $bdd) {
1325
function baz_nextId($table, $colonne_identifiant, $bdd) {
1311
	$requete = 'SELECT MAX('.$colonne_identifiant.') AS maxi FROM '.$table;
1326
	$requete = 'SELECT MAX('.$colonne_identifiant.') AS maxi FROM '.$table;
1312
	$resultat = $bdd->query($requete) ;
1327
	$resultat = $bdd->query($requete) ;
1313
	if (DB::isError($resultat)) {
1328
	if (DB::isError($resultat)) {
1314
		die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
1329
		die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
1315
		return $bdd->raiseError($resultat) ;
1330
		return $bdd->raiseError($resultat) ;
1316
	}
1331
	}
1317
	
1332
	
1318
	if ($resultat->numRows() > 1) {
1333
	if ($resultat->numRows() > 1) {
1319
		return $bdd->raiseError('<br />La table '.$table.' a un identifiant non unique<br />') ;
1334
		return $bdd->raiseError('<br />La table '.$table.' a un identifiant non unique<br />') ;
1320
	}
1335
	}
1321
	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
1336
	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
1322
	return $ligne->maxi + 1 ;
1337
	return $ligne->maxi + 1 ;
1323
}
1338
}
1324
 
1339
 
1325
/* +--Fin du code ----------------------------------------------------------------------------------------+
1340
/* +--Fin du code ----------------------------------------------------------------------------------------+
1326
*
1341
*
1327
* $Log: not supported by cvs2svn $
1342
* $Log: not supported by cvs2svn $
-
 
1343
* Revision 1.18  2005/11/18 16:03:23  florian
-
 
1344
* correction bug html entites
-
 
1345
*
1328
* Revision 1.17  2005/11/17 18:48:02  florian
1346
* Revision 1.17  2005/11/17 18:48:02  florian
1329
* corrections bugs + amélioration de l'application d'inscription
1347
* corrections bugs + amélioration de l'application d'inscription
1330
*
1348
*
1331
* Revision 1.16  2005/11/07 17:30:36  florian
1349
* Revision 1.16  2005/11/07 17:30:36  florian
1332
* ajout controle sur les listes pour la saisie
1350
* ajout controle sur les listes pour la saisie
1333
*
1351
*
1334
* Revision 1.15  2005/11/07 17:05:45  florian
1352
* Revision 1.15  2005/11/07 17:05:45  florian
1335
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
1353
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
1336
*
1354
*
1337
* Revision 1.14  2005/11/07 08:48:02  florian
1355
* Revision 1.14  2005/11/07 08:48:02  florian
1338
* correction pb guillemets pour saisie et modif de fiche
1356
* correction pb guillemets pour saisie et modif de fiche
1339
*
1357
*
1340
* Revision 1.13  2005/10/21 16:15:04  florian
1358
* Revision 1.13  2005/10/21 16:15:04  florian
1341
* mise a jour appropriation
1359
* mise a jour appropriation
1342
*
1360
*
1343
* Revision 1.11  2005/10/12 17:20:33  ddelon
1361
* Revision 1.11  2005/10/12 17:20:33  ddelon
1344
* Reorganisation calendrier + applette
1362
* Reorganisation calendrier + applette
1345
*
1363
*
1346
* Revision 1.10  2005/10/12 15:14:06  florian
1364
* Revision 1.10  2005/10/12 15:14:06  florian
1347
* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources
1365
* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources
1348
*
1366
*
1349
* Revision 1.9  2005/10/10 16:22:52  alexandre_tb
1367
* Revision 1.9  2005/10/10 16:22:52  alexandre_tb
1350
* Correction de bug. Lorsqu'on revient en arrière après avoir validé un formulaire.
1368
* Correction de bug. Lorsqu'on revient en arrière après avoir validé un formulaire.
1351
*
1369
*
1352
* Revision 1.8  2005/09/30 13:50:07  alexandre_tb
1370
* Revision 1.8  2005/09/30 13:50:07  alexandre_tb
1353
* correction bug date parution ressource
1371
* correction bug date parution ressource
1354
*
1372
*
1355
* Revision 1.7  2005/09/30 13:15:58  ddelon
1373
* Revision 1.7  2005/09/30 13:15:58  ddelon
1356
* compatibilité php5
1374
* compatibilité php5
1357
*
1375
*
1358
* Revision 1.6  2005/09/30 13:00:05  ddelon
1376
* Revision 1.6  2005/09/30 13:00:05  ddelon
1359
* Fiche bazar generique
1377
* Fiche bazar generique
1360
*
1378
*
1361
* Revision 1.5  2005/09/30 12:22:54  florian
1379
* Revision 1.5  2005/09/30 12:22:54  florian
1362
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
1380
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
1363
*
1381
*
1364
* Revision 1.3  2005/07/21 19:03:12  florian
1382
* Revision 1.3  2005/07/21 19:03:12  florian
1365
* nouveautés bazar: templates fiches, correction de bugs, ...
1383
* nouveautés bazar: templates fiches, correction de bugs, ...
1366
*
1384
*
1367
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
1385
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
1368
* Import initial de Bazar
1386
* Import initial de Bazar
1369
*
1387
*
1370
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
1388
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
1371
* Import initial
1389
* Import initial
1372
*
1390
*
1373
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
1391
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
1374
* import de la nouvelle version
1392
* import de la nouvelle version
1375
*
1393
*
1376
* Revision 1.10  2004/07/08 17:25:25  florian
1394
* Revision 1.10  2004/07/08 17:25:25  florian
1377
* ajout commentaires + petits debuggages
1395
* ajout commentaires + petits debuggages
1378
*
1396
*
1379
* Revision 1.8  2004/07/07 14:30:19  florian
1397
* Revision 1.8  2004/07/07 14:30:19  florian
1380
* débogage RSS
1398
* débogage RSS
1381
*
1399
*
1382
* Revision 1.7  2004/07/06 16:22:01  florian
1400
* Revision 1.7  2004/07/06 16:22:01  florian
1383
* débogage modification + MAJ flux RSS
1401
* débogage modification + MAJ flux RSS
1384
*
1402
*
1385
* Revision 1.6  2004/07/06 09:28:26  florian
1403
* Revision 1.6  2004/07/06 09:28:26  florian
1386
* changement interface de modification
1404
* changement interface de modification
1387
*
1405
*
1388
* Revision 1.5  2004/07/05 15:10:23  florian
1406
* Revision 1.5  2004/07/05 15:10:23  florian
1389
* changement interface de saisie
1407
* changement interface de saisie
1390
*
1408
*
1391
* Revision 1.4  2004/07/02 14:51:14  florian
1409
* Revision 1.4  2004/07/02 14:51:14  florian
1392
* ajouts divers pour faire fonctionner l'insertion de fiches
1410
* ajouts divers pour faire fonctionner l'insertion de fiches
1393
*
1411
*
1394
* Revision 1.3  2004/07/01 16:37:42  florian
1412
* Revision 1.3  2004/07/01 16:37:42  florian
1395
* ajout de fonctions pour les templates
1413
* ajout de fonctions pour les templates
1396
*
1414
*
1397
* Revision 1.2  2004/07/01 13:00:13  florian
1415
* Revision 1.2  2004/07/01 13:00:13  florian
1398
* modif Florian
1416
* modif Florian
1399
*
1417
*
1400
* Revision 1.1  2004/06/23 09:58:32  alex
1418
* Revision 1.1  2004/06/23 09:58:32  alex
1401
* version initiale
1419
* version initiale
1402
*
1420
*
1403
* Revision 1.1  2004/06/18 09:00:37  alex
1421
* Revision 1.1  2004/06/18 09:00:37  alex
1404
* version initiale
1422
* version initiale
1405
*
1423
*
1406
*
1424
*
1407
* +-- Fin du code ----------------------------------------------------------------------------------------+
1425
* +-- Fin du code ----------------------------------------------------------------------------------------+
1408
*/
1426
*/
1409
 
1427
 
1410
?>
1428
?>