Subversion Repositories Applications.bazar

Rev

Rev 118 | Rev 132 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 florian 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
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                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
126 florian 22
// CVS : $Id: bazar.php,v 1.31 2006-05-19 13:54:32 florian Exp $
5 florian 23
/**
24
*
25
*@package bazar
26
//Auteur original :
27
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
28
*@author        Florian Schmitt <florian@ecole-et-nature.org>
29
//Autres auteurs :
30
*@copyright     Tela-Botanica 2000-2004
126 florian 31
*@version       $Revision: 1.31 $ $Date: 2006-05-19 13:54:32 $
5 florian 32
// +------------------------------------------------------------------------------------------------------+
33
*/
34
 
35
// +------------------------------------------------------------------------------------------------------+
36
// |                                            ENTETE du PROGRAMME                                       |
37
// +------------------------------------------------------------------------------------------------------+
38
 
39
error_reporting(E_ALL);
118 florian 40
require_once PAP_CHEMIN_API_PEAR.'DB.php' ;
41
require_once PAP_CHEMIN_API_PEAR.'Auth.php' ;
54 florian 42
require_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
92 alexandre_ 43
require_once 'bibliotheque/bazar.class.php';
54 florian 44
require_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazar
5 florian 45
 
46
if (defined('PAP_VERSION')) { //si on est dans Papyrus
47
	GEN_stockerStyleExterne( 'bazar_interne', 'client/bazar/bazar.interne.css');
48
}
49
 
68 florian 50
//**********************************************************************************************************
51
//initialisation des paramêtres papyrus
52
//**********************************************************************************************************
64 florian 53
//si un parametre est précisé dans le gestionnaire de menus papyrus, on le prends en compte
54
//parametre action pour lancer directement l'action indiquée
55
if (!isset($_GET['action'])and(isset($GLOBALS['_GEN_commun']['info_application']->action))) {
56
	$_GET['action']=$GLOBALS['_GEN_commun']['info_application']->action;
57
}
58
//parametre voir_menu pour afficher le menu ou pas (par défaut, il l'affiche)
59
if ((isset($GLOBALS['_GEN_commun']['info_application']->voir_menu))and($GLOBALS['_GEN_commun']['info_application']->voir_menu==0)) {
60
	$GLOBALS['_BAZAR_']['affiche_menu']=0;
61
}
62
else $GLOBALS['_BAZAR_']['affiche_menu']=1;
63
//parametre categorie_nature pour préciser quels types de fiches sont montrees (par défaut, il affiche les id_menu=0)
64
if (isset($GLOBALS['_GEN_commun']['info_application']->categorie_nature)) {
65
	$GLOBALS['_BAZAR_']['categorie_nature']=$GLOBALS['_GEN_commun']['info_application']->categorie_nature;
66
}
126 florian 67
elseif (isset($_REQUEST['categorie_nature'])) {
68
	$GLOBALS['_BAZAR_']['categorie_nature']=$_REQUEST['categorie_nature'];
69
}
64 florian 70
else $GLOBALS['_BAZAR_']['categorie_nature']=0;
71
//parametre id_nature pour afficher un certain type de fiche (par défaut, tous les types de fiches)
72
if (isset($GLOBALS['_GEN_commun']['info_application']->id_nature)) {
68 florian 73
	$GLOBALS['_BAZAR_']['id_typeannonce']=$GLOBALS['_GEN_commun']['info_application']->id_nature;
64 florian 74
}
68 florian 75
elseif (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce']='toutes';
64 florian 76
 
68 florian 77
//**********************************************************************************************************
78
//initialisation de la variable globale de bazar
79
//**********************************************************************************************************
80
$GLOBALS['id_user']=$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID);
81
 
82
//Recuperer les eventuelles variables passees en GET ou en POST
84 alexandre_ 83
if (isset($_REQUEST['id_fiche'])) {
84
	$GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
85
	// récupération du type d'annonce à partir de la fiche
86
	$requete = 'select bf_ce_nature from bazar_fiche where bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'] ;
87
	$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ;
88
	if (DB::isError($resultat)) {
89
		echo $resultat->getMessage().'<br />'.$resultat->getInfoDebug();
90
	}
