New file |
0,0 → 1,356 |
<?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.40 2007-04-11 08:30:12 neiluj 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.40 $ $Date: 2007-04-11 08:30:12 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
error_reporting(E_ALL); |
require_once PAP_CHEMIN_API_PEAR.'DB.php' ; |
require_once PAP_CHEMIN_API_PEAR.'Auth.php' ; |
require_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar |
require_once 'bibliotheque/bazar.class.php'; |
require_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazar |
|
if (defined('PAP_VERSION')) { //si on est dans Papyrus |
GEN_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ée |
if (!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; |
} |
elseif (isset($_REQUEST['categorie_nature'])) { |
$GLOBALS['_BAZAR_']['categorie_nature']=$_REQUEST['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 POST |
if (isset($_REQUEST['id_fiche'])) { |
$GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche']; |
// récupération du type d'annonce à partir de la fiche |
$requete = 'select bf_ce_nature from bazar_fiche where bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'] ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().'<br />'.$resultat->getInfoDebug(); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
$GLOBALS['_BAZAR_']['id_typeannonce'] = $ligne->bf_ce_nature ; |
$resultat->free(); |
} |
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_']['image_titre']=$ligne['bn_image_titre']; |
$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo']; |
} |
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce'])) $GLOBALS['_BAZAR_']['id_typeannonce'] = 'toutes' ; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
if ($GLOBALS['_BAZAR_']['affiche_menu']) { |
//---------------le menu de l'appli----------- |
function afficherContenuNavigation () { |
$res ='<ul id="BAZ_menu">'."\n"; |
//partie consultation d'annonces |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES); |
$res .= '<li id="consulter"'; |
if (!isset($_GET['action']) || (isset($_GET['action']) && ($_GET['action']==BAZ_VOIR_TOUTES_ANNONCES || $_GET['action']==BAZ_VOIR_FICHE))) $res .=' class="onglet_actif" '; |
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_CONSULTER.'</a>'."\n".'</li>'."\n"; |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
// Mes fiches |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_VOIR_VOS_ANNONCES); |
$res .= '<li id="consulter"'; |
if (isset($_GET['action']) && $_GET['action']==BAZ_ACTION_VOIR_VOS_ANNONCES) $res .=' class="onglet_actif" '; |
$res .= '><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_VOIR_VOS_ANNONCES.'</a>'."\n".'</li>'."\n"; |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
//partie abonnement aux annonces |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_S_INSCRIRE); |
$res .= '<li id="inscrire"'; |
if (isset($_GET['action']) && $_GET['action']==BAZ_S_INSCRIRE) $res .=' class="onglet_actif" '; |
$res .= '><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 id="deposer"'; |
if (isset($_GET['action']) && ($_GET['action']==BAZ_DEPOSER_ANNONCE || $_GET['action']==BAZ_ACTION_NOUVEAU_V || $_GET['action']==BAZ_ACTION_MODIFIER)) $res .=' class="onglet_actif" '; |
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_SAISIR.'</a>'."\n".'</li>'."\n"; |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
//choix des administrateurs |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ; |
$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 ($utilisateur->isAdmin ($ligne['bn_id_nature'])) { |
$est_admin=1; |
} |
} |
if ($est_admin || $utilisateur->isSuperAdmin()) { |
//partie administrer |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ANNONCES_A_VALIDER); |
$res .= '<li id="administrer"'; |
if (isset($_GET['action']) && $_GET['action']==BAZ_ANNONCES_A_VALIDER) $res .=' class="onglet_actif" '; |
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_ADMINISTRER.'</a></li>'."\n"; |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
if ($utilisateur->isSuperAdmin()) { |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_GERER_DROITS); |
$res .= '<li id="gerer"'; |
if (isset($_GET['action']) && $_GET['action']==BAZ_GERER_DROITS) $res .=' class="onglet_actif" '; |
$res .='><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 id="titre_bazar">'.$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_ACTION_VOIR_VOS_ANNONCES : $res .= mes_fiches(); break; |
case BAZ_VOIR_TOUTES_ANNONCES : $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']); 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).mes_fiches(); break; |
case BAZ_ACTION_MODIFIER : $res .= baz_formulaire(BAZ_ACTION_MODIFIER); break; |
case BAZ_ACTION_MODIFIER_V : $res .= baz_formulaire(BAZ_ACTION_MODIFIER_V).mes_fiches(); break; |
case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression().mes_fiches(); 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 .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']) ; |
} |
} |
else { |
$res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']); |
} |
return $res ; |
} |
|
|
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.35.2.2 2007/03/07 16:53:17 jp_milcent |
* Suppression du query string "action" et non pas "nature" |
* |
* Revision 1.35.2.1 2007/02/15 13:42:16 jp_milcent |
* Utilisation de IN à la place du = dans les requêtes traitant les catégories de fiches. |
* Permet d'utiliser la syntaxe 1,2,3 dans la configuration de categorie_nature. |
* |
* Revision 1.35 2006/10/05 08:53:50 florian |
* amelioration moteur de recherche, correction de bugs |
* |
* Revision 1.34 2006/09/04 15:25:12 alexandre_tb |
* ajout d'un id dans la balise HTML du titre |
* |
* Revision 1.33 2006/06/21 15:41:42 alexandre_tb |
* rétablissement du menu mes fiches |
* |
* Revision 1.32 2006/06/21 15:40:15 alexandre_tb |
* rétablissement du menu mes fiches |
* |
* Revision 1.31 2006/05/19 13:54:32 florian |
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee |
* |
* Revision 1.30 2006/04/28 12:46:14 florian |
* integration des liens vers annuaire |
* |
* Revision 1.29 2006/04/24 10:16:22 alexandre_tb |
* ajout de la globale filtre. |
* elle remplace (à terme) catégorie nature |
* |
* Revision 1.28 2006/03/29 13:05:41 alexandre_tb |
* utilisation de la classe Administrateur_bazar |
* |
* Revision 1.27 2006/02/07 11:08:36 alexandre_tb |
* utilisation de la classe Utilisateur_bazar pour la vérification des droits |
* |
* Revision 1.26 2006/02/06 09:33:53 alexandre_tb |
* modification de l'affichage lors de la saisie de fiche |
* |
* Revision 1.25 2006/01/30 17:25:38 alexandre_tb |
* correction de bugs |
* |
* Revision 1.24 2006/01/26 11:06:43 alexandre_tb |
* ajout d'une requete pour recupere l'id_nature si un id_fiche est passé dans l'url |
* |
* Revision 1.23 2006/01/17 10:07:36 alexandre_tb |
* en cours |
* |
* Revision 1.22 2006/01/16 15:11:28 alexandre_tb |
* simplification code |
* |
* 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 ----------------------------------------------------------------------------------------+ |
*/ |
?> |