Rev 68 | Rev 72 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library is free software; you can redistribute it and/or |// | modify it under the terms of the GNU Lesser General Public |// | License as published by the Free Software Foundation; either |// | version 2.1 of the License, or (at your option) any later version. |// | |// | This library is distributed in the hope that it will be useful, |// | but WITHOUT ANY WARRANTY; without even the implied warranty of |// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |// | Lesser General Public License for more details. |// | |// | You should have received a copy of the GNU Lesser General Public |// | License along with this library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: bazar.php,v 1.22 2006-01-16 15:11:28 alexandre_tb Exp $/****@package bazar//Auteur original :*@author Alexandre GRANIER <alexandre@tela-botanica.org>*@author Florian Schmitt <florian@ecole-et-nature.org>//Autres auteurs :*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.22 $ $Date: 2006-01-16 15:11:28 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | LES CONSTANTES DES ACTIONS DE BAZAR |// +------------------------------------------------------------------------------------------------------+define ('BAZ_VOIR_TOUTES_ANNONCES', 1) ;define ('BAZ_DEPOSER_ANNONCE', 3) ;define ('BAZ_ANNONCES_A_VALIDER', 4) ;define ('BAZ_GERER_DROITS', 5) ;define ('BAZ_ADMINISTRER_ANNONCES', 6) ;define ('BAZ_MODIFIER_FICHE', 7) ;if (!defined('BAZ_VOIR_FICHE')) define ('BAZ_VOIR_FICHE', 8) ;define ('BAZ_SUPPRIMER_FICHE', 9) ;define ('BAZ_ACTION_NOUVEAU', 10) ;define ('BAZ_ACTION_NOUVEAU_V', 11) ;define ('BAZ_ACTION_MODIFIER', 12) ;define ('BAZ_ACTION_MODIFIER_V', 13) ;define ('BAZ_ACTION_SUPPRESSION', 14) ;define ('BAZ_ACTION_PUBLIER', 15) ;define ('BAZ_ACTION_PAS_PUBLIER', 16) ;define ('BAZ_S_INSCRIRE', 17);define ('BAZ_VOIR_FLUX_RSS', 18);// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+error_reporting(E_ALL);require_once 'DB.php' ;require_once 'Auth.php' ;require_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazarrequire_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazarif (defined('PAP_VERSION')) { //si on est dans PapyrusGEN_stockerStyleExterne( 'bazar_interne', 'client/bazar/bazar.interne.css');}//**********************************************************************************************************//initialisation des paramêtres papyrus//**********************************************************************************************************//si un parametre est précisé dans le gestionnaire de menus papyrus, on le prends en compte//parametre action pour lancer directement l'action indiquéeif (!isset($_GET['action'])and(isset($GLOBALS['_GEN_commun']['info_application']->action))) {$_GET['action']=$GLOBALS['_GEN_commun']['info_application']->action;}//parametre voir_menu pour afficher le menu ou pas (par défaut, il l'affiche)if ((isset($GLOBALS['_GEN_commun']['info_application']->voir_menu))and($GLOBALS['_GEN_commun']['info_application']->voir_menu==0)) {$GLOBALS['_BAZAR_']['affiche_menu']=0;}else $GLOBALS['_BAZAR_']['affiche_menu']=1;//parametre categorie_nature pour préciser quels types de fiches sont montrees (par défaut, il affiche les id_menu=0)if (isset($GLOBALS['_GEN_commun']['info_application']->categorie_nature)) {$GLOBALS['_BAZAR_']['categorie_nature']=$GLOBALS['_GEN_commun']['info_application']->categorie_nature;}else $GLOBALS['_BAZAR_']['categorie_nature']=0;//parametre id_nature pour afficher un certain type de fiche (par défaut, tous les types de fiches)if (isset($GLOBALS['_GEN_commun']['info_application']->id_nature)) {$GLOBALS['_BAZAR_']['id_typeannonce']=$GLOBALS['_GEN_commun']['info_application']->id_nature;}elseif (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce']='toutes';//**********************************************************************************************************//initialisation de la variable globale de bazar//**********************************************************************************************************$GLOBALS['id_user']=$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID);//Recuperer les eventuelles variables passees en GET ou en POSTif (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];if (isset($_REQUEST['typeannonce'])) {$GLOBALS['_BAZAR_']['id_typeannonce']=$_REQUEST['typeannonce'];}if ((isset($GLOBALS['_BAZAR_']['id_typeannonce']))and($GLOBALS['_BAZAR_']['id_typeannonce']!='toutes')) {$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'];$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;if (DB::isError($resultat)) {die ($resultat->getMessage().$resultat->getDebugInfo()) ;}$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);$GLOBALS['_BAZAR_']['typeannonce']=$ligne['bn_label_nature'];$GLOBALS['_BAZAR_']['condition']=$ligne['bn_condition'];$GLOBALS['_BAZAR_']['template']=$ligne['bn_template'];$GLOBALS['_BAZAR_']['commentaire']=$ligne['bn_commentaire'];$GLOBALS['_BAZAR_']['appropriation']=$ligne['bn_appropriation'];$GLOBALS['_BAZAR_']['nb_consultations']=$ligne['bf_nb_consultations'];$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre'];$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];}// +------------------------------------------------------------------------------------------------------+// | LISTE de FONCTIONS |// +------------------------------------------------------------------------------------------------------+if ($GLOBALS['_BAZAR_']['affiche_menu']) {//---------------le menu de l'appli-----------function afficherContenuNavigation () {$res ='<ul>'."\n";$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);$GLOBALS['_BAZAR_']['url']->addQueryString('nature', 'toutes');//partie consultation d'annonces$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_CONSULTER.'</a>'."\n".'</li>'."\n";$GLOBALS['_BAZAR_']['url']->removeQueryString('nature');//partie abonnement aux annonces$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_S_INSCRIRE);$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_S_ABONNER.'</a></li>'."\n" ;$GLOBALS['_BAZAR_']['url']->removeQueryString('action');//partie saisie d'annonces$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_DEPOSER_ANNONCE);$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_SAISIR.'</a>'."\n".'</li>'."\n";$GLOBALS['_BAZAR_']['url']->removeQueryString('action');//choix des administrateurs$est_admin=0;if ($GLOBALS['AUTH']->getAuth()) {$requete='SELECT bn_id_nature FROM bazar_nature';$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;if (DB::isError($resultat)) {die ($resultat->getMessage().$resultat->getDebugInfo()) ;}while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {if ((niveau_droit($ligne['bn_id_nature'],$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID)))=='administrateur') {$est_admin=1;}}if (($est_admin)or(niveau_droit($id_nature_offre='0',$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur')) {//partie administrer$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ANNONCES_A_VALIDER);$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_ADMINISTRER.'</a></li>'."\n";$GLOBALS['_BAZAR_']['url']->removeQueryString('action');if (niveau_droit($id_nature_offre='0',$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur') {$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_GERER_DROITS);$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_GESTION_DES_DROITS.'</a></li>'."\n" ;$GLOBALS['_BAZAR_']['url']->removeQueryString('action');}}}$res.= '</ul>'."\n";return $res ;}}function afficherContenuCorps() {$res = '';$res.='<h1>'.$GLOBALS['_GEN_commun']['info_menu']->gm_titre.'</h1>'."\n";if (isset($_GET['action'])) {if (($_GET['action']!=BAZ_ACTION_NOUVEAU_V)and($_GET['action']!=BAZ_ACTION_MODIFIER_V)) unset($_SESSION['formulaire_annonce_valide']);switch ($_GET['action']) {case BAZ_VOIR_VOS_ANNONCES : $res .= mes_fiches(); break;case BAZ_VOIR_TOUTES_ANNONCES : $res .= baz_liste($GLOBALS['_BAZAR_']['id_nature']); break;case BAZ_DEPOSER_ANNONCE : $res .= baz_formulaire(BAZ_DEPOSER_ANNONCE); break;case BAZ_ANNONCES_A_VALIDER : $res .= fiches_a_valider(); break;case BAZ_ADMINISTRER_ANNONCES : $res .= baz_administrer_annonces(); break;case BAZ_MODIFIER_FICHE : $res .= baz_formulaire(BAZ_ACTION_MODIFIER); break;case BAZ_SUPPRIMER_FICHE : $res .= baz_suppression().baz_liste('',$GLOBALS['id_user'],''); break;case BAZ_VOIR_FICHE : $res .= baz_voir_fiche(1); break;case BAZ_ACTION_NOUVEAU : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU); break;case BAZ_ACTION_NOUVEAU_V : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU_V).baz_formulaire(BAZ_DEPOSER_ANNONCE); break;case BAZ_ACTION_MODIFIER : $res .= baz_formulaire(BAZ_ACTION_MODIFIER); break;case BAZ_ACTION_MODIFIER_V : $res .= baz_formulaire(BAZ_ACTION_MODIFIER_V).baz_formulaire(BAZ_DEPOSER_ANNONCE); break;case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression().baz_formulaire(BAZ_DEPOSER_ANNONCE); break;case BAZ_ACTION_PUBLIER : publier_fiche(1) ;$res .= fiches_a_valider(); break;case BAZ_ACTION_PAS_PUBLIER : publier_fiche(0) ;$res .= fiches_a_valider(); break;case BAZ_GERER_DROITS : $res .= baz_gestion_droits(); break;case BAZ_S_INSCRIRE : $res .= baz_s_inscrire(); break;case BAZ_VOIR_FLUX_RSS : header('Content-type: text/xml; charset=ISO-8859-1');include("bazarRSS.php");exit(0);break;default : $res .= accueil() ;}}else {$res .= baz_liste();}return $res ;}/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.21 2006/01/13 14:12:52 florian* utilisation des temlates dans la table bazar_nature** Revision 1.20 2006/01/05 16:28:25 alexandre_tb* prise en chage des checkbox, reste la mise à jour à gérer** Revision 1.19 2006/01/03 10:19:31 florian* 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...** Revision 1.18 2005/12/02 10:57:03 florian* MAJ pour paramétrage dans gestion de menus papyrus** Revision 1.17 2005/12/01 16:05:41 florian* changement des chemins pour appli Pear** Revision 1.16 2005/12/01 15:31:30 florian* correction bug modifs et saisies** Revision 1.15 2005/11/30 13:58:45 florian* ajouts graphisme (logos, boutons), changement structure SQL bazar_fiche** Revision 1.14 2005/11/24 16:17:13 florian* corrections bugs, ajout des cases à cocher** Revision 1.13 2005/11/14 16:04:54 florian* maj bug affichage flux** Revision 1.12 2005/11/07 17:05:46 florian* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires** Revision 1.11 2005/10/21 16:15:04 florian* mise a jour appropriation** Revision 1.10 2005/10/12 17:20:33 ddelon* Reorganisation calendrier + applette** Revision 1.9 2005/10/12 13:35:07 florian* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources** Revision 1.8 2005/09/30 13:00:05 ddelon* Fiche bazar generique** Revision 1.7 2005/09/30 12:34:44 ddelon* petite modification pour integration bazar dans papyrus** Revision 1.6 2005/09/30 12:22:54 florian* Ajouts commentaires pour fiche, modifications graphiques, maj SQL** Revision 1.4 2005/07/21 19:03:12 florian* nouveautés bazar: templates fiches, correction de bugs, ...** Revision 1.2 2005/02/22 15:33:32 florian* integration dans Papyrus** Revision 1.1.1.1 2005/02/17 18:05:11 florian* Import initial de Bazar** Revision 1.1.1.1 2005/02/17 11:09:50 florian* Import initial** Revision 1.1.1.1 2005/02/16 18:06:35 florian* import de la nouvelle version** Revision 1.3 2004/07/05 15:10:14 florian* changement interface de saisie** Revision 1.2 2004/07/01 10:13:41 florian* modif Florian** Revision 1.1 2004/06/23 09:58:32 alex* version initiale** Revision 1.1 2004/06/18 09:00:07 alex* version initiale*** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>