91
	$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
92
	$GLOBALS['_BAZAR_']['id_typeannonce'] = $ligne->bf_ce_nature ;
93
	$resultat->free();
94
}
68 florian 95
if (isset($_REQUEST['typeannonce'])) {
96
	$GLOBALS['_BAZAR_']['id_typeannonce']=$_REQUEST['typeannonce'];
97
}
98
 
99
if ((isset($GLOBALS['_BAZAR_']['id_typeannonce']))and($GLOBALS['_BAZAR_']['id_typeannonce']!='toutes')) {
100
	$requete = 'SELECT bn_label_nature, bn_condition, bn_template, bn_commentaire, bn_appropriation, bn_image_titre, bn_image_logo FROM bazar_nature WHERE bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'];
101
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
102
	if (DB::isError($resultat)) {
103
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
104
	}
105
	$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
106
	$GLOBALS['_BAZAR_']['typeannonce']=$ligne['bn_label_nature'];
107
	$GLOBALS['_BAZAR_']['condition']=$ligne['bn_condition'];
108
    $GLOBALS['_BAZAR_']['template']=$ligne['bn_template'];
109
	$GLOBALS['_BAZAR_']['commentaire']=$ligne['bn_commentaire'];
110
	$GLOBALS['_BAZAR_']['appropriation']=$ligne['bn_appropriation'];
111
	$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre'];
87 alexandre_ 112
	$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];
68 florian 113
}
87 alexandre_ 114
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce'])) $GLOBALS['_BAZAR_']['id_typeannonce'] = 'toutes' ;
5 florian 115
// +------------------------------------------------------------------------------------------------------+
116
// |                                           LISTE de FONCTIONS                                         |
117
// +------------------------------------------------------------------------------------------------------+
64 florian 118
if ($GLOBALS['_BAZAR_']['affiche_menu']) {
119
	//---------------le menu de l'appli-----------
120
	function afficherContenuNavigation () {
84 alexandre_ 121
		$res ='<ul id="BAZ_menu">'."\n";
64 florian 122
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
123
		//partie consultation d'annonces
92 alexandre_ 124
		$res .= '<li id="consulter"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_CONSULTER.'</a>'."\n".'</li>'."\n";
64 florian 125
		$GLOBALS['_BAZAR_']['url']->removeQueryString('nature');
5 florian 126
 
64 florian 127
		//partie abonnement aux annonces
128
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_S_INSCRIRE);
92 alexandre_ 129
		$res .= '<li id="inscrire"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_S_ABONNER.'</a></li>'."\n" ;
64 florian 130
		$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
131
 
132
		//partie saisie d'annonces
133
		$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_DEPOSER_ANNONCE);
92 alexandre_ 134
		$res .= '<li id="deposer"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_SAISIR.'</a>'."\n".'</li>'."\n";
64 florian 135
		$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
136
 
137
		//choix des administrateurs
111 alexandre_ 138
		$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ;
64 florian 139
		$est_admin=0;
140
		if ($GLOBALS['AUTH']->getAuth()) {
141
			$requete='SELECT bn_id_nature FROM bazar_nature';
142
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
143
			if (DB::isError($resultat)) {
144
				die ($resultat->getMessage().$resultat->getDebugInfo()) ;
145
			}
146
			while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
92 alexandre_ 147
				if ($utilisateur->isAdmin ($ligne['bn_id_nature'])) {
64 florian 148
					$est_admin=1;
149
			    }
150
			}
92 alexandre_ 151
			if ($est_admin || $utilisateur->isSuperAdmin()) {
64 florian 152
				//partie administrer
153
				$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ANNONCES_A_VALIDER);
92 alexandre_ 154
				$res .= '<li id="administrer"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_ADMINISTRER.'</a></li>'."\n";
64 florian 155
				$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
156
 
92 alexandre_ 157
				if ($utilisateur->isSuperAdmin()) {
64 florian 158
					$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_GERER_DROITS);
92 alexandre_ 159
					$res .= '<li id="gerer"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_GESTION_DES_DROITS.'</a></li>'."\n" ;
64 florian 160
					$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
161
				}
162
			}
163
		}
164
		$res.= '</ul>'."\n";
165
	    return $res ;
166
	}
167
}
168
 
169
function afficherContenuCorps() {
5 florian 170
	$res = '';
7 florian 171
	$res.='<h1>'.$GLOBALS['_GEN_commun']['info_menu']->gm_titre.'</h1>'."\n";
45 florian 172
 
5 florian 173
	if (isset($_GET['action'])) {
68 florian 174
		if (($_GET['action']!=BAZ_ACTION_NOUVEAU_V)and($_GET['action']!=BAZ_ACTION_MODIFIER_V)) unset($_SESSION['formulaire_annonce_valide']);
5 florian 175
		switch ($_GET['action']) {
176
			case BAZ_VOIR_VOS_ANNONCES : $res .= mes_fiches(); break;
87 alexandre_ 177
			case BAZ_VOIR_TOUTES_ANNONCES : $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']); break;
5 florian 178
			case BAZ_DEPOSER_ANNONCE : $res .= baz_formulaire(BAZ_DEPOSER_ANNONCE); break;
72 alexandre_ 179
			case BAZ_ANNONCES_A_VALIDER : $res .= fiches_a_valider().baz_liste(); break;
5 florian 180
			case BAZ_ADMINISTRER_ANNONCES : $res .= baz_administrer_annonces(); break;
181
			case BAZ_MODIFIER_FICHE : $res .= baz_formulaire(BAZ_ACTION_MODIFIER); break;
182
			case BAZ_SUPPRIMER_FICHE : $res .= baz_suppression().baz_liste('',$GLOBALS['id_user'],''); break;
183
			case BAZ_VOIR_FICHE : $res .= baz_voir_fiche(1); break;
184
			case BAZ_ACTION_NOUVEAU : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU); break;
90 alexandre_ 185
			case BAZ_ACTION_NOUVEAU_V : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU_V).mes_fiches(); break;
5 florian 186
			case BAZ_ACTION_MODIFIER : $res .= baz_formulaire(BAZ_ACTION_MODIFIER); break;
118 florian 187
			case BAZ_ACTION_MODIFIER_V : $res .= baz_formulaire(BAZ_ACTION_MODIFIER_V).mes_fiches(); break;
188
			case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression().mes_fiches(); break;
5 florian 189
			case BAZ_ACTION_PUBLIER : publier_fiche(1) ;$res .= fiches_a_valider(); break;
190
			case BAZ_ACTION_PAS_PUBLIER : publier_fiche(0) ;$res .= fiches_a_valider(); break;
68 florian 191
			case BAZ_GERER_DROITS : $res .= baz_gestion_droits(); break;
5 florian 192
			case BAZ_S_INSCRIRE : $res .= baz_s_inscrire(); break;
193
			case BAZ_VOIR_FLUX_RSS : header('Content-type: text/xml; charset=ISO-8859-1');include("bazarRSS.php");exit(0);break;
118 florian 194
			default : $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']) ;
5 florian 195
		}
196
	}
197
	else {
118 florian 198
		$res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']);
5 florian 199
	}
200
	return $res ;
201
}
202
 
203
 
204
/* +--Fin du code ----------------------------------------------------------------------------------------+
205
*
10 ddelon 206
* $Log: not supported by cvs2svn $
126 florian 207
* Revision 1.30  2006/04/28 12:46:14  florian
208
* integration des liens vers annuaire
209
*
118 florian 210
* Revision 1.29  2006/04/24 10:16:22  alexandre_tb
211
* ajout de la globale filtre.
212
* elle remplace (à terme) catégorie nature
213
*
117 alexandre_ 214
* Revision 1.28  2006/03/29 13:05:41  alexandre_tb
215
* utilisation de la classe Administrateur_bazar
216
*
111 alexandre_ 217
* Revision 1.27  2006/02/07 11:08:36  alexandre_tb
218
* utilisation de la classe Utilisateur_bazar pour la vérification des droits
219
*
92 alexandre_ 220
* Revision 1.26  2006/02/06 09:33:53  alexandre_tb
221
* modification de l'affichage lors de la saisie de fiche
222
*
90 alexandre_ 223
* Revision 1.25  2006/01/30 17:25:38  alexandre_tb
224
* correction de bugs
225
*
87 alexandre_ 226
* Revision 1.24  2006/01/26 11:06:43  alexandre_tb
227
* ajout d'une requete pour recupere l'id_nature si un id_fiche est passé dans l'url
228
*
84 alexandre_ 229
* Revision 1.23  2006/01/17 10:07:36  alexandre_tb
230
* en cours
231
*
72 alexandre_ 232
* Revision 1.22  2006/01/16 15:11:28  alexandre_tb
233
* simplification code
234
*
71 alexandre_ 235
* Revision 1.21  2006/01/13 14:12:52  florian
236
* utilisation des temlates dans la table bazar_nature
237
*
68 florian 238
* Revision 1.20  2006/01/05 16:28:25  alexandre_tb
239
* prise en chage des checkbox, reste la mise à jour à gérer
240
*
67 alexandre_ 241
* Revision 1.19  2006/01/03 10:19:31  florian
242
* Mise à jour pour accepter des parametres dans papyrus: faire apparaitre ou non le menu, afficher qu'un type de fiches, définir l'action par défaut...
243
*
64 florian 244
* Revision 1.18  2005/12/02 10:57:03  florian
245
* MAJ pour paramétrage dans gestion de menus papyrus
246
*
59 florian 247
* Revision 1.17  2005/12/01 16:05:41  florian
248
* changement des chemins pour appli Pear
249
*
57 florian 250
* Revision 1.16  2005/12/01 15:31:30  florian
251
* correction bug modifs et saisies
252
*
56 florian 253
* Revision 1.15  2005/11/30 13:58:45  florian
254
* ajouts graphisme (logos, boutons), changement structure SQL bazar_fiche
255
*
55 florian 256
* Revision 1.14  2005/11/24 16:17:13  florian
257
* corrections bugs, ajout des cases à cocher
258
*
54 florian 259
* Revision 1.13  2005/11/14 16:04:54  florian
260
* maj bug affichage flux
261
*
51 florian 262
* Revision 1.12  2005/11/07 17:05:46  florian
263
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
264
*
45 florian 265
* Revision 1.11  2005/10/21 16:15:04  florian
266
* mise a jour appropriation
267
*
39 florian 268
* Revision 1.10  2005/10/12 17:20:33  ddelon
269
* Reorganisation calendrier + applette
270
*
30 ddelon 271
* Revision 1.9  2005/10/12 13:35:07  florian
272
* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources
273
*
22 florian 274
* Revision 1.8  2005/09/30 13:00:05  ddelon
275
* Fiche bazar generique
276
*
11 ddelon 277
* Revision 1.7  2005/09/30 12:34:44  ddelon
278
* petite modification pour integration bazar dans papyrus
279
*
10 ddelon 280
* Revision 1.6  2005/09/30 12:22:54  florian
281
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
282
*
7 florian 283
* Revision 1.4  2005/07/21 19:03:12  florian
284
* nouveautés bazar: templates fiches, correction de bugs, ...
285
*
5 florian 286
* Revision 1.2  2005/02/22 15:33:32  florian
287
* integration dans Papyrus
288
*
289
* Revision 1.1.1.1  2005/02/17 18:05:11  florian
290
* Import initial de Bazar
291
*
292
* Revision 1.1.1.1  2005/02/17 11:09:50  florian
293
* Import initial
294
*
295
* Revision 1.1.1.1  2005/02/16 18:06:35  florian
296
* import de la nouvelle version
297
*
298
* Revision 1.3  2004/07/05 15:10:14  florian
299
* changement interface de saisie
300
*
301
* Revision 1.2  2004/07/01 10:13:41  florian
302
* modif Florian
303
*
304
* Revision 1.1  2004/06/23 09:58:32  alex
305
* version initiale
306
*
307
* Revision 1.1  2004/06/18 09:00:07  alex
308
* version initiale
309
*
310
*
311
* +-- Fin du code ----------------------------------------------------------------------------------------+
312
*/
313
?>