Subversion Repositories Sites.gentiana.org

Compare Revisions

No changes between revisions

Regard whitespace Rev 119 → Rev 120

/tags/2014-08-05_centre/index.html
New file
0,0 → 1,25
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Site en développement de Gentiana</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="robots" content="noindex,nofollow" />
<meta name="author" content="Tela Botanica" />
</head>
<body>
<h1>Le site</h1>
<ul id="liste_pages">
<li><a href="index.php">Page d'accueil</a></li>
</ul>
<h1>Liste des outils installés</h1>
<ul id="liste_outils">
<li id="outil_1"><a href="phpmyadmin/">PhpMyAdmin (administration base de données)</a></li>
<li id="outil_2"><a href="mantis/">Mantis (rapport de bogues)</a></li>
<li id="outil_3"><a href="stats/">Webalyzer (vide pour l'instant)</a></li>
</ul>
</body>
</html>
/tags/2014-08-05_centre/.htaccess
New file
0,0 → 1,50
# Utilisation de php5
AddHandler application/x-httpd-php5 .php
AddHandler application/x-httpd-php5 .php3
 
# Raccourci pour les menus et sites de Papyrus
RewriteEngine on
# si le fichier ou le dossier existe dans le syst�me de fichier on l'utilise directement
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
 
# Raccourci pour l'inscription
RewriteRule ^_ins_([0-9a-z]*)$ /papyrus.php?menu=77&action=ajouter&id=$1 [L]
 
# Pour le flux RSS des actu du Bazar
RewriteRule ^page:actu_rss$ /papyrus.php?menu=20&vue=2&action=18 [QSA,L]
 
# eFlore
#RewriteRule ([^/]+)\/([0-9.]*)\/(opensearch)$ index.php?module=open_search&cpr=$1&cprv=$2 [L]
#RewriteRule ^(nn|nt)([0-9]*)$ index.php?module=fiche&$1=$2 [L]
#RewriteRule ^(nn|nt)([0-9]*)-([0-9a-zA-Z]*)$ index.php?module=fiche&cpr=$3&$1=$2 [L]
#RewriteRule ^(nn|nt)([0-9]*)-([0-9a-zA-Z]*)-v([0-9.]*)$ index.php?module=fiche&cpr=$3&cprv=$4&$1=$2 [L]
#RewriteRule ([^/]+)\/([0-9.]*)\/([^/]+)\/([0-9]*)$ index.php?module=fiche&cpr=$1&cprv=$2&$3=$4 [L]
#RewriteRule ([^/]+)\/derniere_version\/([^/]+)\/([0-9]*)$ index.php?module=fiche&cpr=$1&$2=$3 [L]
#RewriteRule ([^/]+)\/([0-9.]*)\/([^/]+)\/([^/]+)\/(wiki)$ index.php?module=fiche&action=wiki&cpr=$1&cprv=$2&$3=$4 [L]
#RewriteRule ([^/]+)\/([0-9.]*)\/([^/]+)\/([^/]+)\/([^/]+)$ index.php?module=fiche&action=$5&cpr=$1&cprv=$2&$3=$4 [L]
#RewriteRule ([^/]+)\/([0-9.]*)\/([^/]+)\/([^/]+)\/(wiki.*)\/([^/]+)$ index.php?module=fiche&action=wiki&cpr=$1&cprv=$2&$3=$4&$5&handler=$6 [L]
#RewriteRule ([^/]+)\/([0-9.]*)\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$ index.php?module=fiche&action=$5&format=$6&cpr=$1&cprv=$2&$3=$4 [L]
#RewriteRule ([^/]+)\/derniere_version\/([^/]+)\/([^/]+)\/([^/]+)$ index.php?module=fiche&action=$4&cpr=$1&$2=$3 [L]
#RewriteRule ^xper\/(.+)$ index.php?module=commun&action=applette_xper&format=exit.html&base=$1 [L]
 
# ATTENTION : remplace localhost par votre nom de domaine !
# Réecriture d'url pour les applications de Papyrus n'utilisant pas correctement Pap_URL
# ATTENTION : ne marche pas pour les formulaires en mode POST !
RewriteRule ^([^\/]+)&(.*)$ http://www.gentiana.org/$1?$2 [QSA,L,R=301]
# Réecriture d'url pour les vieux permaliens
RewriteCond %{REQUEST_FILENAME}/ !-d
RewriteRule ^([^\/\?:.]+)$ http://www.gentiana.org/page:$1 [QSA,L,R=301]
# Redirection d'url pour le sélecteur de site
# Le point d'interrogation sans rien aprés, vide la QUERY_STRING sinon elle est concacténée à l'url et cela plante..._n
# Le "/" initial dans la RewriteCond est obligatoire!
RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$
RewriteRule ^papyrus.php$ http://www.gentiana.org/site:%1? [L,R=301]
 
# Réecriture d'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées
RewriteRule ^site:.+$ /papyrus.php [QSA,L]
# Réecriture d'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées
RewriteRule ^page:.+$ /papyrus.php [QSA,L]
 
# Gestion des erreurs 404
ErrorDocument 404 /erreur_http.php?erreur=404
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/base_de_donnees/nettoyage.sql
New file
0,0 → 1,19
-- Nettoyage base eFlore pour Gentiana. Seules les données de la BDNFF et des projets liés sont gardées.
DELETE FROM `eflore_chorologie_donnee` WHERE `ecd_id_version_projet_donnee_choro` != 12;
DELETE FROM `eflore_chorologie_information` WHERE `eci_id_version_projet_info_choro` != 12;
DELETE FROM `eflore_info_txt` WHERE `eit_id_version_projet_txt` != 25;
DELETE FROM `eflore_nom` WHERE `en_id_version_projet_nom` != 25;
DELETE FROM `eflore_naturaliste_intitule_abreviation` WHERE enaia_id_intitule_naturaliste_abrege > 5516;
DELETE FROM `eflore_nom_a_txt` WHERE `enat_id_version_projet_nom` != 25;
DELETE FROM eflore_nom_citation WHERE enci_id_citation NOT IN (SELECT en_ce_citation_initiale FROM eflore_nom);
DELETE FROM `eflore_nom_intitule` WHERE `eni_id_version_projet_nom` != 25;
DELETE FROM eflore_nom_intitule_commentaire WHERE enic_id_intitule_cn NOT IN (SELECT en_ce_citation_initiale FROM eflore_nom);
DELETE FROM `eflore_nom_relation` WHERE `enr_id_version_projet_nom_1` != 25 AND `enr_id_version_projet_nom_2` != 25;
DELETE FROM `eflore_protection` WHERE `ept_id_version_projet_protection` != 36;
DELETE FROM `eflore_selection_nom` WHERE `esn_id_version_projet_nom` != 25;
DELETE FROM `eflore_taxon` WHERE `et_id_version_projet_taxon` != 25;
DELETE FROM `eflore_taxon_a_protection` WHERE `etap_id_version_projet_taxon` != 25;
DELETE FROM `eflore_taxon_a_txt` WHERE `etat_id_version_projet_taxon` != 25;
DELETE FROM `eflore_taxon_relation` WHERE `etr_id_version_projet_taxon_1` != 25;
DELETE FROM `eflore_vernaculaire` WHERE `ev_id_version_projet_nom_verna` != 24;
DELETE FROM `eflore_vernaculaire_attribution` WHERE `eva_id_version_projet_nom_verna` != 24;
/tags/2014-08-05_centre/base_de_donnees/infloris_export_sql.sh
New file
0,0 → 1,15
# Script d'export des données d'INFLORIS intégrées dans eFlore v1.1
# Auteurs : David DELON, Jean-Pascal MILCENT
# Date : 28 septembre 2007
VERSION_ID=40
BDD_NOM="gentiana_prod_eflore_v1_1_principale"
MDP=
FICHIER_EXPORT="infloris_v1_00_export.sql"
# Module PROJET
echo "DELETE FROM eflore_projet_version WHERE eprv_id_version = $VERSION_ID;" >> $FICHIER_EXPORT
/opt/lampp/bin/mysqldump -t -u root -p$MDP -w "eprv_id_version = $VERSION_ID" $BDD_NOM eflore_projet_version >> $FICHIER_EXPORT
# Module CHOROLOGIE
echo "DELETE FROM eflore_chorologie_donnee WHERE ecd_id_version_projet_donnee_choro = $VERSION_ID;" >> $FICHIER_EXPORT
/opt/lampp/bin/mysqldump -t -u root -p$MDP -w "ecd_id_version_projet_donnee_choro = $VERSION_ID" $BDD_NOM eflore_chorologie_donnee >> $FICHIER_EXPORT
echo "DELETE FROM eflore_chorologie_information WHERE eci_id_version_projet_info_choro = $VERSION_ID;" >> $FICHIER_EXPORT
/opt/lampp/bin/mysqldump -t -u root -p$MDP -w "eci_id_version_projet_info_choro = $VERSION_ID" $BDD_NOM eflore_chorologie_information >> $FICHIER_EXPORT
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/index.php
New file
0,0 → 1,105
<?php
/**
* gentiana - index.php
*
* Description :
*
*@package gentiana
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 1999-2007
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
define('MAGPIE_DIR', 'api/syndication_rss/magpierss/');
define('MAGPIE_CACHE_DIR', 'tmp/magpie_cache');
define('MAGPIE_CACHE_ON', true);
define('RSS_URL', 'http://www.gentiana.org/page:actu_rss');//http://www.tela-botanica.org/actu/backend.php3
define('RSS_DESCRIPTION_LONGUEUR', 200);
require_once MAGPIE_DIR.'rss_fetch.inc';
require_once 'accueil/class.html2text.inc';
$rss = fetch_rss(RSS_URL);
function recupererImage($txt)
{
if (preg_match('/<img .*src="([^"]+)"/', $txt, $match)) {
return array('src' => $match[1], 'alt' => $match[2]);
}
return false;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gentiana</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="robots" content="noindex,nofollow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Gentiana, association, botanique, botanistes, isère, langue française, France, végétaux, nature, environnement, connaissance, protection, plante, plantes protégées, floristique, cartographie, découvrir, fleurs." />
<meta name="description" content="Sites web de l'association Gentiana" />
<link rel="stylesheet" type="text/css" media="screen" href="accueil/accueil_simple.css" />
<style type="text/css" media="screen"><!-- @import "accueil/accueil_prairie.css"; --></style>
<link rel="stylesheet" type="text/css" media="print" href="accueil/impression.css" />
<link rel="alternate stylesheet" type="text/css" media="screen" href="accueil/accueil_bas_debit.css" title="Connexion bas débit" />
</head>
<body>
<div id="centrage">
<div id="cartouche">
<h1><a href="/" title="Retour à la page d'accueil"><img id="logo_gentiana" src="accueil/logo_gentiana.png" alt="Gentiana"/></a></h1>
<div id="zone_sites">
<h1 id="titre_sites">Sites de l'association Gentiana</h1>
<ul id="liste_sites">
<li id="site_asso_gentiana"><a href="http://www.gentiana.org/site:gentiana">L'association Gentiana</a></li>
<li id="site_flore_isere"><a href="http://www.gentiana.org/site:flore">La flore de l'Isère</a></li>
<li id="site_gestion_raisonnable"><a href="http://www.gentiana.org/site:gestion">La gestion raisonnable</a></li>
<!-- <li id="site_animation_botanique"><a href="http://www.gentiana.org/site:animation">Animation botanique</a></li> -->
</ul>
</div>
<div id="zone_actu">
<h1 id="titre_actu" title="<?=$rss->channel['title'];?>">Actualités &bull; Agenda</h1>
<ul id="liste_actu">
<?php foreach ($rss->items as $item) : ?>
<?php
// Si Atom nous remplissons le champ description
if (isset($item['atom_content']) && !isset($item['description'])) {
$item['description'] = $item['atom_content'];
}
// Récupération d'une image présente dans le txt
$image = recupererImage($item['description']);
if ($image) {
$item['image'] = $image;
}
// Nettoyage du html
$h2t = new html2text($item['description']);
$item['description'] = $h2t->get_text();
?>
<li class="rss_actu">
<h2 class="rss_titre"><a href="<?=$item['link']; ?>"><?=$item['title']; ?></a></h2>
<?php if ($image) : ?>
<img class="rss_image" src="<?=$item['image']['src'];?>" alt="<?=$item['image']['alt'];?>" width="50" height="50"/>
<?php endif; ?>
<p class="rss_date">Publié le <?=strftime('%d.%m.%Y',strtotime($item['pubdate'])); ?></p>
<p class="rss_description"><? echo substr($item['description'],0, RSS_DESCRIPTION_LONGUEUR).'...'; ?></p>
</li>
<?php endforeach; ?>
</ul>
</div>
<div id="zone_logos">
<h1 id="titre_logos">Les partenaires de Gentiana</h1>
<ul id="liste_logos">
<li id="logo_cg_isere"><a href="http://www.cg38.fr/" title="Aller sur le site du Conseil Générale de l'Isère"><img src="accueil/logo_cg_isere.png" alt="Conseil Générale de l'Isère"/></a></li>
<li id="logo_tela_botanica"><a href="http://www.tela-botanica.org/" title="Aller sur le site de Tela Botanica"><img src="accueil/logo_tela_botanica.png" alt="Conseil Générale de l'Isère"/></a></li>
<li id="logo_rhone_alpes"><a href="http://www.rhonealpes.fr/" title="Aller sur le site de Rhône-Alpes"><img src="accueil/logo_rhone_alpes.png" alt="Rhônes-Alpes"/></a></li>
</ul>
</div>
</div>
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">_uacct = "UA-2735398-1";urchinTracker();</script>
</body>
</html>
/tags/2014-08-05_centre/.settings/org.eclipse.core.resources.prefs
New file
0,0 → 1,5
eclipse.preferences.version=1
encoding//sites/flore/fr/squelettes/flore.html=ISO-8859-15
encoding//sites/gentiana/fr/squelettes/gentiana.html=ISO-8859-15
encoding//sites/gestion/fr/squelettes/gestion.html=ISO-8859-15
encoding/<project>=ISO-8859-15
/tags/2014-08-05_centre/.settings/org.eclipse.php.core.prefs
New file
0,0 → 1,3
#Tue Jan 19 16:30:02 CET 2010
eclipse.preferences.version=1
include_path=0;/gentiana.org
/tags/2014-08-05_centre/client/bazar/bazar.php
New file
0,0 → 1,430
<?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.45 2007-09-18 14:24:01 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.45 $ $Date: 2007-09-18 14:24:01 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | 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 vue pour afficher directement une vue
if (!isset($_GET[BAZ_VARIABLE_VOIR])and(isset($GLOBALS['_GEN_commun']['info_application']->vue))) {
$_GET[BAZ_VARIABLE_VOIR]=$GLOBALS['_GEN_commun']['info_application']->vue;
}
 
// Si le parametre vue est vide on le positionne a 1
if (!isset($_GET[BAZ_VARIABLE_VOIR])) {
$_GET[BAZ_VARIABLE_VOIR] = BAZ_VOIR_CONSULTER;
}
 
 
//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";
 
// Gestion de la vue par défaut
if (!isset($_GET[BAZ_VARIABLE_VOIR])) {
$_GET[BAZ_VARIABLE_VOIR] = BAZ_VOIR_DEFAUT;
}
 
//partie consultation d'annonces
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_CONSULTER))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_CONSULTER);
$res .= '<li id="consulter"';
if ((isset($_GET[BAZ_VARIABLE_VOIR]) && $_GET[BAZ_VARIABLE_VOIR] == BAZ_VOIR_CONSULTER)) $res .=' class="onglet_actif" ';
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_CONSULTER.'</a>'."\n".'</li>'."\n";
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
// Mes fiches
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_MES_FICHES))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
$res .= '<li id="consulter"';
if (isset($_GET[BAZ_VARIABLE_VOIR]) && $_GET[BAZ_VARIABLE_VOIR] == BAZ_VOIR_MES_FICHES) $res .=' class="onglet_actif" ';
$res .= '><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_VOIR_VOS_ANNONCES.'</a>'."\n".'</li>'."\n";
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
//partie abonnement aux annonces
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_S_ABONNER))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_S_ABONNER);
$res .= '<li id="inscrire"';
if (isset($_GET[BAZ_VARIABLE_VOIR]) && $_GET[BAZ_VARIABLE_VOIR]==BAZ_VOIR_S_ABONNER) $res .=' class="onglet_actif" ';
$res .= '><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_S_ABONNER.'</a></li>'."\n" ;
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
//partie saisie d'annonces
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_SAISIR))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_SAISIR);
$res .= '<li id="deposer"';
if (isset($_GET[BAZ_VARIABLE_VOIR]) && ($_GET[BAZ_VARIABLE_VOIR]==BAZ_VOIR_SAISIR )) $res .=' class="onglet_actif" ';
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_SAISIR.'</a>'."\n".'</li>'."\n";
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
//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
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_ADMIN))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_ADMIN);
$res .= '<li id="administrer"';
if (isset($_GET[BAZ_VARIABLE_VOIR]) && $_GET[BAZ_VARIABLE_VOIR]==BAZ_VOIR_ADMIN) $res .=' class="onglet_actif" ';
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_ADMINISTRER.'</a></li>'."\n";
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
if ($utilisateur->isSuperAdmin()) {
if (strstr(BAZ_VOIR_AFFICHER, strval(BAZ_VOIR_GESTION_DROITS))) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_GESTION_DROITS);
$res .= '<li id="gerer"';
if (isset($_GET[BAZ_VARIABLE_VOIR]) && $_GET[BAZ_VARIABLE_VOIR]==BAZ_VOIR_GESTION_DROITS) $res .=' class="onglet_actif" ';
$res .='><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_GESTION_DES_DROITS.'</a></li>'."\n" ;
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
}
}
}
}
// Au final, on place dans l url, l action courante
if (isset($_GET[BAZ_VARIABLE_VOIR])) $GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, $_GET[BAZ_VARIABLE_VOIR]);
$res.= '</ul>'."\n";
return $res ;
}
}
function afficherContenuCorps() {
$res = '';
$res.='<h1 id="titre_bazar">'.$GLOBALS['_GEN_commun']['info_menu']->gm_titre.'</h1>'."\n";
 
// La resolution des actions ci-dessous AVANT l afichage des vues afin
// d afficher des vues correctes
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).baz_voir_fiche(1); break;
case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression(); unset ($_GET['action']); break;
case BAZ_ACTION_PUBLIER : publier_fiche(1) ; 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=UTF-8');include("bazarRSS.php");exit(0);break;
//default : $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']) ;
}
}
if (isset ($_GET[BAZ_VARIABLE_VOIR])) {
switch ($_GET[BAZ_VARIABLE_VOIR]) {
case BAZ_VOIR_CONSULTER:
if (isset ($_GET['action']) && $_GET['action'] != BAZ_VOIR_TOUTES_ANNONCES) $res .= baz_formulaire($_GET['action']) ; else $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']);
break;
case BAZ_VOIR_MES_FICHES :
if (isset ($_GET['action'])) $res .= baz_formulaire($_GET['action']) ; else $res .= mes_fiches();
break;
case BAZ_VOIR_S_ABONNER : $res .= baz_s_inscrire();
break;
case BAZ_VOIR_SAISIR :
if (isset ($_GET['action'])) $res .= baz_formulaire($_GET['action']) ; else $res .= baz_formulaire(BAZ_DEPOSER_ANNONCE);
break;
case BAZ_VOIR_ADMIN:
if (isset($_GET['action'])) $res .= baz_formulaire($_GET['action']) ; else $res .= fiches_a_valider();
break;
case BAZ_VOIR_GESTION_DROITS: $res .= baz_gestion_droits();
break;
default :
$res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']);
}
}
return $res ;
}
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: bazar.php,v $
* Revision 1.45 2007-09-18 14:24:01 alexandre_tb
* onglet administrer
*
* Revision 1.44 2007-09-06 15:39:28 alexandre_tb
* fixation d une valeur par defaut a la variable vue pour
* eviter un ecran vide si pas de parametres dans le menu
*
* Revision 1.43 2007-08-27 12:26:04 alexandre_tb
* Mise en place de l action BAZ_VOIR_ADMIN
*
* Revision 1.42 2007-07-05 08:29:24 alexandre_tb
* modification du charset iso-8859-1 vers utf8 lors l'envoie des entetes xml.
*
* Revision 1.41 2007-07-04 10:05:12 alexandre_tb
* ajout d une variable $_GET['vue'] en complement de la variable action.
* Elle correspond aux 6 vues du bazar (consulter, mes fiches, s'abonner, saisir, administrer, gestion des droits)
*
* Revision 1.40 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* 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 ----------------------------------------------------------------------------------------+
*/
?>
/tags/2014-08-05_centre/client/bazar/configuration/baz_config.inc.php
New file
0,0 → 1,275
<?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: baz_config.inc.php,v 1.30 2007-07-04 10:04:40 alexandre_tb Exp $
/**
* Fichier de configuration du bazar
*
* A éditer de façon spécifique à chaque déploiement
*
*@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.30 $ $Date: 2007-07-04 10:04:40 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | LES CONSTANTES DES ACTIONS DE BAZAR |
// +------------------------------------------------------------------------------------------------------+
 
define ('BAZ_VOIR_TOUTES_ANNONCES', 1) ;
define ('BAZ_ACTION_VOIR_VOS_ANNONCES', 2);
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);
 
// Constante des noms des variables
define ('BAZ_VARIABLE_VOIR', 'vue');
define ('BAZ_VARIABLE_ACTION', 'action');
/** Indique les onglets de vues à afficher.*/
define ('BAZ_VOIR_AFFICHER', '2,5,6');// Indiquer les numéros des vues séparés par des virgules.
/** Permet d'indiquer la vue par défaut si la variable vue n'est pas défini dans l'url ou dans les paramêtre du menu Papyrus.*/
define ('BAZ_VOIR_DEFAUT', '2');
define ('BAZ_VOIR_CONSULTER', 1);
define ('BAZ_VOIR_MES_FICHES', 2);
define ('BAZ_VOIR_S_ABONNER', 3);
define ('BAZ_VOIR_SAISIR', 4);
define ('BAZ_VOIR_ADMIN', 5);
define ('BAZ_VOIR_GESTION_DROITS', 6);
 
 
//==================================== LES FLUX RSS==================================
// Constantes liées aux flux RSS
//==================================================================================
 
define('BAZ_CREER_FICHIERS_XML',0); //0=ne cree pas le fichier XML dans rss/; 1=cree le fichier XML dans rss/
define('BAZ_RSS_NOMSITE','gentiana.org'); //Nom du site indiqué dans les flux rss
define('BAZ_RSS_ADRESSESITE','http://www.gentiana.org/'); //Adresse Internet du site indiqué dans les flux rss
define('BAZ_RSS_DESCRIPTIONSITE','Gentiana, Société botanique dauphinoise Dominique Villars.'); //Description du site indiquée dans les flux rss
define('BAZ_RSS_LOGOSITE','http://www.gentiana.org/sites/gentiana/generique/images/graphisme/logo_gentiana.png'); //Logo du site indiqué dans les flux rss
define('BAZ_RSS_MANAGINGEDITOR', 'p.salen@gentiana.org') ; //Managing editor du site
define('BAZ_RSS_WEBMASTER', 'p.salen@gentiana.org') ; //Mail Webmaster du site
define('BAZ_RSS_CATEGORIE', 'Botanique'); //catégorie du flux RSS
 
 
//==================================== PARAMETRAGE =================================
// Pour régler certaines fonctionnalité de l'application
//==================================================================================
 
define ('BAZ_ETAT_VALIDATION', 0);
//Valeur par défaut d'état de la fiche annonce après saisie
//Mettre 0 pour 'en attente de validation d'un administrateur'
//Mettre 1 pour 'directement validée en ligne'
 
define ('BAZ_TAILLE_MAX_FICHIER', 2000*1024);
//Valeur maximale en octets pour la taille d'un fichier joint à télécharger
 
define ('BAZ_TYPE_AFFICHAGE_LISTE', 'jma');
$GLOBALS['_BAZAR_']['db'] =& $GLOBALS['_GEN_commun']['pear_db'];
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'];
define ('BAZ_ANNUAIRE','annuaire'); //Table annuaire
define ('BAZ_CHAMPS_ID','a_id'); //Champs index sur la table annuaire
define ('BAZ_CHAMPS_NOM','a_nom'); //Champs nom sur la table annuaire
define ('BAZ_CHAMPS_PRENOM','a_prenom'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_EST_STRUCTURE','a_est_structure'); //Champs indiquant si c'est une structure qui est identifiée
define ('BAZ_CHAMPS_EMAIL','a_mail'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_NOM_WIKI','a_nom_wikini'); //Champs nom wikini sur la table annuaire
 
/** Réglage des droits pour déposer des annonces */
// Mettre à true pour limiter le dépot aux rédacteurs
define ('BAZ_RESTREINDRE_DEPOT', 0) ;
 
/** Réglage de l'affichage de la liste deroulante pour la saisie des dates */
// Mettre à true pour afficher une liste deroulante vide pour la saisie des dates
define ('BAZ_DATE_VIDE', 0);
 
/** Réglage de l'URL de l'annuaire */
// Mettre l'URL correspondant à l'annuaire
define ('BAZ_URL_ANNUAIRE', 'http://www.gentiana.org/page:annuaire');
 
// Mettre à true pour faire apparaitre un champs texte déroulant dans le formulaire
// de recherche des fiches, pour choisir les émetteurs
define ('BAZ_RECHERCHE_PAR_EMETTEUR', 1) ;
 
$GLOBALS['_BAZAR_']['url'] = $GLOBALS['_GEN_commun']['url'];
 
//BAZ_CHEMIN_APPLI : chemin vers l'application bazar METTRE UN SLASH (/) A LA FIN!!!!
define('BAZ_CHEMIN_APPLI', PAP_CHEMIN_RACINE.'client/bazar/');
 
/**Choix de l'affichage (true) ou pas (false) de l'email du rédacteur dans la fiche.*/
define('BAZ_FICHE_REDACTEUR_MAIL', false);// true ou false
 
//==================================== LES LANGUES ==================================
// Constantes liées à l'utilisation des langues
//==================================================================================
$GLOBALS['_BAZAR_']['langue'] = 'fr-FR';
define ('BAZ_LANGUE_PAR_DEFAUT', 'fr') ; //Indique un code langue par défaut
define ('BAZ_VAR_URL_LANGUE', 'lang') ; //Nom de la variable GET qui sera passée dans l'URL (Laisser vide pour les sites monolingues)
//code pour l'inclusion des langues NE PAS MODIFIER
if (BAZ_VAR_URL_LANGUE != '' && isset (${BAZ_VAR_URL_LANGUE})) {
include_once BAZ_CHEMIN_APPLI.'langues/baz_langue_'.${BAZ_VAR_URL_LANGUE}.'.inc.php';
} else {
include_once BAZ_CHEMIN_APPLI.'langues/baz_langue_'.BAZ_LANGUE_PAR_DEFAUT.'.inc.php';
}
 
// Option concernant la division des resultats en pages
define ('BAZ_NOMBRE_RES_PAR_PAGE', 30);
define ('BAZ_MODE_DIVISION', 'Jumping'); // 'Jumping' ou 'Sliding' voir http://pear.php.net/manual/fr/package.html.pager.compare.php
define ('BAZ_DELTA', 12); // Le nombre de page à afficher avant le 'next';
 
/** Réglage de l'affichage du formulaire de recherche avancee */
// Mettre à true pour afficher automatiquement le formulaire de recherche avancee, à false pour avoir un lien afficher la recherche avancee
define ('BAZ_MOTEUR_RECHERCHE_AVANCEE', 1);
 
/** Réglage de l'utilisation ou non des templates */
// Mettre à true pour afficher les pages incluses dans la base bazar_template, à false sinon
define ('BAZ_UTILISE_TEMPLATE', 0);
 
// Mettre ici le type d'annonce qui va s'afficher dans les calendriers.
// Il est possible d'indiquer plusieurs identifiant de nature de fiche (bn_id_nature) en séparant les nombre par des
// virgules : '1,2,3'
define ('BAZ_NUM_ANNONCE_CALENDRIER', 3);
 
define ('BAZ_CHEMIN_SQUELETTE', BAZ_CHEMIN_APPLI.'squelettes'.GEN_SEP);
define ('BAZ_SQUELETTE_DEFAUT', 'baz_cal.tpl.html');
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: baz_config.inc.php,v $
* Revision 1.30 2007-07-04 10:04:40 alexandre_tb
* ajout d une variable $_GET['vue'] en complement de la variable action.
* Elle correspond aux 6 vues du bazar (consulter, mes fiches, s'abonner, saisir, administrer, gestion des droits)
*
* Revision 1.29 2007-06-25 09:57:37 alexandre_tb
* ajout de constante sur le chemin par defaut des squelettes
*
* Revision 1.28 2007/04/20 09:57:21 florian
* correction bugs suite au merge
*
* Revision 1.27 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* Revision 1.21.2.1 2007/02/15 13:43:54 jp_milcent
* Ajout de commentaire pour la constante utilisée par le Calendrier.
*
* Revision 1.21 2006/10/05 08:53:50 florian
* amelioration moteur de recherche, correction de bugs
*
* Revision 1.20 2006/07/04 13:59:01 alexandre_tb
* Ajout de la constante BAZ_NUM_ANNONCE_CALENDRIER dans le fichier de conf. Elle indique le type d'annonce que le calendrier doit afficher
*
* Revision 1.19 2006/06/21 15:40:15 alexandre_tb
* rétablissement du menu mes fiches
*
* Revision 1.18 2006/06/02 09:29:30 florian
* ajout constante nom wikini
*
* Revision 1.17 2006/05/19 13:53:57 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
* Revision 1.16 2006/05/17 09:48:48 alexandre_tb
* Ajout des constantes pour le découpage en page
*
* Revision 1.15 2006/04/28 12:46:14 florian
* integration des liens vers annuaire
*
* Revision 1.14 2006/03/24 09:23:30 alexandre_tb
* ajout de la variable globale $GLOBALS['_BAZAR_']['filtre']
*
* Revision 1.13 2006/03/14 17:10:21 florian
* ajout des fonctions de syndication, changement du moteur de recherche
*
* Revision 1.12 2006/02/07 13:57:41 alexandre_tb
* ajout de la constante pour masquer la liste des émetteurs
*
* Revision 1.11 2006/01/18 10:03:36 florian
* recodage de l'insertion et de la maj des données relatives aux listes et checkbox dans des formulaires
*
* Revision 1.10 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.9 2005/12/16 15:47:54 alexandre_tb
* ajout de l'option restreindre dépôt
*
* Revision 1.8 2005/10/24 09:42:21 florian
* mise a jour appropriation
*
* Revision 1.7 2005/10/21 16:15:04 florian
* mise a jour appropriation
*
* 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:34:17 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.5 2004/07/08 12:15:32 florian
* ajout constantes pour flux RSS
*
* Revision 1.4 2004/07/06 16:21:54 florian
* débuggage modification + MAJ flux RSS
*
* Revision 1.3 2004/07/02 14:50:47 florian
* ajout configuration de l'etat de l'annonce (visible,masquée,...)
*
* Revision 1.2 2004/07/01 10:13:30 florian
* modif Florian
*
* Revision 1.1 2004/06/23 09:58:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 09:00:41 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/2014-08-05_centre/client/bazar/bazar.interne.css
New file
0,0 → 1,260
/*
+----------------------------------------------------------------------------+
| bazar.css |
+----------------------------------------------------------------------------+
| Copyright (c) 2005 Tela Botanica |
+----------------------------------------------------------------------------+
| Feuille de style interne spécifique a l'application Bazar |
+----------------------------------------------------------------------------+
| Auteur : Jean-Pascal MILCENT <jpm@tela-botanica.org> |
+----------------------------------------------------------------------------+
*/
#BAZ_corps {
width:100%;}
#formulaire input, #formulaire textarea, #formulaire select {
border:1px solid #000;}
.enligne {
padding:0;
margin:0;
display:inline;
list-style: none;
list-style-type:none;
background:#FFF;}
/*-------------Les fiches Bazar-------------------------------------------------*/
.BAZ_cadre_fiche {
margin:0 auto;
width:95%;
padding:10px;
border: 1px solid;
-moz-border-radius:10px;
text-indent:0;
font-size:13px;
color:#000;
text-align:justify;
line-height:17px;}
.BAZ_cadre_fiche a {
font-size:14px;
text-decoration:underline;}
.BAZ_cadre_fiche a:hover {
text-decoration:underline;}
#fiche_image {
float:left;
height:150px;
width:150px;}
#fiche_titre {
text-align:left;
width:100%;
padding-left:10px;
background:transparent;
border:0;
font-size:19px;}
#BAZ_description {
min-height:120px;
font-size:15px;
text-align:justify;}
#BAZ_bas_page, .bulle_haut, .bulle_bas {
margin:0;
padding:0;}
.bulle_corps {
margin:0;
padding:10px 5px;
border:1px solid;
-moz-border-radius:10px;}
#formation_qualifiante {
float:right;
margin:0 -15px 0 5px;
height:190px;
width:30px;
background:url(images/BAZ_formation_qualifiante.gif) bottom right no-repeat;}
#formation_diplomante {
float:right;
margin:0 -15px 0 5px;
height:190px;
width:30px;
background:url(images/BAZ_formation_diplomante.gif) bottom right no-repeat;}
#formation_continue {
float:right;
margin:0 -15px 0 5px;
height:190px;
width:30px;
background:url(images/BAZ_formation_continue.gif) bottom right no-repeat;}
.centrer {
clear:both;
margin:0 auto;}
.rubrique {
width:150px;
text-align:left;
font:bold 15px;}
.rubrique_bulle {
width:90px;
text-align:left;
font:bold 15px;
color: #000;}
.infos {
width:70%;
float:left;
min-height:120px;
font:bold 15px;
line-height:25px;}
.bazar_checkbox {
float:left;
width:170px;
font-size:10px;
border:0;}
.lien_wikini {
margin:0;
padding:10px 5px;
border:2px solid;
-moz-border-radius:10px;}
div.lien_wikini a {
padding-left:100px;
color:#FFFFFF;}
.table_bazar th{
font-weight:bold;}
.table_bazar #col1,.table_bazar #col2,.table_bazar #col3,.table_bazar #col4 {
text-align:center;}
 
/* GOOGLE MAP */
.BAZ_cadre_map {
padding:0;
height:250px;
width:400px;
overflow:auto;}
.BAZ_cadre_map .BAZ_cadre_fiche{
padding:0 2px 2px 2px;}
.BAZ_cadre_map .BAZ_fiche_titre, .BAZ_cadre_map .BAZ_fiche{
font-size:13px;
padding:2px;
margin:2px 2px 2px 0;}
#map{
min-height:600px;}
 
/* CALENDRIER APPLETTE*/
.calendrier_applette{
width:140px;}
 
/* CALENDRIER */
#cal_entete{
display:block;
background:transparent url(/client/bazar/images/cal_titre_fond.png) repeat-x;
margin:10px 0;
height:31px;
min-width:300px;
border-left: 2px solid #113054;
border-right: 2px solid #113054;}
#cal_titre_img{
float:right;
display:block;
background:transparent;
padding-bottom:10px;
width:182px;}
#cal_navigation{
display:block;
position:absolute;
background:transparent;
top:10px;
left:20px;}
#cal_precedent_lien, #cal_suivant_lien{
display:block;
position:absolute;
top:12px;
background:transparent;}
#cal_suivant_lien img, #cal_precedent_lien img{
display:block;
border:0;}
#cal_precedent_lien:hover, #cal_suivant_lien:hover, #cal_mois_courrant:hover{
background-color:#b0cdfc;}
#cal_precedent_lien{
left:15px;}
#cal_mois_courrant{
display:block;
position:absolute;
top:14px;
left:40px;
width:100px;
padding:2px 25px;
background-color:#fff;
border:1px inset #113054;
text-align:center;
text-transform:uppercase;
font: bold 14px 'Arial narrow', arial, sans-serif;}
#cal_suivant_lien{
left:195px;}
.calendrier{
font: bold 16px 'Arial narrow', Arial, sans-serif;
border-collapse:separate;
border-spacing:2px;
width:100%;}
/* Problème de la couleur entre les cellules...
.calendrier tbody{
background:white url(/client/bazar/images/cal_img_fond.jpg) 2px 40px repeat-y;}*/
.calendrier th, .calendrier_applette th {
color:white;
background-color:#174984;
border: 1px solid #113054;
text-align:center;}
.calendrier th {
height:20px;
width:14%;
border-width:2px;}
.calendrier td {
height:83px;
width:14%;
border:2px solid #4c4c4c;
vertical-align:top;
text-align:left;
-moz-border-radius:3px;}
.cal_samedi, .cal_dimanche{
background-color:#fff9e7;}
.cal_j{
display:block;
float:right;
padding:2px;}
.cal_jc{
background-color:#c4d9fb;}
.cal_ma{
background-color:#eaeaec;}
.cal_evenemt_liste{
font: normal 10px Arial, sans-serif;
list-style-type:none;/*disc url(/client/bazar/images/cal_pastille.png) inside;*/
margin:20px 0 0 0;
padding:0;}
.cal_evenemt_liste li{
display:block;
background:transparent url(/client/bazar/images/cal_pastille.png) top left no-repeat;}
.cal_evenemt{
margin:0;
padding:0 0 0 13px;}
/* Pour la bibliothèque JS DomToolTip */
div.niceTitle {
background-color: #333333;
color: #FFFFFF;
font-weight: bold;
font-size: 13px;
font-family: "Trebuchet MS", sans-serif;
width: 250px;
left: 0;
top: 0;
padding: 4px;
position: absolute;
text-align: left;
z-index: 20;
-moz-border-radius: 0 10px 10px 10px;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=87);
-moz-opacity: .87;
-khtml-opacity: .87;
opacity: .87;}
div.niceTitle .contents {
margin: 0;
padding: 0 3px;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1;}
div.niceTitle p {
color: #D17E62;
font-size: 9px;
padding: 3px 0 0 0;
margin: 0;
text-align: left;
-moz-opacity: 1;}
/tags/2014-08-05_centre/client/bazar/bibliotheque/bazar.fonct.rss.php
New file
0,0 → 1,1480
<?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.fonct.rss.php,v 1.99.2.10 2008-02-04 13:03:09 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-2006
*@version $Revision: 1.99.2.10 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.class.php';
require_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.php';
 
 
/** baz_valeur_template() - Renvoi des valeurs inscrite dans le fichier de template
*
* @param string valeur du template de bazar_nature
*
* @return mixed tableau contenant les champs du fichier template
*/
function baz_valeurs_template($valeur_template) {
//Parcours du fichier de templates, pour mettre les champs specifiques
$tableau= array();
$nblignes=0;
$chaine = explode ("\n", $valeur_template);
array_pop($chaine);
foreach ($chaine as $ligne) {
$souschaine = explode ("***", $ligne) ;
$tableau[$nblignes]['type'] = trim($souschaine[0]) ;
if (isset($souschaine[1])) {$tableau[$nblignes]['nom_bdd'] = trim($souschaine[1]);}
else {$tableau[$nblignes]['nom_bdd'] ='';}
if (isset($souschaine[2])) $tableau[$nblignes]['label'] = trim($souschaine[2]);
else {$tableau[$nblignes]['label'] ='';}
if (isset($souschaine[3])) $tableau[$nblignes]['limite1'] = trim($souschaine[3]);
else {$tableau[$nblignes]['limite1'] ='';}
if (isset($souschaine[4])) $tableau[$nblignes]['limite2'] = trim($souschaine[4]);
else {$tableau[$nblignes]['limite2'] ='';}
if (isset($souschaine[5])) $tableau[$nblignes]['defaut'] = trim($souschaine[5]);
else {$tableau[$nblignes]['defaut'] ='';}
if (isset($souschaine[6])) $tableau[$nblignes]['table_source'] = trim($souschaine[6]);
else {$tableau[$nblignes]['table_source'] ='';}
if (isset($souschaine[7])) $tableau[$nblignes]['id_source'] = trim($souschaine[7]);
else {$tableau[$nblignes]['id_source'] ='';}
if (isset($souschaine[8])) $tableau[$nblignes]['obligatoire'] = trim($souschaine[8]);
else {$tableau[$nblignes]['obligatoire'] ='';}
if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
else {$tableau[$nblignes]['recherche'] ='';}
// traitement des cases � cocher, dans ce cas la, on a une table de jointure entre la table
// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
// dans le template, � la place d'un nom de champs dans 'nom_bdd', on a un nom de table
// et 2 noms de champs s�par�s par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
$tableau[$nblignes]['champs_id_table_jointe'] = $tableau_info_jointe[2] ;
}
$nblignes++;
}
return $tableau;
}
 
/** baz_voir_fiches() - Permet de visualiser en detail une liste de fiche au format XHTML
*
* @global boolean Rajoute des informations internes a l'application (date de modification, lien vers la page de d�part de l'appli)
* @global integer Tableau d(Identifiant des fiches a afficher
*
* @return string HTML
*/
function baz_voir_fiches($danslappli, $idfiches=array()) {
$res='';
foreach($idfiches as $idfiche) {
$res.=baz_voir_fiche($danslappli, $idfiche);
}
return $res;
}
 
 
/** baz_voir_fiche() - Permet de visualiser en detail une fiche au format XHTML
*
* @global boolean Rajoute des informations internes a l'application (date de modification, lien vers la page de depart de l'appli) si a 1
* @global integer Identifiant de la fiche a afficher
*
* @return string HTML
*/
function baz_voir_fiche($danslappli, $idfiche='') {
$res='';
if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche'] = $_GET['id_fiche'];
if ($idfiche != '') $GLOBALS['_BAZAR_']['id_fiche'] = $idfiche;
$url = $GLOBALS['_BAZAR_']['url'];
$url->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$url->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url = preg_replace ('/&amp;/', '&', $url->getURL()) ;
//cas ou la fiche a ete validee
if (isset($_GET['publiee'])) {
publier_fiche($_GET['publiee']);
}
//cas on une structure s'approprie une ressource
if (isset($_GET['appropriation'])) {
if ($_GET['appropriation']==1) {
$requete = 'INSERT INTO bazar_appropriation VALUES ('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID).')';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
elseif ($_GET['appropriation']==0) {
$requete = 'DELETE FROM bazar_appropriation WHERE ba_ce_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND ba_ce_id_structure='.$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID);
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
}
//cas ou un commentaire a ete entre
if (isset($_POST['Nom'])) {
$requete = 'INSERT INTO bazar_commentaires VALUES ('.
baz_nextid('bazar_commentaires', 'bc_id_commentaire', $GLOBALS['_BAZAR_']['db']).
', '.$GLOBALS['_BAZAR_']['id_fiche'].', "'.$_POST['Nom'].'", "'.$_POST['Commentaire'].
'", NOW() )';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
//cas ou un commentaire va etre supprime
elseif (isset($_GET['id_commentaire'])) {
$requete = 'DELETE FROM bazar_commentaires WHERE bc_id_commentaire='.$_GET['id_commentaire'].' LIMIT 1';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
else {
if (isset($_GET[BAZ_VARIABLE_ACTION])) {
if ($_GET[BAZ_VARIABLE_ACTION]==BAZ_VOIR_FICHE) {
//sinon on met a jour le nb de visites pour la fiche, puisque c'est une simple consultation
$requete = 'UPDATE bazar_fiche SET bf_nb_consultations=bf_nb_consultations+1 WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
}
}
$requete = 'SELECT * FROM bazar_fiche,bazar_nature WHERE bf_ce_nature=bn_id_nature and bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
 
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce'] = $ligne['bf_ce_nature'];
if (!isset($GLOBALS['_BAZAR_']['fiche_valide'])) $GLOBALS['_BAZAR_']['fiche_valide'] = $ligne['bf_statut_fiche'];
//on verifie si l'utilisateur est administrateur
$est_admin=0;
// Si on vient de l applette calendrier, $GLOBALS['_BAZAR_']['id_typeannonce'] est vide ...
// mais on dispose de la constante BAZ_NUM_ANNONCE_CALENDRIER
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce']) && defined('BAZ_NUM_ANNONCE_CALENDRIER')) $GLOBALS['_BAZAR_']['id_typeannonce'] = BAZ_NUM_ANNONCE_CALENDRIER;
if (!isset($GLOBALS['_BAZAR_']['template'])) $GLOBALS['_BAZAR_']['template'] = $ligne['bn_template'];
if (!isset($GLOBALS['_BAZAR_']['commentaire'])) $GLOBALS['_BAZAR_']['commentaire'] = $ligne['bn_commentaire'];
if (!isset($GLOBALS['_BAZAR_']['class'])) $GLOBALS['_BAZAR_']['class'] = $ligne['bn_label_class'];
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']);
if ($utilisateur->isAdmin($ligne['bn_id_nature']) || $utilisateur->isSuperAdmin()) {
$est_admin=1;
}
//debut de la fiche
$res .= '<div class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
//affiche le titre sous forme d'image
if (isset ($GLOBALS['_BAZAR_']['image_titre']) && $GLOBALS['_BAZAR_']['image_titre']!='') {
$res .= '<img class="BAZ_img_titre" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'.'<br />'."\n";
}
//affiche le texte sinon
else {
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bn_label_nature'].'</h2>'."\n";
}
$GLOBALS['_BAZAR_']['annonceur'] = $ligne['bf_ce_utilisateur'] ;
//si le template existe, on genere le template
if ((file_exists(BAZ_CHEMIN_APPLI.'templates/'.$GLOBALS['_BAZAR_']['typeannonce'].'-fiche.php'))) {
include_once(BAZ_CHEMIN_APPLI.'templates/'.$GLOBALS['_BAZAR_']['typeannonce'].'-fiche.php');
$res .=genere_fiche($ligne);
}
//on affiche ligne par ligne sinon
else {
// Le titre
$res .= '<h1 class="BAZ_fiche_titre BAZ_fiche_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bf_titre'].'</h1>'."\n";
// cas d'une image personalisee
if (isset($ligne['bf_url_image'])) {
$res .= '<div class="BAZ_fiche_image BAZ_fiche_image_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<img class="BAZ_image" src="client/bazar/upload/'.$ligne['bf_url_image'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
$res .= '</div>'."\n";
}
//cas d'une image par defaut
elseif (isset ($GLOBALS['_BAZAR_']['image_logo']) && $GLOBALS['_BAZAR_']['image_logo']!='') {
$res .= '<div class="BAZ_fiche_image BAZ_fiche_image_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<img class="BAZ_image" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_logo'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n";
$res .= '</div>'."\n";
}
$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.nl2br($ligne['bf_description']).'</div>'."\n";
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<count($tableau); $i++) {
if (isset($ligne[$tableau[$i]['nom_bdd']]) && ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' ) ) {
$val=$tableau[$i]['nom_bdd'];
if (!in_array($val, array ('bf_titre', 'bf_description'))) {
if ($ligne[$val] != '' and $ligne[$val] != BAZ_CHOISIR and $ligne[$val] != BAZ_NON_PRECISE) {
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.nl2br($ligne[$val]).'</span>'."\n".'</div>'."\n";
}
}
}
elseif ( $tableau[$i]['type']=='champs_mail' ) {
$val=$tableau[$i]['nom_bdd'];
if ($ligne[$val] != '' and $ligne[$val] != BAZ_CHOISIR and $ligne[$val] != BAZ_NON_PRECISE) {
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"><a href="mailto:'.$ligne[$val].'"> '.nl2br($ligne[$val]).'</a></span>'."\n".'</div>'."\n";
}
}
elseif ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' ) {
//pour les champs renseignes par une liste, on va chercher le label de la liste, plutot que l'id
$requete = 'SELECT blv_label FROM bazar_fiche_valeur_liste, bazar_liste_valeurs WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].
' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND bfvl_valeur=blv_valeur AND blv_ce_liste='.$tableau[$i]['nom_bdd'].' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$val='';$nb=0;
while ($tab = $resultat->fetchRow()) {
if ($nb>0) $val .= ', ';
$val .= $tab[0];
$nb++;
}
if ($val != '' and $val != BAZ_CHOISIR and $val != BAZ_NON_PRECISE) {
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="rubrique_'.$tableau[$i]['nom_bdd'].'">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="description_'.$tableau[$i]['nom_bdd'].'"> '.$val.'</span>'."\n".'</div>'."\n";
}
}
elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
$val=$tableau[$i]['nom_bdd'];
if (!in_array($val, array ('bf_date_debut_validite_fiche', 'bf_date_fin_validite_fiche'))) {
if ($ligne[$val] != '' && $ligne[$val] != '0000-00-00') {
// Petit test pour afficher la date de debut et de fin d evenement
if ($val == 'bf_date_debut_evenement' || $val == 'bf_date_fin_evenement') {
if ($ligne['bf_date_debut_evenement'] == $ligne['bf_date_fin_evenement']) {
if ($val == 'bf_date_debut_evenement') continue;
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.BAZ_LE.':</span>'."\n";
$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne['bf_date_debut_evenement'])).'</span>'."\n".'</div>'."\n";
continue;
} else {
if ($val == 'bf_date_debut_evenement') {
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">';
$res .= BAZ_DU;
$res .= '</span>'."\n".'<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n";
} else {
$res .= '<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.BAZ_AU;
$res .= '</span>'."\n".'<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n".'</div>'."\n";
}
continue;
}
}
$res .= '<div class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'."\n".'<span class="BAZ_label" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="BAZ_texte BAZ_texte_'.$GLOBALS['_BAZAR_']['class'].'" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n".'</div>'."\n";
}
}
}
elseif ( $tableau[$i]['type']=='wikini' ) {
$res .= '<div class="BAZ_lien_wikini BAZ_lien_wikini_'.$GLOBALS['_BAZAR_']['class'].'"><a href="wikini/'.genere_nom_wiki2($ligne["bf_titre"], TRUE).'">'.BAZ_ENTRER_PROJET.'</a></div>'."\n";
} elseif ($tableau[$i]['type']=='labelhtml') {
// On ecrit le label uniquement si le champs obligatoire est a 1
if ($tableau[$i]['obligatoire'] == 1) $res .= '<div class="BAZ_label BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.$tableau[$i]['label'].'</div>'."\n";
}
}
//afficher les liens pour l'annonce
$requete = 'SELECT bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
$res .= '<span class="BAZ_label BAZ_label_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LIEN_INTERNET.':</span>'."\n";
$res .= '<span class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<ul class="BAZ_liste BAZ_liste_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
while ($ligne1 = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li class="BAZ_liste_lien BAZ_liste_lien_'.$GLOBALS['_BAZAR_']['class'].'"><a href="'.$ligne1['bu_url'].'" class="BAZ_lien" target="_blank">'.$ligne1['bu_descriptif_url'].'</a></li>'."\n";
}
$res .= '</ul></span>'."\n";
}
//afficher les fichiers pour l'annonce
$requete = 'SELECT bfj_description, bfj_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
$res .= '<span class="BAZ_label BAZ_label_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LISTE_FICHIERS_JOINTS.':</span>'."\n";
$res .= '<span class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<ul class="BAZ_liste BAZ_liste_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
while ($ligne2 = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li class="BAZ_liste_fichier BAZ_liste_fichier_'.$GLOBALS['_BAZAR_']['class'].'"><a href="client/bazar/upload/'.$ligne2['bfj_fichier'].'">'.$ligne2['bfj_description'].'</a></li>'."\n";
}
$res .= '</ul></span>'."\n";
}
$res .= '<div class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<div class="BAZ_infos_fiche BAZ_infos_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<span class="BAZ_nb_vues BAZ_nb_vues_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_NB_VUS.$ligne['bf_nb_consultations'].BAZ_FOIS.'</span><br />'."\n";
//affichage du redacteur de la fiche
$requete = 'SELECT '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_EMAIL.
' FROM '.BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
while ($redacteur = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<span class="BAZ_fiche_ecrite">'.BAZ_FICHE_NUMERO.$GLOBALS['_BAZAR_']['id_fiche'].BAZ_ECRITE;
if (!defined('BAZ_FICHE_REDACTEUR_MAIL') || BAZ_FICHE_REDACTEUR_MAIL) {
$res .= '<a href="mailto:'.$redacteur[BAZ_CHAMPS_EMAIL].'">'.$redacteur[BAZ_CHAMPS_PRENOM].' '.$redacteur[BAZ_CHAMPS_NOM].'</a>';
} else {
$res .= $redacteur[BAZ_CHAMPS_PRENOM].' '.$redacteur[BAZ_CHAMPS_NOM];
}
$res .= '<br /></span>'."\n";
}
//informations complementaires (id fiche, etat publication,... )
if ($danslappli==1) {
if ($GLOBALS['_BAZAR_']['fiche_valide']==1 && $GLOBALS['_BAZAR_']['appropriation']!=1) {
if ($ligne['bf_date_debut_validite_fiche'] != '0000-00-00' && $ligne['bf_date_fin_validite_fiche'] != '0000-00-00') {
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_PUBLIEE.':</span> '.BAZ_DU.
' '.strftime('%d.%m.%Y',strtotime($ligne['bf_date_debut_validite_fiche'])).' '.
BAZ_AU.' '.strftime('%d.%m.%Y',strtotime($ligne['bf_date_fin_validite_fiche'])).'<br />'."\n";
}
}
elseif ($GLOBALS['_BAZAR_']['appropriation']!=1 || $GLOBALS['_BAZAR_']['fiche_valide']!=1) {
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_PUBLIEE.':</span> '.BAZ_NON.'<br />'."\n";
}
//affichage des infos et du lien pour la mise a jour de la fiche
if ( $est_admin || $GLOBALS['_BAZAR_']['annonceur']==$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID) ) {
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'" id="date_creation">'.BAZ_DATE_CREATION.'</span> '.strftime('%d.%m.%Y %H:%M',strtotime($ligne['bf_date_creation_fiche']))."\n";
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'" id="date_mise_a_jour">'.BAZ_DATE_MAJ.'</span> '.strftime('%d.%m.%Y %H:%M',strtotime($ligne['bf_date_maj_fiche']))."\n";
}
$res .= '</div>'."\n";
if ( $est_admin || $GLOBALS['_BAZAR_']['annonceur']==$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID) ) {
$res .= '<div class="BAZ_actions_fiche BAZ_actions_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<ul>'."\n";
if ( $est_admin ) {
$lien_publie = &$GLOBALS['_BAZAR_']['url'];
$lien_publie->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_publie->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_publie->addQueryString('typeannonce', $ligne['bf_ce_nature']);
if ($GLOBALS['_BAZAR_']['fiche_valide']==0||$GLOBALS['_BAZAR_']['fiche_valide']==2) {
$lien_publie->addQueryString('publiee', 1);
$label_publie=BAZ_VALIDER_LA_FICHE;
$class_publie='_valider';
} elseif ($GLOBALS['_BAZAR_']['fiche_valide']==1) {
$lien_publie->addQueryString('publiee', 0);
$label_publie=BAZ_INVALIDER_LA_FICHE;
$class_publie='_invalider';
}
$res .= '<li class="BAZ_liste'.$class_publie.'"><a href="'.$lien_publie->getURL().'">'.$label_publie.'</a></li>'."\n";
$lien_publie->removeQueryString('publiee');
}
$lien_modifier=$GLOBALS['_BAZAR_']['url'];
$lien_modifier->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$lien_modifier->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_modifier->addQueryString('typeannonce', $ligne['bf_ce_nature']);
$res .= '<li class="BAZ_liste_modifier"><a href="'.$lien_modifier->getURL().'" id="modifier_fiche">'.BAZ_MODIFIER_LA_FICHE.'</a></li>'."\n";
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_supprimer->addQueryString('typeannonce', $ligne['bf_ce_nature']);
$res .= '<li class="BAZ_liste_supprimer"><a href="'.$lien_supprimer->getURL().'" id="supprimer_fiche">'.BAZ_SUPPRIMER_LA_FICHE.'</a></li>'."\n";
$res .= '</ul>'."\n";
$res .= '</div>'."\n";
}
}
$res .= '</div>'."\n";
$res .= '</div>'."\n";
}
 
// Nous vérifions comment est appelé la fonction
if ($danslappli == 0) {
$res .= '</div>'."\n";
} else if ($danslappli == 1 ) {
 
// Ajout des appropriations, s'il le faut
if ($GLOBALS['_BAZAR_']['appropriation'] == 1) {
$res .= '<br />'."\n".'<div class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE.'</h2>'."\n";
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.' FROM bazar_appropriation,'.BAZ_ANNUAIRE.' WHERE ba_ce_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND ba_ce_id_structure='.BAZ_CHAMPS_ID.' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
return $resultat->getMessage().'<br />'.$resultat->getDebugInfo();
}
$possede_ressource=0;
if ($resultat->numRows()>0) {
$res .= BAZ_IL_Y_A.$resultat->numRows().' ';
if ($resultat->numRows()==1) $res .= BAZ_STRUCTURE_POSSEDANT.'<br />'."\n";
else $res .= BAZ_STRUCTURES_POSSEDANT.'<br />'."\n";
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.BAZ_URL_ANNUAIRE.'&amp;voir_fiche='.$ligne[BAZ_CHAMPS_ID].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[BAZ_CHAMPS_NOM].'</a></li>'."\n";
if ($GLOBALS['AUTH']->getAuth() && $GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID)==$ligne[BAZ_CHAMPS_ID]) $possede_ressource=1;
}
$res .= '</ul><br />'."\n";
}
else $res .= BAZ_PAS_D_APPROPRIATION.'<br /><br />'."\n";
$res .='<p class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$lien_appropriation = $GLOBALS['_BAZAR_']['url'];
$lien_appropriation->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_appropriation->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
if ($possede_ressource) {
$lien_appropriation->addQueryString('appropriation', 0);
$res .= BAZ_POSSEDE_DEJA_RESSOURCE.'<br />'."\n".'<a href="'.$lien_appropriation->getURL().'">'.BAZ_CLIQUER_POUR_VOUS_ENLEVER.'</a>'."\n";
$lien_appropriation->removeQueryString('appropriation');
}
elseif ($GLOBALS['AUTH']->getAuth() && $GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_EST_STRUCTURE)) {
$lien_appropriation->addQueryString('appropriation', 1);
$res .= BAZ_SI_POSSEDE_RESSOURCE.'<br />'."\n".'<a href="'.$lien_appropriation->getURL().'">'.BAZ_CLIQUER_POUR_APPARAITRE.'</a>'."\n";
$lien_appropriation->removeQueryString('appropriation');
}
elseif ($GLOBALS['AUTH']->getAuth() && !$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_EST_STRUCTURE)) {
$res .= BAZ_IL_FAUT_ETRE_STRUCTURE."\n";
}
elseif (!$GLOBALS['AUTH']->getAuth()) {
$res .= BAZ_IL_FAUT_ETRE_IDENTIFIE_STRUCTURE."\n";
}
$res .='</p>'."\n";
$res .= '</div>'."\n";
}
// Ajout des commentaires, s'il le faut
if ($GLOBALS['_BAZAR_']['commentaire'] == 1) {
$res .= '<br />'."\n".'<div class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LES_COMMENTAIRES.'</h2>'."\n";
$requete = 'SELECT * FROM bazar_commentaires WHERE bc_ce_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' ORDER BY bc_date ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
return $resultat->getMessage().'<br />'.$resultat->getDebugInfo();
}
if ($resultat->numRows()>0) {
$res .= BAZ_IL_Y_A.$resultat->numRows().' ';
if ($resultat->numRows()==1) $res .= BAZ_COMMENTAIRE.'<br />'."\n";
else $res .= BAZ_COMMENTAIRES.'<br />'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<div class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
//affichage du commentaire
$res .= $ligne['bc_commentaire'].'<br />'."\n";
$res .= '<div class="BAZ_commentaire_admin">'.BAZ_PAR.' : <strong>'.$ligne['bc_nom'].'</strong>'.BAZ_ECRIT_LE.strftime('%d.%m.%Y %H:%M',strtotime($ligne['bc_date']));
//pour les identifies seulement, administrateurs de la rubrique ou superadmins
if ($est_admin==1) {
$url_comment= $GLOBALS['_BAZAR_']['url'];
$url_comment->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$url_comment->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url_comment->addQueryString('id_commentaire', $ligne['bc_id_commentaire']);
$res .= '&nbsp;&nbsp;<a href="'.$url_comment->getURL().'">'.BAZ_SUPPRIMER.'</a>'."\n";
}
$res .= '</div>'."\n";
$res .= '</div>'."\n";
}
}else {
$res .= BAZ_PAS_DE_COMMENTAIRES.'<br /><br />'."\n";
}
//formulaire des commentaires
if ($GLOBALS['AUTH']->getAuth()) {
$form_commentaire = new HTML_QuickForm('bazar_commentaire', 'post', $url);
$squelette =& $form_commentaire->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<label style="width:200px;">{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
'</label><br />'."\n".'{element}<br />'."\n");
$squelette->setRequiredNoteTemplate("\n".'<span class="symbole_obligatoire"> *{requiredNote}</span>'."\n");
$option=array('style'=>'width:300px;border:1px solid #000;', 'maxlength'=>100);
$form_commentaire->addElement('text', 'Nom', BAZ_ENTREZ_VOTRE_NOM, $option);
$option=array('style'=>'width:95%;height:100px;white-space: pre;padding:3px;border:1px solid #000;');
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php';
$formtexte= new HTML_QuickForm_textarea('Commentaire', BAZ_ENTREZ_VOTRE_COMMENTAIRE, $option);
$form_commentaire->addElement($formtexte) ;
$option=array('style'=>'border:1px solid #000;');
$form_commentaire->addElement('submit', 'Envoyer', BAZ_ENVOYER, $option);
$form_commentaire->addRule('Nom', BAZ_NOM_REQUIS, 'required', '', 'client') ;
$form_commentaire->addRule('Commentaire', BAZ_COMMENTAIRE_REQUIS, 'required', '', 'client') ;
$form_commentaire->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$res .= $form_commentaire->toHTML();
}
$res .= '</div>'."\n";
}
}
// Nettoyage de l'url avant les return : apparement inutile sinon pose pb dans Papyrus (url applette deconnexion et moteur de recherche) [jpm le 17 mars 2008]
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
//$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_commentaire');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
return $res ;
}
 
// merci PHP 5 ...
function mb_str_split2($str, $length = 1) {
if ($length < 1) return FALSE;
 
$result = array();
 
for ($i = 0; $i < strlen($str); $i += $length) {
$result[] = substr($str, $i, $length);
}
return $result;
}
 
function remove_accents2( $string )
{
$string = htmlentities($string);
return preg_replace("/&([a-z])[a-z]+;/i","$1",$string);
}
 
function genere_nom_wiki2($nom, $spaces = FALSE)
{
// traitement des accents
$nom = remove_accents2($nom);
$temp = mb_str_split2($nom);
 
$count = 0;
$final = NULL;
foreach($temp as $letter)
{
if(preg_match('/([[:space:]]|[[:punct:]])/', $letter))
{
$final .= ($spaces ? '_' : '');
} elseif(preg_match ('/[a-zA-Z0-9]/', $letter)) {
$final .= (($count == 0 || $count == (strlen($nom) - 1)) ? strtoupper($letter) : strtolower($letter));
}
$count++;
}
// v�rifions que le retour n'est pas uniquement un underscore
if(preg_match('/^[[:punct:]]+$/', $final)) return FALSE;
 
// sinon retour du nom formaté
return($final);
}
 
 
/** RSSversHTML () transforme un flux RSS (en XML) en page HTML
*
* On passe en param�tre le contenu du flux RSS, on affiche ou non la description,
* et on choisit de format de la date � l'affichage. On a en sortie du code HTML � afficher
*
* @param string le contenu du flux RSS
* @param boolean afficher ou non la description
* @param string choisir le format de date: jmah (12/02/2004 12h34) jmh (12/02 12h34) jma (12/02/2004) jm (12/02) ou rien
*
* @return string le code HTML
*/
function RSSversHTML($rss, $voirdesc, $formatdate, $affichenb) {
if ($rss!='') {
$rawitems='';$title='';$url='';$cat='';$date='';
$res='';
if( eregi('<item>(.*)</item>', $rss, $rawitems ) ) {
$items = explode('<item>', $rawitems[0]);
$res.='<ul id="BAZ_liste_fiche">'."\n";
for( $i = 0; $i < count($items)-1; $i++ ) {
eregi('<title>(.*)</title>',$items[$i+1], $title );
eregi('<link>(.*)</link>',$items[$i+1], $url );
eregi('<description>(.*)</description>',$items[$i+1], $cat);
eregi('<pubDate>(.*)</pubDate>',$items[$i+1], $date);
$res.='<li>';
if ($formatdate=='jm') {$res.=strftime('%d.%m',strtotime($date[1])).': ';}
if ($formatdate=='jma') {$res.=strftime('%d.%m.%Y',strtotime($date[1])).': ';}
if ($formatdate=='jmh') {$res.=strftime('%d.%m %H:%M',strtotime($date[1])).': ';}
if ($formatdate=='jmah') {$res.=strftime('%d.%m.%Y %H:%M',strtotime($date[1])).': ';}
$res.='<a href="'.preg_replace ('/&amp;/', '&', $url[1]).'">'.$title[1].'</a>';
if ($voirdesc) {$res.=$cat[1];}
// Ajout du bouton supprimer pour les superadministrateur
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (($GLOBALS['AUTH']->getAuth() && $utilisateur->isSuperAdmin())and($url[1]!='#')) {
$mon_url = preg_replace ('/&amp;/', '&', $url[1]) ;
$url_suppr = new Net_URL(preg_replace ('/&amp;/', '&', $mon_url)) ;
$url_suppr->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION) ;
$res .= ' ( <a href="'.$url_suppr->getURL().
'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.' ?\');">'.
BAZ_SUPPRIMER.'</a> )'."\n" ;
}
$res.='</li>'."\n";
}
$res.='</ul>'."\n";
if ($affichenb==1) {
//une annonce trouvee, on accorde au singulier
if (((count($items)-1)==1)and($title!=BAZ_PAS_D_ANNONCES)) {
$res = '<br /><h4>'.BAZ_IL_Y_A.' 1 '.BAZ_FICHE_CORRESPONDANTE.'</h4><br />'."\n".$res;
}
//plusieures annonces trouvees, on accorde au pluriel
else {
$res = '<br /><h4>'.BAZ_IL_Y_A.(count($items)-1).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n".$res;
}
}
//cas des fiches pas trouv�es
if (((count($items)-1)==1)and($title[1]==BAZ_PAS_D_ANNONCES)) {
$res = '<br /><h4>'.BAZ_PAS_D_ANNONCES.'</h4><br />'."\n";
}
}
}
else $res = BAZ_PAS_D_ANNONCES;
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
return $res;
}
 
/** gen_RSS() - generer un fichier de flux RSS par type d'annonce
*
* @param string Le type de l'annonce (laisser vide pour tout type d'annonce)
* @param integer Le nombre d'annonces a regrouper dans le fichier XML (laisser vide pour toutes)
* @param integer L'identifiant de l'emetteur (laisser vide pour tous)
* @param integer L'etat de validation de l'annonce (laisser 1 pour les annonces validees, 0 pour les non-validees)
* @param string La requete SQL personnalisee
* @param integer La categorie des fiches bazar
*
* @return string Le code du flux RSS
*/
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='') {
// generation de la requete MySQL personnalisee
$req_where=0;
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description, bn_label_nature, bf_date_creation_fiche '.
'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
if ($valide!=2) {
$requete .= 'bf_statut_fiche='.$valide;
$req_where=1;
}
$nomflux=html_entity_decode(BAZ_DERNIERE_ACTU);
if (!is_array ($typeannonce) && $typeannonce!='' and $typeannonce!='toutes') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= 'bf_ce_nature='.$typeannonce.' and bf_ce_nature=bn_id_nature ';;
$req_where=1;
//le nom du flux devient le type d'annonce
$requete_nom_flux = 'select bn_label_nature from bazar_nature where bn_id_nature = '.$typeannonce;
$nomflux = $GLOBALS['_BAZAR_']['db']->getOne($requete_nom_flux) ;
}
// Cas ou il y plusieurs type d annonce demande
if (is_array ($typeannonce)) {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= 'bf_ce_nature IN (' ;
$chaine = '';
foreach ($typeannonce as $valeur) $chaine .= '"'.$valeur.'",' ;
$requete .= substr ($chaine, 0, strlen ($chaine)-1) ;
$requete .= ') and bf_ce_nature=bn_id_nature ';
}
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
if ($valide!=0) {
if ($utilisateur->isSuperAdmin()) {
$req_where=1;
} else {
if ($req_where==1) {
$requete .= ' AND ';
}
$requete .= '(bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00")'.
' AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00") AND bn_id_nature=bf_ce_nature';
}
}
else $nomflux .= BAZ_A_MODERER;
if ($emetteur!='' && $emetteur!='tous') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= 'bf_ce_utilisateur='.$emetteur;
$req_where=1;
//requete pour afficher le nom de la structure
$requetenom = 'SELECT '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.
BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$emetteur;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requetenom) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$nomflux .= ' ('.$ligne[BAZ_CHAMPS_NOM].' '.$ligne[BAZ_CHAMPS_PRENOM].')';
}
if ($requeteSQL!='') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= '('.$requeteSQL.')';
$req_where=1;
}
if ($categorie_nature!='') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= 'bn_ce_id_menu IN ('.$categorie_nature.') and bf_ce_nature=bn_id_nature ';
$req_where=1;
}
$requete .= ' ORDER BY bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
include_once PAP_CHEMIN_API_PEAR . 'XML/Util.php' ;
// passage en utf-8 --julien
// --
// setlocale() pour avoir les formats de date valides (w3c) --julien
setlocale(LC_TIME, "C");
$xml = XML_Util::getXMLDeclaration('1.0', 'UTF-8', 'yes') ;
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('rss', array('version' => '2.0')) ;
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('channel');
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('title', null, utf8_encode(html_entity_decode($nomflux)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('link', null, utf8_encode(html_entity_decode(BAZ_RSS_ADRESSESITE)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('description', null, utf8_encode(html_entity_decode(BAZ_RSS_DESCRIPTIONSITE)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('language', null, 'fr-FR');
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('copyright', null, 'Copyright (c) '. date('Y') .' '. BAZ_RSS_NOMSITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('lastBuildDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('docs', null, 'http://www.stervinou.com/projets/rss/');
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('category', null, BAZ_RSS_CATEGORIE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('managingEditor', null, BAZ_RSS_MANAGINGEDITOR);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('webMaster', null, BAZ_RSS_WEBMASTER);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('ttl', null, '60');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('image');
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('title', null, BAZ_RSS_NOMSITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('url', null, BAZ_RSS_LOGOSITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('link', null, BAZ_RSS_ADRESSESITE);
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('image');
if ($resultat->numRows() > 0) {
// Creation des items : titre + lien + description + date de publication
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('item');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, encoder_en_utf8($ligne['bf_titre']));
$xml .= "\r\n ";
$lien=$GLOBALS['_BAZAR_']['url'];
$lien->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$xml .= XML_Util::createTag ('link', null, $lien->getURL());
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('guid', null, $lien->getURL());
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('description');
$xml .= "\r\n ";
if ($_GET[BAZ_VARIABLE_ACTION] != BAZ_VOIR_TOUTES_ANNONCES) {
$xml .= XML_Util::createCDataSection(encoder_en_utf8($ligne['bf_description']));
}
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('description');
$xml .= "\r\n ";
if ($ligne['bf_date_debut_validite_fiche'] != '0000-00-00' &&
$ligne['bf_date_debut_validite_fiche']>$ligne['bf_date_creation_fiche']) {
$date_pub = $ligne['bf_date_debut_validite_fiche'];
} else $date_pub = $ligne['bf_date_creation_fiche'] ;
$xml .= XML_Util::createTag ('pubDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT',strtotime($date_pub)));
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('item');
}
}
else {//pas d'annonces
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('item');
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('title', null, utf8_encode(html_entity_decode(BAZ_PAS_D_ANNONCES)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('link', null, utf8_encode(html_entity_decode($GLOBALS['_BAZAR_']['url']->getUrl())));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('guid', null, utf8_encode(html_entity_decode($GLOBALS['_BAZAR_']['url']->getUrl())));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('description', null, utf8_encode(html_entity_decode(BAZ_PAS_D_ANNONCES)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('pubDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT',strtotime("01/01/%Y")));
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('item');
}
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('channel');
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement('rss') ;
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
return $xml;
}
 
 
/** baz_liste() Formate la liste de toutes les annonces actuelles
*
* @return string le code HTML a afficher
*/
function baz_liste($typeannonce='toutes') {
//creation du lien pour le formulaire de recherche
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_TOUTES_ANNONCES);
if (isset($_REQUEST['recherche_avancee'])) $GLOBALS['_BAZAR_']['url']->addQueryString ('recherche_avancee', $_REQUEST['recherche_avancee']);
$lien_formulaire = preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
$squelette =& $formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table>'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td>'."\n".'{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
' :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".'</tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2">{label}{element}</td></tr>'."\n", 'rechercher');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature '.
'FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
'ORDER BY bn_label_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
//on recupere le nb de types de fiches, pour plus tard
$nb_type_de_fiches=$resultat->numRows();
$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$type_annonce_select[$ligne['bn_id_nature']] = $ligne['bn_label_nature'];
$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
}
if ($nb_type_de_fiches>1 && $GLOBALS['_BAZAR_']['typeannonce']=='toutes' && BAZ_AFFICHER_FILTRE_MOTEUR) {
$res= '';
$option=array('onchange' => 'javascript:this.form.submit();');
$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
if (isset($_REQUEST['nature'])) {
$defauts=array('nature'=>$_REQUEST['nature']);
$formtemplate->setDefaults($defauts);
}
}
//cas du type d'annonces predefini
else {
if ($nb_type_de_fiches==1) {
$GLOBALS['_BAZAR_']['typeannonce']=end($type_annonce_select);
$GLOBALS['_BAZAR_']['id_typeannonce']=key($type_annonce_select);
}
$res = '<h2 class="bazar_titre2">'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
}
 
//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
// dans le but de construire l'element de formulaire select avec les noms des emetteurs de fiche
if (BAZ_RECHERCHE_PAR_EMETTEUR) {
$requete = 'SELECT DISTINCT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' WHERE ' ;
$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';
$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
if (!isset($_REQUEST['nature'])) {
if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
}
}
else {
if ($_REQUEST['nature']!='toutes') {
$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
}
}
$requete .= 'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
}
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;');
$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
} else {
$formtemplate->addElement ('hidden', 'personnes', 'tous') ;
}
//pour les super-administrateurs, on peut voir les annonces non validees
//on verifie si l'utilisateur est administrateur
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ;
 
if ($utilisateur->isSuperAdmin()) {
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;');
$valide_select[0] = BAZ_FICHES_PAS_VALIDEES;
$valide_select[1] = BAZ_FICHES_VALIDEES;
$valide_select[2] = BAZ_LES_DEUX;
$formtemplate->addElement ('select', 'valides', BAZ_VALIDE, $valide_select, $option) ;
$defauts=array('valides'=>1);
$formtemplate->setDefaults($defauts);
}
//champs texte pour entrer les mots cles
$option=array('maxlength'=>60,'style'=>'border:1px solid #000;width:200px;font:12px Myriad, Arial, sans-serif;');
$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
//option cachee pour savoir si le formulaire a ete appele deja
$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
// Ajout des options si un type de fiche a ete choisie
if ( (isset($_REQUEST['nature']) && $_REQUEST['nature'] != 'toutes') || (isset($GLOBALS['_BAZAR_']['categorie_nature']) && $nb_type_de_fiches==1)) {
if ( BAZ_MOTEUR_RECHERCHE_AVANCEE || ( isset($_REQUEST['recherche_avancee'])&&$_REQUEST['recherche_avancee']==1) ) {
if ($GLOBALS['_BAZAR_']['categorie_nature'] != '') {
$champs_requete = '' ;
if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
$_REQUEST['nature'] = $tableau_typeannonces[0];
}
}
// Recuperation du template
$requete = 'SELECT bn_template FROM bazar_nature WHERE bn_id_nature = '.$_REQUEST['nature'];
$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if (isset($_REQUEST['recherche_avancee']) && $_REQUEST['recherche_avancee']==1) {
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '0');
$lien_recherche_de_base = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_DE_BASE.'</a><br />';
//lien recherche de base
labelhtml($formtemplate,'',$lien_recherche_de_base,'','','','','');
}
$tableau = baz_valeurs_template($resultat) ;
for ($i=0; $i<count($tableau); $i++) {
if (($tableau[$i]['type'] == 'liste' || $tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'labelhtml') && $tableau[$i]['recherche'] == 1) {
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire'], 1, 'bazar') ;
}
}
}
else {
$url_rech_avance = $GLOBALS['_BAZAR_']['url'];
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $url_rech_avance->addQueryString($cle, $valeur);
$url_rech_avance->addQueryString('recherche_avancee', '1');
$lien_recherche_avancee = '<a href="'.$url_rech_avance->getURL().'">'.BAZ_RECHERCHE_AVANCEE.'</a><br />';
unset ($url_rech_avance);
}
}
//lien recherche avancee
if (isset($lien_recherche_avancee)) {
labelhtml($formtemplate,'',$lien_recherche_avancee,'','','','','');
}
//Bouton de validation du formulaire
$option=array('style'=>'border:1px solid #000;width:100px;font:12px Myriad, Arial, sans-serif;');
$formtemplate->addElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
//affichage du formulaire
//$res.=$formtemplate->toHTML()."\n";
 
// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
$case_coche = false ;
$nb_jointures=0;
$requeteFrom = '' ;
$requeteWhere = ' bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if ($GLOBALS['_BAZAR_']['id_typeannonce'] != 'toutes') $requeteWhere .= 'AND bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ;
$requeteWhere .= ' AND bn_id_nature=bf_ce_nature AND ' ;
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requeteWhere .= ' bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" and ';
}
$requeteWhereListe = '' ;
if ( isset($tableau) ) {
for ($i = 0; $i < count ($tableau); $i++) {
if ($tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'liste') {
$nb_jointures++;
$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
if (isset($_REQUEST[$nom_liste]) && is_array($_REQUEST[$nom_liste])) {
$case_coche = true;
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($nb_jointures) ;
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Num�ro de la liste
$requeteWhere .= ' bfvl'.($nb_jointures).'.bfvl_ce_fiche=bf_id_fiche AND ';
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_valeur IN (' ;
$chaine = '';
//var_dump($_REQUEST[$nom_liste]);
foreach ($_REQUEST[$nom_liste] as $cle =>$valeur) {
if ($valeur == 1) {
$chaine .= '"'.$cle.'",' ;
}
}
$requeteWhereListe .= substr ($chaine, 0, strlen ($chaine)-1) ;
$requeteWhereListe .= ') AND ';
} else {
if (isset ($_REQUEST[$nom_liste]) && $_REQUEST[$nom_liste]!=0) {
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($nb_jointures) ;
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Num�ro de la liste
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_valeur='.$_REQUEST[$nom_liste].' AND ';
$requeteWhere .= ' bfvl'.($nb_jointures).'.bfvl_ce_fiche=bf_id_fiche AND ';
$case_coche = true;
}
}
}
}
}
if ($case_coche) {
$requeteWhere .= $requeteWhereListe;
}
if (isset($_REQUEST['nature']) && $_REQUEST['nature']!='' && $_REQUEST['nature']!='toutes') {
$requeteWhere = 'bf_ce_nature="'.$_REQUEST['nature'].'" AND '.$requeteWhere;
}
if (BAZ_UTILISE_TEMPLATE) {
// Appel du template n 1
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php' ;
$template = new bazarTemplate ($GLOBALS['_BAZAR_']['db']) ;
$chaine = $template->getTemplate(1, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
if (bazarTemplate::isError ($chaine)) return $chaine->getMessage() ;
ob_start();
eval ($chaine) ;
$res .= ob_get_contents();
ob_end_clean() ;
} else {
$res .= $formtemplate->toHTML();
if (!isset($_REQUEST['recherche_effectuee'])) {
$res .= '<p class="zone_info">'.BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION,BAZ_VOIR_FLUX_RSS);
$GLOBALS['_BAZAR_']['url']->addQueryString('annonce',$GLOBALS['_BAZAR_']['id_typeannonce']);
if ($GLOBALS['_BAZAR_']['categorie_nature']!=0) $GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature',$GLOBALS['_BAZAR_']['categorie_nature']);
// $res .= '{{Syndication titre="'.BAZ_DERNIERES_FICHES.'" url="'.$GLOBALS['_BAZAR_']['url']->getURL().'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description, bn_label_nature, bf_date_creation_fiche FROM bazar_fiche, bazar_nature WHERE bn_id_nature=bf_ce_nature AND bn_ce_id_menu="'.$GLOBALS['_BAZAR_']['categorie_nature'].'" AND (bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00") AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00")
ORDER BY bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if($resultat->numRows() != 0) {
$res .= '<h2>'.BAZ_DERNIERES_FICHES.'</h2>';
$res .= '<ul class="liste_rss">';
while($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$res .= '<li class="titre_rss"><a class="lien_rss" href="'. $GLOBALS['_BAZAR_']['url']->getURL() .'" alt="lire la fiche">'. $ligne['bf_titre'].'</a></li>';
}
$res .= '</ul>';
}
}
}
 
//affichage des resultats de la recherche si le formulaire a ete envoye
$requeteSQL='';
if (isset($_REQUEST['recherche_effectuee'])) {
//preparation de la requete pour trouver les mots cles
if (($_REQUEST['recherche_mots_cles']!='')and($_REQUEST['recherche_mots_cles']!=BAZ_MOT_CLE)) {
//decoupage des mots cles
$recherche = split(' ', $_REQUEST['recherche_mots_cles']) ;
$nbmots=count($recherche);
$requeteSQL='';
for ($i=0; $i<$nbmots; $i++) {
if ($i>0) $requeteSQL.=' OR ';
$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" ';
}
}
if (!isset($_REQUEST['nature'])) {
if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ;
} else {
$typedefiches = $_REQUEST['nature'] ;
if ($typedefiches == 'toutes') $typedefiches = $tableau_typeannonces ;
}
if ($typeannonce!='toutes') $typedefiches=$typeannonce;
if (isset($_REQUEST['valides'])) {$valides=$_REQUEST['valides'];}
else {$valides=1;}
//generation de la liste de flux a afficher
if (!isset($_REQUEST['personnes'])) $_REQUEST['personnes']='tous';
$res .= baz_liste_pagine_HTML($typedefiches, '', $_REQUEST['personnes'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
}
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('annonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('categorie_nature');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_avancee');
return $res;
}
 
/**
* Cette fonction renvoie du HTML
*/
function baz_liste_pagine_HTML($typeannonce, $nbitem, $emetteur, $valide, $requeteSQL = '', $requeteFrom = '', $requeteWhere = '') {
// generation de la requete MySQL personnalisee
$req_where=0;
$requete = 'SELECT * '.
'FROM bazar_fiche, bazar_nature '.$requeteFrom.' WHERE '.$requeteWhere;
if ($valide!=2) {
if ($req_where==1) {$requete .= ' AND ';}
$req_where=1;
$requete .= 'bf_statut_fiche='.$valide;
} else {
$requete .= '1 ' ;
}
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
if ($valide!=0) {
if ($utilisateur->isSuperAdmin()) {
$req_where=1;
} else {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= '(bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00")'.
' AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00") AND bn_id_nature=bf_ce_nature';
$req_where=1;
}
}
if ($emetteur!='' && $emetteur!='tous') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= 'bf_ce_utilisateur='.$emetteur;
$req_where=1;
}
if ($requeteSQL!='') {
if ($req_where==1) {$requete .= ' AND ';}
$requete .= '('.$requeteSQL.')';
$req_where=1;
}
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return $resultat->getMessage().'<br /><br />'.$resultat->getDebugInfo() ;
}
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
//$res .= 'requete: '. $requete. '<br />';
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$donnees = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']) ;
array_push ($donnees, $ligne);
}
// Mise en place du Pager
include_once PAP_CHEMIN_API_PEAR.'Pager/Pager.php';
$params = array(
'mode' => BAZ_MODE_DIVISION,
'perPage' => BAZ_NOMBRE_RES_PAR_PAGE,
'delta' => BAZ_DELTA,
'httpMethod' => 'GET',
'extraVars' => array_merge($_POST, $_GET),
'altNext' => BAZ_SUIVANT,
'altPrev' => BAZ_PRECEDENT,
'nextImg' => BAZ_SUIVANT,
'prevImg' => BAZ_PRECEDENT,
'itemData' => $donnees
);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$links = $pager->getLinks();
if (BAZ_UTILISE_TEMPLATE) {
//Appel du template n 2
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php' ;
$template = new bazarTemplate ($GLOBALS['_BAZAR_']['db']) ;
$chaine = $template->getTemplate(2, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
if (bazarTemplate::isError ($chaine)) return $chaine->getMessage() ;
ob_start();
eval ($chaine) ;
$res .= ob_get_contents();
ob_end_clean() ;
} else {
$res .= '<ul>' ;
$res .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n";
foreach ($data as $valeur) {
$res .='<li class="BAZ_'.$valeur['bn_label_class'].'">'."\n";
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur['bf_id_fiche']) ;
if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur['bf_ce_utilisateur']) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $valeur['bf_ce_nature']);
$GLOBALS['_BAZAR_']['url']->removeQueryString('personnes');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_effectuee');
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">('.BAZ_MODIFIER.')</a>&nbsp;'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$res .='<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>&nbsp;'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
}
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE) ;
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur['bf_titre'].'</a>'."\n";
$res .='</li>'."\n";
}
$res .= '</ul>'."\n".'<div class="bazar_numero">'.$pager->links.'</div>'."\n";
}
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_avancee');
 
return $res ;
}
 
function encoder_en_utf8($txt) {
// Nous remplaçons l'apostrophe de type RIGHT SINGLE QUOTATION MARK et les & isolées qui n'auraient pas été
// remplacées par une entitée HTML.
$cp1252_map = array("\xc2\x92" => "\xe2\x80\x99" /* RIGHT SINGLE QUOTATION MARK */);
return strtr(preg_replace('/ \x{0026} /u', ' &#38; ', mb_convert_encoding($txt, 'UTF-8','HTML-ENTITIES')), $cp1252_map);
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: bazar.fonct.rss.php,v $
* Revision 1.99.2.10 2008-02-04 13:03:09 alexandre_tb
* ajout d un class css dans les h2
*
* Revision 1.99.2.9 2008-02-01 16:24:10 florian
* ajout champs_mail, décommenter les traductions des javascripts
*
* Revision 1.99.2.8 2008-01-29 09:35:37 alexandre_tb
* remplacement des variables action par une constante
* Utilisation d un redirection pour eviter que les formulaires soient valides 2 fois
* simplification de la suppression d un lien associe a une liste
*
* Revision 1.99.2.7 2008-01-11 14:09:17 alexandre_tb
* Remplacement de la variable action ecrite en dur par la constante BAZ_VARIABLE_ACTION
*
* Revision 1.99.2.6 2007-12-14 15:55:38 alexandre_tb
* les commentaires peuvent maintenant apparaitre dans le moteur de recherche et dans les fiches, il faut mettre a 1 respectivement le champs recherche et obligatoire
*
* Revision 1.99.2.5 2007-12-10 12:57:34 jp_milcent
* Correction du problèmes des & non remplacées par des &amp;
*
* Revision 1.99.2.4 2007-12-04 08:58:26 alexandre_tb
* modification de styles dans les formulaires
*
* Revision 1.99.2.3 2007-12-03 15:16:21 jp_milcent
* Correction problème de la div mystère!
*
* Revision 1.99.2.2 2007-11-30 15:02:50 alexandre_tb
* simplification du code et correction du bug (les fiches de la carto n affichent pas la bonne nature
*
* Revision 1.99.2.1 2007-11-30 14:14:36 jp_milcent
* Ajout d'un décodage des apostrophes de type RIGHT SINGLE QUOTATION MARK.
*
* Revision 1.99 2007-11-05 10:17:19 alexandre_tb
* correction bug: retrait inorportun de la variable menu dans la globale URL
*
* Revision 1.98 2007-10-24 13:27:45 alexandre_tb
* bug d'affichage multiple lorsqu'il y a +sieurs langues
*
* Revision 1.97 2007-10-24 08:56:27 alexandre_tb
* bug d'affichage multiple lorsqu'il y a +sieurs langues
*
* Revision 1.96 2007-10-22 10:09:21 florian
* correction template
*
* Revision 1.95 2007-10-22 09:22:02 alexandre_tb
* prise en compte de la langue dans les requetes sur bazar_nature
*
* Revision 1.94 2007-10-10 13:26:00 alexandre_tb
* utilisation de la classe Administrateur_bazar a la place de niveau_droit
*
* Revision 1.93 2007-10-01 11:59:51 alexandre_tb
* cosmetique d affichage de la date de l evenement
*
* Revision 1.92 2007-09-28 15:02:43 jp_milcent
* Suppression d'une div fermante jamais ouverte!
*
* Revision 1.91 2007-09-28 14:43:29 jp_milcent
* Correction bogue sur la gestion du mail des rédacteurs.
*
* Revision 1.90 2007-09-28 13:39:15 jp_milcent
* Ajout d'une constante permettant de configurer l'affichage ou pas du courriel du rédacteur d'une fiche.
*
* Revision 1.89 2007-09-18 07:38:43 alexandre_tb
* ajout de la constante BAZ_AFFICHER_FILTRE_MOTEUR pour enlever le choix du type de fiche dans le moteur de recherche.
*
* Revision 1.88 2007-08-27 12:32:14 alexandre_tb
* suppression de un notice
*
* Revision 1.87 2007-07-05 08:27:35 alexandre_tb
* dans le flux ajout utf8_encode pour la description et le titre des flux
*
* indentation du code, et correction bug lorsque plusieurs catégories nature étaient demandé lors de consultation de fiche.
*
* Revision 1.86 2007-07-04 10:02:42 alexandre_tb
* deplacement d une balise <ul> dans la liste des resultats pour conformite xhtml
*
* Revision 1.85 2007-06-25 12:15:06 alexandre_tb
* merge from narmer
*
* Revision 1.84 2007-06-25 09:56:55 alexandre_tb
* correction de bug
*
* Revision 1.83 2007-06-04 15:26:02 alexandre_tb
* remplacement d un die en return
*
* Revision 1.82 2007/04/20 12:47:42 florian
* correction bugs suite au merge
*
* Revision 1.81 2007/04/20 09:59:41 florian
* et un echo en moins!
*
* Revision 1.80 2007/04/20 09:57:21 florian
* correction bugs suite au merge
*
* Revision 1.79 2007/04/19 14:57:41 alexandre_tb
* merge
*
* Revision 1.77 2007/04/04 15:15:22 neiluj
* débug pour nom wiki
*
* Revision 1.76 2007/04/04 15:09:59 florian
* modif class fichiers
*
* Revision 1.75 2007/04/04 08:51:01 florian
* gestion des classes spécifiques pour habiller par CSS les fiches bazar
*
* Revision 1.74 2007/03/28 15:54:32 florian
* correction de bugs
*
* Revision 1.73 2007/03/28 10:01:47 florian
* ajout de la constante BAZ_UTILISE_TEMPLATE, pour utiliser ou non les templates pour l'affichage du moteur de recherche
*
* Revision 1.72 2007/03/28 08:51:22 neiluj
* passage des flux RSS en UTF-8
* ajout de l'indentation du code
* Vérification validation w3c = OK
*
* Revision 1.71 2007/03/19 15:17:37 alexandre_tb
* correction de la requete de recherche
*
* Revision 1.70 2007/03/08 15:12:13 jp_milcent
* Fusion avec la livraison Menes : 08 mars 2007
*
* Revision 1.60.2.11 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage syst�matique des URLs.
*
* Revision 1.60.2.10 2007/03/06 09:41:15 alexandre_tb
* backport de corrections de bugs de la branche principale
*
* Revision 1.69 2007/03/06 09:39:00 alexandre_tb
* correction de bug sur les jointures et sur les flux rss
*
* Revision 1.68 2007/03/05 10:27:06 alexandre_tb
* ajout d identifiant dans les span qui affiche le detail d une fiche.
* ajout d un modele pour les fiches -> du code a ete deplace dans
* bazar_template
*
* Revision 1.67 2007/02/28 10:18:56 alexandre_tb
* backport de bug depuis la 1.60 de menes
*
* Revision 1.60.2.9 2007/02/27 15:32:40 alexandre_tb
* utilisation de la fonction xmlEntities pour transformer les &amp; en &#...;
* fixe les plantages des flux rss lorsque des guillemets ou des esperluettes �taient pr�sents
*
* Revision 1.60.2.8 2007/02/27 15:11:00 alexandre_tb
* correction d une jointure dans la requete pour les flux rss
* utilisation de la librairie XML_Util de pear pour generer le flux RSS -> plus clair
*
* Revision 1.60.2.7 2007/02/15 17:39:00 jp_milcent
* Remise dans le code d'un bogue...
* A corriger!
*
* Revision 1.60.2.6 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.64 2007/02/02 14:00:41 alexandre_tb
* mise en place d'un template pour l'affichage du moteur de recherche
*
* Revision 1.60.2.5 2007/02/02 13:46:54 alexandre_tb
* correction bug sur une date
*
* Revision 1.60.2.4 2007/01/30 15:45:01 alexandre_tb
* affichage de la date de cr�ation e la fiche lorsque la date de d�but de validit� n'est plus bonne
*
* Revision 1.60.2.3 2007/01/29 10:53:46 alexandre_tb
* Mise en place de la constante BAZ_DERNIERES_FICHES pour remplacer le label en francais dans baz_liste
*
* Revision 1.63 2007/01/18 14:37:34 alexandre_tb
* backport
* les dates ne s'affichent pas si elles sont vides.
* les champs dates propose 4 ann�es avant l'ann�e actuelle
*
* Revision 1.60.2.2 2007/01/17 16:01:27 alexandre_tb
* les dates ne s'affichent pas si elles sont vides.
* les champs dates propose 4 ann�es avant l'ann�e actuelle
*
* Revision 1.60.2.1 2007/01/05 14:41:49 alexandre_tb
* backport ordre d affichage des dernieres news et suppression de la taille des images uploadees
*
* Revision 1.60 2006/10/05 08:53:50 florian
* amelioration moteur de recherche, correction de bugs
*
* Revision 1.59 2006/09/21 14:19:39 florian
* amélioration des fonctions liés au wikini
*
* Revision 1.58 2006/09/15 12:31:40 alexandre_tb
* correction du nom du flux RSS.
*
* Revision 1.57 2006/07/25 13:22:27 alexandre_tb
* r�organisation du code, sans grand changement
*
* Revision 1.56 2006/07/18 14:13:35 alexandre_tb
* Ajout d identifiant HTML
*
* Revision 1.55 2006/07/04 14:29:18 alexandre_tb
* Ajout du bouton supprimer pour les administrateurs
*
* Revision 1.54 2006/07/03 09:51:21 alexandre_tb
* correction du bug recherche sur fiches valid�s et invalid�s.
*
* Revision 1.53 2006/06/29 10:29:51 florian
* correction bug moteur de recherche
*
* Revision 1.52 2006/06/02 09:29:07 florian
* debut d'integration de wikini
*
* Revision 1.51 2006/05/23 15:41:27 alexandre_tb
* ajout de la num�rotation des pages en haut et en bas ds r�sultats et ajout d'une div class=bazar_numero pour les entourer
*
* Revision 1.50 2006/05/22 09:55:12 alexandre_tb
* ajout de la variable recherche_avancee dans l'action du formulaire
*
* Revision 1.49 2006/05/19 13:54:11 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
* Revision 1.48 2006/05/17 09:50:13 alexandre_tb
* Ajout du moteur de recherche �volu� et du d�coupage par page
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/2014-08-05_centre/client/bazar/bibliotheque/bazar.fonct.php
New file
0,0 → 1,1660
<?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.fonct.php,v 1.74.2.10 2008-02-01 17:20:18 florian Exp $
/**
*
* Fonctions du module bazar
*
*
*@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.74.2.10 $ $Date: 2008-02-01 17:20:18 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/Table.php' ;
require_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.inc.php';
require_once 'bazar.fonct.rss.php';
 
 
/** fiches_a_valider () - Renvoie les annonces restant a valider par un administrateur
*
* @return string HTML
*/
function fiches_a_valider() {
// Pour les administrateurs d'une rubrique, on affiche les fiches a valider de cette rubrique
// On effectue une requete sur le bazar pour voir les fiches a administrer
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_ADMIN);
$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2><br />'."\n";
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND ' .
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' ;
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
}
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
//Requete pour trouver le nom et prenom de l'annonceur
$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.
' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
if (DB::isError($resultatnomprenom)) {
echo ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
}
while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
}
$lien_voir=$GLOBALS['_BAZAR_']['url'];
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
// Nettoyage de l'url
// NOTE (jpm - 23 mai 2007): pour être compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une référence...
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$table->addRow (array(
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$annonceur."\n", // col 2 : annonceur
$ligne['bn_label_nature']."\n", // col 3 : type annonce
"<a href=\"".$lien_publie_oui."\">".BAZ_OUI."</a> / \n".
"<a href=\"".$lien_publie_non."\">".BAZ_NON."</a>", // col 4 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
$table->updateColAttributes(2, array("align" => "center"));
$table->updateColAttributes(3, array("align" => "center"));
$table->updateColAttributes(4, array("align" => "center"));
$res .= $table->toHTML() ;
}
else {
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE_A_VALIDER.'</p>'."\n" ;
}
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_TOUTES_ANNONCES);
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
// Les autres fiches, deja validees
$res .= '<h2>'.BAZ_TOUTES_LES_FICHES.'</h2>'."\n";
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=1 AND ' .
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
}
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
//Requete pour trouver le nom et prenom de l'annonceur
$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.
' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
if (DB::isError($resultatnomprenom)) {
echo ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
}
while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
}
$lien_voir=$GLOBALS['_BAZAR_']['url'];
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
// Nettoyage de l'url
// NOTE (jpm - 23 mai 2007): pour être compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une référence...
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$table->addRow (array(
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$annonceur."\n", // col 2 : annonceur
$ligne['bn_label_nature']."\n", // col 3 : type annonce
"<a href=\"".$lien_publie_oui."\">".BAZ_OUI."</a> / \n".
"<a href=\"".$lien_publie_non."\">".BAZ_NON."</a>", // col 4 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
$table->updateColAttributes(2, array("align" => "center"));
$table->updateColAttributes(3, array("align" => "center"));
$table->updateColAttributes(4, array("align" => "center"));
$res .= $table->toHTML() ;
}
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
return $res;
}
 
 
/** mes_fiches () - Renvoie les fiches bazar d'un utilisateur
*
* @return string HTML
*/
function mes_fiches() {
$res= '<h2>'.BAZ_VOS_ANNONCES.'</h2><br />'."\n";
if ($GLOBALS['AUTH']->getAuth()) {
// requete pour voir si l'utilisateur a des fiches a son nom, classees par date de MAJ et nature d'annonce
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_ce_utilisateur='. $GLOBALS['id_user'].
' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
$requete .= ' ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType (0, "th") ;
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
if ($ligne['bf_statut_fiche']==1) $publiee=BAZ_PUBLIEE;
elseif ($ligne['bf_statut_fiche']==0) $publiee=BAZ_ENCOURSDEVALIDATION;
else $publiee=BAZ_REJETEE;
$lien_voir = $GLOBALS['_BAZAR_']['url'];
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_voir_url=$lien_voir->getURL();
$lien_modifier = $GLOBALS['_BAZAR_']['url'];
$lien_modifier->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$lien_modifier->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_modifier->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_modifier_url=$lien_modifier->getURL();
$lien_supprimer = $GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_supprimer->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_supprimer_url=$lien_supprimer->getURL();
$table->addRow (array(
'<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$ligne['bn_label_nature']."\n", // col 2: type annonce
$publiee."\n", // col 3 : publiee ou non
'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
'<a href="'.$lien_supprimer_url.'" onclick="javascript:return '.
'confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 5 : supprimer
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "left"));
$table->updateColAttributes(2, array("align" => "center"));
$table->updateColAttributes(3, array("align" => "center"));
$table->updateColAttributes(4, array("align" => "center"));
$res .= $table->toHTML() ;
}
else {
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE.'</p>'."\n" ;
}
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_SAISIR);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$res .= '<br /><ul id="liste_liens"><li id="lien_saisir"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'">'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'</a></li></ul>';
}
else {
$res .= BAZ_IDENTIFIEZ_VOUS_PRESENTATION_XHTML;
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ;
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
}
return $res;
}
 
/** baz_gestion_droits() interface de gestion des droits
*
* return string le code HTML
*/
function baz_gestion_droits() {
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
 
//contruction du squelette du formulaire
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
$squelette =& $formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:150px;text-align:right;">'."\n".'{label} :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".'</tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//Initialisation de la variable personne
if ( isset($_POST['personnes']) ) {
$personne=$_POST['personnes'];
}
else $personne=0;
//Cas ou les droits ont etes changes
if (isset($_GET['pers'])) {
$personne=$_GET['pers'];
//CAS DES DROITS POUR UN TYPE D'ANNONCE: On efface tous les droits de la personne pour ce type d'annonce
if (isset($_GET['idtypeannonce'])) {
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'].
' AND bd_id_nature_offre='.$_GET['idtypeannonce'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
//CAS DU SUPER ADMIN: On efface tous les droits de la personne en general
else {
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
if ($_GET['droits']=='superadmin') {
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].',0,0)';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
elseif ($_GET['droits']=='redacteur') {
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',1)';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
elseif ($_GET['droits']=='admin') {
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',2)';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
}
//requete pour obtenir l'id, le nom et prenom des personnes inscrites a l'annuaire sauf soi meme
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE.
' WHERE '.BAZ_CHAMPS_ID." != ".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
echo ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2><br />'."\n";
$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />'."\n";
$personnes_select[0]=BAZ_SELECTION;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
}
$java=array ('style'=>'width:250px;','onchange'=>'this.form.submit();');
$formtemplate->addElement ('select', 'personnes', BAZ_LABEL_CHOIX_PERSONNE, $personnes_select, $java) ;
$defauts=array ('personnes'=>$personne);
$formtemplate->setDefaults($defauts);
$res.= $formtemplate->toHTML().'<br />'."\n" ;
if ($personne!=0) {
//cas du super utilisateur
$utilisateur = new Utilisateur_bazar($personne) ;
if ($utilisateur->isSuperAdmin()) {
$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n";
$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url'];
$lien_enlever_superadmin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_enlever_superadmin->addQueryString('pers', $personne);
$lien_enlever_superadmin->addQueryString('droits', 'aucun');
$res.= '<a href='.$lien_enlever_superadmin->getURL().'>'.BAZ_CHANGER_SUPERADMINISTRATEUR.'</a><br />'."\n";
}
else {
$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url'];
$lien_passer_superadmin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_passer_superadmin->addQueryString('pers', $personne);
$lien_passer_superadmin->addQueryString('droits', 'superadmin');
$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n";
//on cherche les differentes rubriques d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre FROM bazar_nature';
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' where bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />';
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
$table->addRow(array ('<strong>'.BAZ_TYPE_ANNONCES.'</strong>',
'<strong>'.BAZ_DROITS_ACTUELS.'</strong>',
'<strong>'.BAZ_PASSER_EN.'</strong>',
'<strong>'.BAZ_OU_PASSER_EN.'</strong>')) ;
$table->setRowType (0, 'th') ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$lien_aucun_droit=$GLOBALS['_BAZAR_']['url'];
$lien_aucun_droit->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_aucun_droit->addQueryString('pers', $personne);
$lien_aucun_droit->addQueryString('droits', 'aucun');
$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
$lien_passer_redacteur=$GLOBALS['_BAZAR_']['url'];
$lien_passer_redacteur->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_passer_redacteur->addQueryString('pers', $personne);
$lien_passer_redacteur->addQueryString('droits', 'redacteur');
$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
$lien_passer_admin=$GLOBALS['_BAZAR_']['url'];
$lien_passer_admin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_passer_admin->addQueryString('pers', $personne);
$lien_passer_admin->addQueryString('droits', 'admin');
$lien_passer_admin->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
if (isset($ligne['bn_image_titre'])) {
$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n";
} else {
$titre='<strong>&nbsp;'.$ligne['bn_label_nature'].'</strong>'."\n";
}
if ($utilisateur->isAdmin($ligne['bn_id_nature'])) {
$table->addRow(array($titre,
BAZ_DROIT_ADMIN,
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_LABEL_REDACTEUR.'</a>'));
}
elseif ($utilisateur->isRedacteur($ligne['bn_id_nature'])) {
$table->addRow(array($titre,
BAZ_LABEL_REDACTEUR,
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>',
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
}
else {
$table->addRow(array($titre,
BAZ_AUCUN_DROIT,
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_LABEL_REDACTEUR.'</a>',
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
}
}
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
$table->updateColAttributes(0, array('align' => 'left'));
$table->updateColAttributes(1, array('align' => 'left'));
$table->updateColAttributes(2, array('align' => 'left'));
$table->updateColAttributes(3, array('align' => 'left'));
$res.=$table->toHTML() ;
}
}
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('pers');
$GLOBALS['_BAZAR_']['url']->removeQueryString('droits');
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce');
 
return $res;
}
 
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces
*
* @param string choix du formulaire a afficher (soit formulaire personnalise de
* l'annonce, soit choix du type d'annonce)
*
* @return string HTML
*/
function baz_formulaire($mode) {
$res = '';
 
if ($GLOBALS['AUTH']->getAuth()) {
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
 
//Definir le lien du formulaire en fonction du mode de formulaire choisi
if ($mode == BAZ_DEPOSER_ANNONCE) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
if (isset($GLOBALS['_BAZAR_']['id_typeannonce']) && $GLOBALS['_BAZAR_']['id_typeannonce'] != 'toutes') {
$mode = BAZ_ACTION_NOUVEAU ;
}
}
if ($mode == BAZ_ACTION_NOUVEAU) {
if ((!isset($_POST['accept_condition']))and($GLOBALS['_BAZAR_']['condition']!=NULL)) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
} else {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V);
}
}
if ($mode == BAZ_ACTION_MODIFIER) {
if (!isset($_POST['accept_condition'])and($GLOBALS['_BAZAR_']['condition']!=NULL)) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
} else {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER_V);
if (isset ($_SESSION['_BAZAR_']['fichier'])) unset($_SESSION['_BAZAR_']['fichier']) ;
if (isset ($_SESSION['_BAZAR_']['image'])) unset($_SESSION['_BAZAR_']['image']);
if (isset ($_SESSION['_BAZAR_']['lien'])) unset($_SESSION['_BAZAR_']['lien']);
}
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
}
if ($mode == BAZ_ACTION_MODIFIER_V) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER_V);
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
}
//contruction du squelette du formulaire
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
$squelette =& $formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td>'."\n".'{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
' </td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".'</tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//------------------------------------------------------------------------------------------------
//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_DEPOSER_ANNONCE) {
$res = '';
//requete pour obtenir le nom et la description des types d'annonce
$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
}
$requete .= 'ORDER BY bn_label_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
//$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n";
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$res .= $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE_ACCUEIL, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
if ($resultat->numRows()==1) {
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC);
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
$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'];
$mode = BAZ_ACTION_NOUVEAU;
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V);
} else {
//$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n";
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (($utilisateur->isRedacteur($ligne['bn_id_nature'])) || ($utilisateur->isAdmin($ligne['bn_id_nature']))
|| ($utilisateur->isSuperAdmin() || !BAZ_RESTREINDRE_DEPOT)) {
if ($ligne['bn_image_titre']!='') {
$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.
$ligne['bn_label_nature'].'" />'.'<br />'."\n";
} else {
$titre='<h3>'.$ligne['bn_label_nature'].' : </h3>'."\n";
}
$formtemplate->addElement('radio', 'typeannonce', '',
$titre.$ligne['bn_description'].'<br /><br />'."\n",
$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'],
"style" => 'float:left;'));
$formtemplate->addRule('typeannonce', 'Il faut choisir un type de fiche', 'required', '', 'client') ;
}
}
$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
//Bouton de validation du formulaire // ce qui fait échouer le lien
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
$formtemplate->addGroup($buttons, null, null, '&nbsp;');
//Affichage a l'ecran
$res.= $formtemplate->toHTML()."\n";
}
}
 
//------------------------------------------------------------------------------------------------
//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_NOUVEAU) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V);
$formtemplate->updateAttributes(array('action' => str_replace('&amp;', '&', $lien_formulaire->getURL())));
// Appel du modele
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$html = $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE, $GLOBALS['_BAZAR_']['langue'],$GLOBALS['_BAZAR_']['categorie_nature']);
if (!PEAR::isError($html)) {
$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('insertion',$formtemplate), $html);
} else {
$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
}
}
//------------------------------------------------------------------------------------------------
//CAS DE LA MODIFICATION D'UNE ANNONCE (FORMULAIRE DE MODIFICATION)
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_MODIFIER) {
$res=baz_afficher_formulaire_annonce('modification',$formtemplate);
}
// Nettoyage de l'url avant les return : apparement inutile sinon pose pb (url applette deconnexion et moteur de recherche) [jpm le 17 mars 2008]
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
//$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
//------------------------------------------------------------------------------------------------
//CAS DE L'INSCRIPTION D'UNE ANNONCE
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_NOUVEAU_V) {
if ($formtemplate->validate()) {
$formtemplate->process('baz_insertion', false) ;
// Redirection vers mes_fiches pour eviter la revalidation du formulaire
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
exit();
}
}
//------------------------------------------------------------------------------------------------
//CAS DE LA MODIFICATION D'UNE ANNONCE (VALIDATION ET MAJ)
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_MODIFIER_V) {
if ($formtemplate->validate()) {
$formtemplate->process('baz_mise_a_jour', false) ;
// Redirection vers mes_fiches pour eviter la revalidation du formulaire
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
exit();
}
}
} else {
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
}
 
return $res;
}
 
/** baz_afficher_formulaire_annonce() - Genere le formulaire de saisie d'une annonce
*
* @param string type de formulaire: insertion ou modification
* @param mixed objet quickform du formulaire
*
* @return string code HTML avec formulaire
*/
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
if ($mode=='modification') {
//initialisation de la variable globale id_fiche
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
//suppression eventuelle d'une url, d'un fichier ou d'une image
if (isset($_GET['id_url'])) {
baz_suppression_url($_GET['id_url']);
}
if (isset($_GET['id_fichier'])) {
baz_suppression_fichier($_GET['id_fichier']);
}
if (isset($_GET['image'])) {
baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
}
}
$res = '';
//titre de la rubrique
if (!BAZ_UTILISE_TEMPLATE) $res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.'&nbsp;'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2><br />'."\n";
if (($GLOBALS['_BAZAR_']['condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
$conditions= new HTML_QuickForm_html('<tr><td colspan="2" style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$GLOBALS['_BAZAR_']['condition'].'</td>'."\n".'</tr>'."\n");
$formtemplate->addElement($conditions);
$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
}
//affichage du formulaire si conditions acceptees
else {
//Parcours du fichier de templates, pour mettre les valeurs des champs
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
if ($mode=='modification') {
//Ajout des valeurs par defaut
$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
for ($i=0; $i<count($tableau); $i++) {
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
}
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb'
|| $tableau[$i]['type']=='listedatefin' || $tableau[$i]['type']=='champs_cache'
|| $tableau[$i]['type']=='labelhtml' ) {
$def=$tableau[$i]['nom_bdd'];
} elseif ($tableau[$i]['type']=='carte_google') {
$def = 'carte_google';
$valeurs_par_defaut[$def] = array ('latitude' => $valeurs_par_defaut['bf_latitude'], 'longitude' => $valeurs_par_defaut['bf_longitude']);
}
// certain type n ont pas de valeur par defaut (labelhtml par exemple)
// on teste l existence de $valeur_par_defaut[$def] avant de le passer en parametre
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
$tableau[$i]['limite2'],
isset ($valeurs_par_defaut[$def]) ? $valeurs_par_defaut[$def] : '',
$tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
if ($tableau[$i]['type']=='carte_google') {
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
}
}
}
else {
for ($i=0; $i<count($tableau); $i++) {
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
if ($tableau[$i]['type'] == 'carte_google') {
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
}
}
}
$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
// Bouton d annulation
$attr = $formtemplate->getAttributes();
$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]);
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_VOIR_VOS_ANNONCES);
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', BAZ_ANNULER,
preg_replace ("/&amp;/", "&", $lien_formulaire->getURL()), BAZ_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL
// qui remplacent deux fois les & par des &amp;
//Bouton de validation du formulaire // ce qui fait échouer le lien
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
$formtemplate->addGroup($buttons, null, null, '&nbsp;');
}
 
//Affichage a l'ecran
$res .= $formtemplate->toHTML()."\n";
return $res;
}
 
 
/** requete_bazar_fiche() - preparer la requete d'insertion ou de MAJ de la table bazar_fiche a partir du template
*
* @global mixed L'objet contenant les valeurs issues de la saisie du formulaire
* @return void
*/
function requete_bazar_fiche($valeur) {
$requete=NULL;
//l'annonce est directement publiée pour les admins
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if ($utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) ||
$utilisateur->isSuperAdmin()) {
$requete.='bf_statut_fiche=1, ';
}
else {
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
}
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<count($tableau); $i++) {
//cas des checkbox et des listes
if ($tableau[$i]['type']=='checkbox' || $tableau[$i]['type']=='liste') {
//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste
$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requetesuppression) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if (isset($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']]) && ($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']]!=0)) {
//on insere les nouvelles valeurs
$requeteinsertion='INSERT INTO bazar_fiche_valeur_liste (bfvl_ce_fiche, bfvl_ce_liste, bfvl_valeur) VALUES ';
//pour les checkbox, les différentes valeurs sont dans un tableau
if (is_array($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
$nb=0;
while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
if ($nb>0) $requeteinsertion .= ', ';
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$cle.') ';
$nb++;
}
}
//pour les listes, une insertion de la valeur suffit
else {
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
}
//cas des fichiers
elseif ($tableau[$i]['type']=='fichier') {
if (isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='') {
baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
}
}
//cas des urls
// On affine les criteres pour l insertion d une url
// il faut que le lien soit saisie, different de http:// ET que le texte du lien soit saisie aussi
// et ce afin d eviter d avoir des liens vides
elseif ($tableau[$i]['type']=='url') {
if (isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) &&
$valeur['url_lien'.$tableau[$i]['nom_bdd']]!='http://'
&& isset($valeur['url_texte'.$tableau[$i]['nom_bdd']]) &&
strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) {
baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
}
}
//cas des images
elseif ($tableau[$i]['type']=='image') {
if (isset($_FILES['image']['name']) && $_FILES['image']['name']!='') {
$requete .= baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']);
}
}
//cas des dates
elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
// On construit la date selon le format YYYY-mm-dd
$date = $valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
// si la date de fin evenement est anterieure a la date de debut, on met la date de debut
// pour eviter les incoherence
if ($tableau[$i]['nom_bdd'] == 'bf_date_fin_evenement' &&
mktime(0,0,0, $valeur['bf_date_debut_evenement']['m'], $valeur['bf_date_debut_evenement']['d'], $valeur['bf_date_debut_evenement']['Y']) >
mktime(0,0,0, $valeur['bf_date_fin_evenement']['m'], $valeur['bf_date_fin_evenement']['d'], $valeur['bf_date_fin_evenement']['Y'])) {
$val = $valeur['bf_date_debut_evenement']['Y'].'-'.$valeur['bf_date_debut_evenement']['m'].'-'.$valeur['bf_date_debut_evenement']['d'] ;
} else {
$val = $valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
}
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
}
//cas des champs texte
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='champs_cache' || $tableau[$i]['type']=='champs_mail' ) {
//on mets les slashes pour les saisies dans les champs texte et textearea
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]) ;
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
}
//cas des wikinis
elseif ( $tableau[$i]['type']=='wikini' && $_REQUEST[BAZ_VARIABLE_ACTION]==BAZ_ACTION_NOUVEAU_V ) {
//on appelle les pages des apis et de l'integrateur wikini
include_once PAP_CHEMIN_RACINE.'api/sql/SQL_manipulation.fonct.php';
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/configuration/adwi_configuration.inc.php' ;
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php' ;
//génération du titre du wiki, sous la forme id-titre du projet
$titre=baz_titre_wiki($valeur["bf_titre"]);
//création du wiki
$valeur=array ("action"=> "nouveau_v", "code_alpha_wikini"=>$titre, "page"=>"AccueiL", "bdd_hote"=> "",
"bdd_nom"=> "", "bdd_utilisateur"=> "", "bdd_mdp" => "", "table_prefix"=> "", "chemin" => "wikini/".$titre, "valider"=> "Valider");
$val = insertion($valeur, $GLOBALS['_BAZAR_']['db']);
}
// Cas de la carte google
elseif ($tableau[$i]['type'] == 'carte_google') {
$requete .= 'bf_latitude="'.$valeur['latitude'].'", bf_longitude="'.$valeur['longitude'].'",';
}
}
$requete.=' bf_date_maj_fiche=NOW()';
return $requete;
}
 
/** baz_insertion() - inserer une nouvelle fiche
*
* @array Le tableau des valeurs a inserer
* @integer Valeur de l'identifiant de la fiche
* @return void
*/
function baz_insertion($valeur) {
// =========== Insertion d'une nouvelle fiche ===================
//requete d'insertion dans bazar_fiche
$GLOBALS['_BAZAR_']['id_fiche'] = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].','.
'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
'bf_date_creation_fiche=NOW(),';
if (!isset($_REQUEST['bf_date_debut_validite_fiche'])) {
$requete .= 'bf_date_debut_validite_fiche=now(), bf_date_fin_validite_fiche="0000-00-00", ' ;
}
$requete .=requete_bazar_fiche(&$valeur) ;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
// Envoie d un mail aux administrateurs
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if ($utilisateur->isRedacteur($GLOBALS['_BAZAR_']['id_typeannonce'])) {
$mails = bazar::getMailAdmin($GLOBALS['_BAZAR_']['id_typeannonce']);
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$template = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$sujet = $template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_SUJET, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']);
$corps = $template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_CORPS, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']);
if (is_array ($mails)) {
foreach ($mails as $mail) {
mail ($mail, $sujet, $corps);
}
}
}
 
return ;
}
 
 
/** baz_insertion_url() - inserer un lien URL a une fiche
*
* @global string L'url du lien
* @global string Le texte du lien
* @global integer L'identifiant de la fiche
* @return void
*/
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
//requete d'insertion dans bazar_url
if (!isset($_SESSION['_BAZAR_']['lien'])) {
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return $resultat->getMessage().$resultat->getDebugInfo() ;
}
$_SESSION['_BAZAR_']['lien'] = 1;
return;
}
}
 
 
/** baz_insertion_fichier() - inserer un fichier a une fiche
*
* @global string Le label du fichier
* @global string La description du fichier
* @global integer L'identifiant de la fiche
* @return void
*/
function baz_insertion_fichier($fichier_description, $idfiche, $nom_fichier='fichier_joint') {
//verification de la presence de ce fichier
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if (!isset ($_SESSION['_BAZAR_']['fichier'])) {
if ($resultat->numRows()==0) {
$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES[$nom_fichier]['name'];
move_uploaded_file($_FILES[$nom_fichier]['tmp_name'], $chemin_destination);
chmod ($chemin_destination, 0755);
}
$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche.
', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return $resultat->getMessage().$resultat->getDebugInfo() ;
}
}
$_SESSION['_BAZAR_']['fichier'] = 1;
return;
}
 
 
/** baz_insertion_image() - inserer une image a une fiche
*
* @global integer L'identifiant de la fiche
* @return string requete SQL
*/
function baz_insertion_image($idfiche) {
//verification de la presence de ce fichier
$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'" AND bf_id_fiche!='.$idfiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if ($resultat->numRows()==0) {
$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES['image']['name'];
move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
chmod ($chemin_destination, 0755);
}
$_SESSION['_BAZAR_']['image'] = 1;
return 'bf_url_image="'.$_FILES['image']['name'].'", ' ;
}
 
 
/** baz_mise_a_jour() - Mettre a jour une fiche
*
* @global Le contenu du formulaire de saisie de l'annonce
* @return void
*/
function baz_mise_a_jour($valeur) {
//MAJ de bazar_fiche
$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
return;
}
 
 
/** baz_suppression() - Supprime une fiche
*
* @global L'identifiant de la fiche a supprimer
* @return void
*/
function baz_suppression() {
if ($GLOBALS['AUTH']->getAuth()) {
$valeurs=baz_valeurs_fiche($_GET['id_fiche']);
//suppression des wikinis associes
//génération du titre du wiki, sous la forme id-titre du projet
$titre=baz_titre_wiki($valeurs["bf_titre"]);
$requete = 'SELECT gewi_id_wikini FROM gen_wikini WHERE gewi_code_alpha_wikini = "'.$titre.'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if ($resultat->numRows()>0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$id_wikini=$ligne['gewi_id_wikini'];
}
include_once PAP_CHEMIN_RACINE.'api/sql/SQL_manipulation.fonct.php';
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/configuration/adwi_configuration.inc.php' ;
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php' ;
adwi_supprimer_wikini($id_wikini, $GLOBALS['_BAZAR_']['db']);
}
// suppression des valeurs des listes et des cases à cocher
$requete = 'DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
//suppression des urls associes
$requete = 'delete FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
}
//suppression des fichiers associes
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
baz_suppression_fichier($ligne['bfj_id_fichier']);
}
//suppression dans bazar_fiche
$requete = 'DELETE FROM bazar_fiche WHERE bf_id_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
}
return ;
}
}
 
 
/** baz_suppression_url() - Supprimer un lien d'une fiche
*
* @global integer L'identifiant du lien
* @return void
*/
function baz_suppression_url($id_url) {
//suppression dans bazar_url
if ($GLOBALS['AUTH']->getAuth()) {
$requete = 'DELETE FROM bazar_url WHERE bu_id_url = '.$id_url;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
return;
}
}
 
 
/** baz_suppression_fichier() - Supprimer un fichier d'une fiche
*
* @global integer L'identifiant du fichier
* @return void
*/
function baz_suppression_fichier($id_fichier) {
if ($GLOBALS['AUTH']->getAuth()) {
//verification de l'utilisation du fichier joint pour une autre annonce
$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
if ($resultat->numRows()==1) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bfj_fichier']);
}
//suppression dans la table bazar_fichier
$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
return;
}
}
 
 
/** baz_suppression_image() - Supprimer une image d'une fiche
*
* @global integer L'identifiant de la fiche
* @return void
*/
function baz_suppression_image($id_fiche) {
if ($GLOBALS['AUTH']->getAuth()) {
//verification de l'utilisation de l'image pour une autre annonce
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
if ($resultat->numRows()==1) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bf_url_image']);
}
//suppression dans la table bazar_fiche
$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
return;
}
}
 
 
/** publier_fiche () - Publie ou non dans les fichiers XML la fiche bazar d'un utilisateur
*
* @global boolean Valide: oui ou non
* @return void
*/
function publier_fiche($valid) {
if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
if ($valid==0) {
$requete = 'UPDATE bazar_fiche SET bf_statut_fiche=2 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
}
else {
$requete = 'UPDATE bazar_fiche SET bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
}
// ====================Mise a jour de la table bazar_fiche====================
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
//TODO envoie mail annonceur
return;
}
 
 
/** baz_s_inscrire() affiche le formulaire qui permet de s'inscrire pour recevoir des annonces d'un type
*
* @return string le code HTML
*/
function baz_s_inscrire() {
$res= '<h2>'.BAZ_S_INSCRIRE_AUX_ANNONCES.'</h2>'."\n";
$res .= '<p id="laius_abonnement">'.BAZ_LAIUS_S_ABONNER.'</p>'."\n";
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre '.
'FROM bazar_nature WHERE 1';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
// Nettoyage de l url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
$table = new HTML_Table(array ('class' => 'table_bazar'));
$table->addRow(array(BAZ_TYPE_ANNONCES, BAZ_RSS));
$table->setRowType(0, 'th');
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$lien_RSS=$GLOBALS['_BAZAR_']['url'];
$lien_RSS->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FLUX_RSS);
$lien_RSS->addQueryString('annonce', $ligne[bn_id_nature]);
if (isset($ligne['bn_image_titre'])) {$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n";}
else {$titre='<strong>&nbsp;'.$ligne['bn_label_nature'].'</strong>'."\n";}
 
$table->addRow(array($titre,
'<a href="'.$lien_RSS->getURL().'"><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>'));
$lien_RSS->removeQueryString('annonce');
}
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
$table->updateColAttributes(0, array('class' => 'col1'));
$table->updateColAttributes(1, array('class' => 'col2'));
$res.=$table->toHTML() ;
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce');
return $res;
}
 
 
/** baz_valeurs_fiche() - Renvoie un tableau avec les valeurs par defaut du formulaire d'inscription
*
* @param integer Identifiant de la fiche
*
* @return array Valeurs enregistrees pour cette fiche
*/
function baz_valeurs_fiche($idfiche) {
$requete = 'SELECT * FROM bazar_fiche WHERE bf_id_fiche='.$idfiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$valeurs_fiche = array() ;
$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<count($tableau); $i++) {
if ($tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
$requete = 'SELECT bfvl_valeur FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$idfiche.
' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$nb=0;$val='';
while ($result = $resultat->fetchRow()) {
if ($nb>0) $val .= ', ';
$val .= $result[0];
$nb++;
}
$valeurs_fiche[$tableau[$i]['type'].$tableau[$i]['nom_bdd']] = $val;
}
elseif ($tableau[$i]['type']=='champs_cache' || $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin') {
$valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]);
} elseif ($tableau[$i]['type']=='carte_google') {
$valeurs_fiche['bf_latitude'] = $ligne['bf_latitude'];
$valeurs_fiche['bf_longitude'] = $ligne['bf_longitude'];
}
}
return $valeurs_fiche;
}
 
/** function baz_nextId () Renvoie le prochain identifiant numerique libre d'une table
*
* @param string Nom de la table
* @param string Nom du champs identifiant
* @param mixed Objet DB de PEAR pour la connexion a la base de donnees
*
* return integer Le prochain numero d'identifiant disponible
*/
function baz_nextId($table, $colonne_identifiant, $bdd) {
$requete = 'SELECT MAX('.$colonne_identifiant.') AS maxi FROM '.$table;
$resultat = $bdd->query($requete) ;
if (DB::isError($resultat)) {
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $bdd->raiseError($resultat) ;
}
if ($resultat->numRows() > 1) {
return $bdd->raiseError('<br />La table '.$table.' a un identifiant non unique<br />') ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
return $ligne->maxi + 1 ;
}
 
/** function baz_titre_wiki () Renvoie la chaine de caractere sous une forme compatible avec wikini
*
* @param string mot à transformer (enlever accents, espaces)
*
* return string mot transformé
*/
function baz_titre_wiki($nom) {
$titre=trim($nom);
for ($j = 0; $j < strlen ($titre); $j++) {
if (!preg_match ('/[a-zA-Z0-9]/', $titre[$j])) {
$titre[$j] = '_' ;
}
}
return $titre;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: bazar.fonct.php,v $
* Revision 1.74.2.10 2008-02-01 17:20:18 florian
* suppression du lien annuler pour la sélection des fiches, pas de valeur par défaut pour la sélection, et sélectionner un type de fiche devient obligatoire.
*
* Revision 1.74.2.9 2008-02-01 16:23:29 florian
* ajout champs_mail, décommenter les traductions des javascripts
*
* Revision 1.74.2.8 2008-02-01 09:56:56 alexandre_tb
* reglage du pb de double saisie de fiche,
* ajout d un exit apres le header location
*
* Revision 1.74.2.7 2008-01-29 14:35:22 alexandre_tb
* suppression de l identification pour l abonnement au fluxRSS
*
* Revision 1.74.2.6 2008-01-29 09:55:07 alexandre_tb
* suppression de l identification pour l abonnement au fluxRSS
*
* Revision 1.74.2.5 2008-01-29 09:35:36 alexandre_tb
* remplacement des variables action par une constante
* Utilisation d un redirection pour eviter que les formulaires soient valides 2 fois
* simplification de la suppression d un lien associe a une liste
*
* Revision 1.74.2.4 2008-01-11 14:10:12 alexandre_tb
* Remplacement de la variable action ecrite en dur par la constante BAZ_VARIABLE_ACTION
*
* Revision 1.74.2.3 2007-12-14 09:55:05 alexandre_tb
* suppression de style dans le formulaire
*
* Revision 1.74.2.2 2007-12-06 15:36:07 alexandre_tb
* appel de la fonction GEN_AttributsBody dans le composant carte_google
*
* Revision 1.74.2.1 2007-12-04 09:00:08 alexandre_tb
* corrections importantes sur baz_s_inscrire, simplification de l'application qui ne fonctionnait pas.
*
* Revision 1.74 2007-10-25 09:41:31 alexandre_tb
* mise en place de variable de session pour eviter que les formulaires soit valider 2 fois, pour les url, fichiers et image
*
* Revision 1.73 2007-10-24 13:27:00 alexandre_tb
* bug : double saisie d url
* suppression de warning sur variable
*
* Revision 1.72 2007-10-22 10:09:21 florian
* correction template
*
* Revision 1.71 2007-10-22 09:18:39 alexandre_tb
* prise en compte de la langue dans les requetes sur bazar_nature
*
* Revision 1.70 2007-10-10 13:26:36 alexandre_tb
* utilisation de la classe Administrateur_bazar a la place de niveau_droit
* suppression de fonction niveau_droit
*
* Revision 1.69 2007-09-18 07:39:42 alexandre_tb
* correction d un bug lors d une insertion
*
* Revision 1.68 2007-08-27 12:31:31 alexandre_tb
* mise en place de modele
*
* Revision 1.67 2007-07-04 10:01:30 alexandre_tb
* mise en place de divers templates :
* - mail pour admin (sujet et corps)
* - modele carte_google
* ajout de lignes dans bazar_template
*
* Revision 1.66 2007-06-25 12:15:06 alexandre_tb
* merge from narmer
*
* Revision 1.65 2007-06-25 08:31:17 alexandre_tb
* utilisation de la bibliotheque generale api/formulaire/formulaire.fonct.inc.php a la place de bazar.fonct.formulaire.php
*
* Revision 1.64 2007-06-04 15:25:39 alexandre_tb
* ajout de la carto google
*
* Revision 1.63 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* Revision 1.57.2.12 2007/03/16 14:49:24 alexandre_tb
* si la date de debut d evenement est superieure a la date de fin alors on met
* la meme date dans les deux champs (coherence)
*
* Revision 1.57.2.11 2007/03/07 17:40:57 jp_milcent
* Ajout d'id sur les colonnes et gestion par les CSS des styles du tableau des abonnements.
*
* Revision 1.57.2.10 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage systématique des URLs.
*
* Revision 1.57.2.9 2007/03/06 16:23:24 jp_milcent
* Nettoyage de l'url pour la gestion des droits.
*
* Revision 1.57.2.8 2007/03/05 14:33:44 jp_milcent
* Suppression de l'appel à Mes_Fiches dans la fonction baz_formulaire
*
* Revision 1.57.2.7 2007/03/05 10:28:03 alexandre_tb
* correction d un commentaire
*
* Revision 1.57.2.6 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.57.2.5 2007/02/12 16:16:31 alexandre_tb
* suppression du style clear:both dans les attribut du formulaire d identification
*
* Revision 1.57.2.4 2007/02/01 16:19:30 alexandre_tb
* correction erreur de requete sur insertion bazar_fiche
*
* Revision 1.57.2.3 2007/02/01 16:11:05 alexandre_tb
* correction erreur de requete sur insertion bazar_fiche
*
* Revision 1.57.2.2 2007/01/22 16:05:39 alexandre_tb
* insertion de la date du jour dans bf_date_debut_validite_fiche quand il n'y a pas ce champs dans le formulaire (évite le 0000-00-00)
*
* Revision 1.57.2.1 2006/12/13 13:23:03 alexandre_tb
* Remplacement de l appel d une constante par un appel direct. -> warning
*
* Revision 1.58 2006/12/13 13:20:16 alexandre_tb
* Remplacement de l appel d une constante par un appel direct. -> warning
*
* Revision 1.57 2006/10/05 08:53:50 florian
* amelioration moteur de recherche, correction de bugs
*
* Revision 1.56 2006/09/28 15:41:36 alexandre_tb
* Le formulaire pour se logguer dans l'action saisir reste sur l'action saisir après
*
* Revision 1.55 2006/09/21 14:19:39 florian
* amélioration des fonctions liés au wikini
*
* Revision 1.54 2006/09/14 15:11:23 alexandre_tb
* suppression temporaire de la gestion des wikinis
*
* Revision 1.53 2006/07/25 13:24:44 florian
* correction bug image
*
* Revision 1.52 2006/07/25 13:05:00 alexandre_tb
* Remplacement d un die par un echo
*
* Revision 1.51 2006/07/18 14:17:32 alexandre_tb
* Ajout d'un formulaire d identification
*
* Revision 1.50 2006/06/21 08:37:59 alexandre_tb
* Correction de bug, d'un appel constant (....) qui ne fonctionnais plus.
*
* Revision 1.49 2006/06/02 09:29:07 florian
* debut d'integration de wikini
*
* Revision 1.48 2006/05/19 13:54:11 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
* Revision 1.47 2006/04/28 12:46:14 florian
* integration des liens vers annuaire
*
* Revision 1.46 2006/03/29 13:04:35 alexandre_tb
* utilisation de la classe Administrateur_bazar
*
* Revision 1.45 2006/03/24 09:28:02 alexandre_tb
* utilisation de la variable globale $GLOBALS['_BAZAR_']['categorie_nature']
*
* Revision 1.44 2006/03/14 17:10:21 florian
* ajout des fonctions de syndication, changement du moteur de recherche
*
* Revision 1.43 2006/03/02 20:36:52 florian
* les entrees du formulaire de saisir ne sont plus dans les constantes mias dans des tables qui gerent le multilinguisme.
*
* Revision 1.42 2006/03/01 16:23:22 florian
* modifs textes fr et correction bug "undefined index"
*
* Revision 1.41 2006/03/01 16:05:51 florian
* ajout des fichiers joints
*
* Revision 1.40 2006/02/06 09:33:00 alexandre_tb
* correction de bug
*
* Revision 1.39 2006/01/30 17:25:38 alexandre_tb
* correction de bugs
*
* Revision 1.38 2006/01/30 10:27:04 florian
* - ajout des entrées de formulaire fichier, url, et image
* - correction bug d'affichage du mode de saisie
*
* Revision 1.37 2006/01/24 14:11:11 alexandre_tb
* correction de bug sur l'ajout d'une image et d'un fichier
*
* Revision 1.36 2006/01/19 17:42:11 florian
* ajout des cases à cocher pré-cochées pour les maj
*
* Revision 1.35 2006/01/18 11:06:51 florian
* correction erreur saisie date
*
* Revision 1.34 2006/01/18 10:53:28 florian
* corrections bugs affichage fiche
*
* Revision 1.33 2006/01/18 10:07:34 florian
* recodage de l'insertion et de la maj des données relatives aux listes et checkbox dans des formulaires
*
* Revision 1.32 2006/01/18 10:03:36 florian
* recodage de l'insertion et de la maj des données relatives aux listes et checkbox dans des formulaires
*
* Revision 1.31 2006/01/17 10:07:08 alexandre_tb
* en cours
*
* Revision 1.30 2006/01/16 09:42:57 alexandre_tb
* en cours
*
* Revision 1.29 2006/01/13 14:12:51 florian
* utilisation des temlates dans la table bazar_nature
*
* Revision 1.28 2006/01/05 16:28:24 alexandre_tb
* prise en chage des checkbox, reste la mise à jour à gérer
*
* Revision 1.27 2006/01/04 15:30:56 alexandre_tb
* mise en forme du code
*
* Revision 1.26 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.25 2005/12/20 14:49:35 ddelon
* Fusion Head vers Livraison
*
* Revision 1.24 2005/12/16 15:44:40 alexandre_tb
* ajout de l'option restreindre dépôt
*
* Revision 1.23 2005/12/01 17:03:34 florian
* changement des chemins pour appli Pear
*
* Revision 1.22 2005/12/01 16:05:41 florian
* changement des chemins pour appli Pear
*
* Revision 1.21 2005/12/01 15:31:30 florian
* correction bug modifs et saisies
*
* Revision 1.20 2005/11/30 13:58:45 florian
* ajouts graphisme (logos, boutons), changement structure SQL bazar_fiche
*
* Revision 1.19 2005/11/24 16:17:13 florian
* corrections bugs, ajout des cases à cocher
*
* Revision 1.18 2005/11/18 16:03:23 florian
* correction bug html entites
*
* Revision 1.17 2005/11/17 18:48:02 florian
* corrections bugs + amélioration de l'application d'inscription
*
* Revision 1.16 2005/11/07 17:30:36 florian
* ajout controle sur les listes pour la saisie
*
* Revision 1.15 2005/11/07 17:05:45 florian
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
*
* Revision 1.14 2005/11/07 08:48:02 florian
* correction pb guillemets pour saisie et modif de fiche
*
* Revision 1.13 2005/10/21 16:15:04 florian
* mise a jour appropriation
*
* Revision 1.11 2005/10/12 17:20:33 ddelon
* Reorganisation calendrier + applette
*
* Revision 1.10 2005/10/12 15:14:06 florian
* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources
*
* Revision 1.9 2005/10/10 16:22:52 alexandre_tb
* Correction de bug. Lorsqu'on revient en arrière après avoir validé un formulaire.
*
* Revision 1.8 2005/09/30 13:50:07 alexandre_tb
* correction bug date parution ressource
*
* Revision 1.7 2005/09/30 13:15:58 ddelon
* compatibilit� php5
*
* Revision 1.6 2005/09/30 13:00:05 ddelon
* Fiche bazar generique
*
* Revision 1.5 2005/09/30 12:22:54 florian
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.3 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* 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.10 2004/07/08 17:25:25 florian
* ajout commentaires + petits debuggages
*
* Revision 1.8 2004/07/07 14:30:19 florian
* d�buggage RSS
*
* Revision 1.7 2004/07/06 16:22:01 florian
* d�buggage modification + MAJ flux RSS
*
* Revision 1.6 2004/07/06 09:28:26 florian
* changement interface de modification
*
* Revision 1.5 2004/07/05 15:10:23 florian
* changement interface de saisie
*
* Revision 1.4 2004/07/02 14:51:14 florian
* ajouts divers pour faire fonctionner l'insertion de fiches
*
* Revision 1.3 2004/07/01 16:37:42 florian
* ajout de fonctions pour les templates
*
* Revision 1.2 2004/07/01 13:00:13 florian
* modif Florian
*
* Revision 1.1 2004/06/23 09:58:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 09:00:37 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
/tags/2014-08-05_centre/client/bazar/langues/baz_langue_fr.inc.php
New file
0,0 → 1,677
<?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: baz_langue_fr.inc.php,v 1.61.2.4 2008-02-08 08:19:32 alexandre_tb Exp $
/**
* Fichier de traduction en fran�ais de l'application Bazar
*
*@package bazar
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.61.2.4 $ $Date: 2008-02-08 08:19:32 $
// +------------------------------------------------------------------------------------------------------+
*/
 
if (file_exists(BAZ_CHEMIN_APPLI.'langues/baz_langue_fr.local.php')) {
include_once BAZ_CHEMIN_APPLI.'langues/baz_langue_fr.local.php' ;
}
 
define ('BAZ_TITREAPPLI','Gestionnaire de fiches (Bazar) ');
define ('BAZ_DESCRIPTIONAPPLI','D&eacute;couvrez Bazar, une application de gestion de fiches class&eacute;es, consultables en ligne ou par flux RSS, grandement personnalisable.');
define ('BAZ_MOTS_CLES','Bazar, fiches, flux, rss, nouveaut&eacute;, information, gestionnaire, xml, syndication, info, application, php, dynamique, mise, aacute; , jour ');
if (!defined ('BAZ_TOUTES_LES_ANNONCES')) define ('BAZ_TOUTES_LES_ANNONCES', 'Consulter les fiches');
define ('BAZ_CONSULTER_FICHES_VALIDEES', 'Consulter les fiches valid&eacute;es');
define ('BAZ_TOUTES_LES_ANNONCES_DE_TYPE', 'Consulter toutes les fiches de type:');
define ('BAZ_TOUS_TYPES_FICHES', 'Tous types de fiches');
if (!defined ('BAZ_TOUS_LES_EMETTEURS')) define ('BAZ_TOUS_LES_EMETTEURS', 'Tous les emetteurs');
define ('BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE','Pr&eacute;cisez vos critères de recherche et appuyez sur le bouton "Rechercher" pour consulter les fiches.');
define ('BAZ_MODIFIE_RSS','Modifi&eacute;: ' );
define ('BAZ_NOM', 'Nom') ;
define ('BAZ_PRENOM', 'Pr&eacute;nom') ;
define ('BAZ_TOUS', 'Tous');
define ('BAZ_TOUTES', 'Toutes');
define ('BAZ_MOT_CLE', 'Mots cl&eacute;s (facultatif)');
if (!defined ('BAZ_EMETTEUR')) define ('BAZ_EMETTEUR', '&Eacute;metteur');
define ('BAZ_NATURE', 'Nature de la fiche' );
define ('BAZ_STATUT', 'Statut' );
define ('BAZ_DATE_CREATION', 'Date de cr&eacute;ation' );
define ('BAZ_DATE_MAJ', 'Date de mise &agrave; jour' );
define ('BAZ_URL_IMAGE', 'Image' );
define ('BAZ_LANGUES_PARLES', 'Langues parl&eacute;s :') ;
define ('BAZ_EMAIL', 'E-mail :') ;
define ('BAZ_MOT_DE_PASSE', 'Mot de passe') ;
define ('BAZ_TITREANNONCE', 'Titre de la fiche') ;
if (!defined ('BAZ_TYPEANNONCE')) define ('BAZ_TYPEANNONCE', 'Type de fiche') ;
define ('BAZ_ANNONCEUR', 'Annonceur') ;
define ('BAZ_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe :') ;
define ('BAZ_OUI', 'Oui') ;
define ('BAZ_NON', 'Non') ;
define ('BAZ_ANNULER', 'Annuler') ;
define ('BAZ_RETOUR', 'Retour') ;
define ('BAZ_RETABLIR', 'R&eacute;tablir') ;
define ('BAZ_VALIDER', 'Valider') ;
define ('BAZ_PUBLIER', 'Valider la publication') ;
define ('BAZ_ETATPUBLICATION', 'Etat de publication') ;
define ('BAZ_ENCOURSDEVALIDATION', 'En attente de validation');
define ('BAZ_REJETEE', 'Rejet&eacute;e');
define ('BAZ_PUBLIEE', 'Publi&eacute;e') ;
define ('BAZ_PAS_DE_FICHE', '<br />Vous n\'avez pas encore d&eacute;pos&eacute; de fiches.') ;
define ('BAZ_PAS_DE_FICHE_A_VALIDER', 'Pas de fiche &agrave; valider pour l\'instant.');
define ('BAZ_VOS_ANNONCES', 'Vos fiches d&eacute;pos&eacute;es') ;
define ('BAZ_ANNONCES_A_ADMINISTRER', 'Les fiches &agrave; valider') ;
define ('BAZ_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('BAZ_EMAIL_REQUIS', 'Vous devez saisir un email.') ;
define ('BAZ_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('BAZ_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('BAZ_MAIL_DOUBLE', 'Cet email est d&eacute;j&agrave utilis&eacute; par quelqu\'un d\'autre') ;
define ('BAZ_NOTE_REQUIS', 'Indique les champs requis') ;
define ('BAZ_ERREUR_SAISIE', 'Erreur de saisie ') ;
define ('BAZ_VEUILLEZ_CORRIGER', 'Veuillez corriger') ;
define ('BAZ_MODIFIER', 'Modifier') ;
define ('BAZ_MODIFIER_LA_FICHE', 'Modifier la fiche') ;
define ('BAZ_SUPPRIMER', 'Supprimer') ;
define ('BAZ_SELECTION', '--S&eacute;lectionnez ici--');
define ('BAZ_DROITS_PAR_TYPE', 'Droits par type de fiches:');
define ('BAZ_TITRE_SAISIE_ANNONCE', 'Entrer une fiche de type: ');
define ('BAZ_ACCUEIL','Accueil');
define ('BAZ_SORTIRDELAPPLI','Quittez l\'application Bazar');
define ('BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE', 'Saisir une fiche') ;
define ('BAZ_CHOIX_TYPEANNONCE', 'Choisissez le type de fiche que vous souhaitez d&eacute;poser:') ;
if (!defined('BAZ_GESTION_DES_DROITS')) define ('BAZ_GESTION_DES_DROITS', 'Gestion des droits');
define ('BAZ_DESCRIPTION_GESTION_DES_DROITS', 'Veuillez choisir un utilisateur dans la liste d&eacute;roulante ci-dessous pour administrer ses droits.');
define ('BAZ_LABEL_CHOIX_PERSONNE', 'Choix de la personne dans l\'annuaire: ');
define ('BAZ_CONFIRMATION_SUPPRESSION', 'Etes-vous s&ucirc;r de vouloir supprimer cette fiche ?') ;
define ('BAZ_NON_VALIDE', 'Non valide') ;
define ('BAZ_VALIDE', 'Valide') ;
define ('BAZ_VALIDER_LA_FICHE', 'Valider la fiche') ;
define ('BAZ_PRECEDENT', 'Pr&eacute;c&eacute;dent') ;
define ('BAZ_SUIVANT', 'Suivant') ;
define ('BAZ_PAS_DE_FICHE_CRIT', 'Pas de fiche correspondant &agrave; vos crit&egrave;res.') ;
define ('BAZ_TEXTE_IMG_ALTERNATIF', 'Image de la fiche');
define ('BAZ_NUM_FICHE', 'Num&eacute;ro de fiche');
define ('BAZ_ADMIN_ANNONCES', 'Modifier les types de fiches');
define ('BAZ_RECHERCHER_DES_ANNONCES', 'Rechercher des fiches');
define ('BAZ_RECHERCHE_AVANCEE', 'Recherche avanc&eacute;e >>');
define ('BAZ_RECHERCHE_DE_BASE','<< Recherche simple');
define ('BAZ_DESCRIPTION_RECHERCHE', 'En pr&eacute;cisant, ci dessus, le type de fiche cherch&eacute;, vous pourrez obtenir des fonctions de recherche avanc&eacute;.');
define ('BAZ_PAS_D_ANNONCES', 'Aucune actualit&eacute; pour l\'instant');
if (!defined ('BAZ_S_INSCRIRE_AUX_ANNONCES')) define ('BAZ_S_INSCRIRE_AUX_ANNONCES', 'S\'abonner &agrave; un type de fiche');
define ('BAZ_ABONNE', 'Abonn&eacute;');
define ('BAZ_PAS_ABONNE', 'Pas abonn&eacute;');
define ('BAZ_S_ABONNER', 'S\'abonner');
if (!defined ('BAZ_LAIUS_S_ABONNER')) define ('BAZ_LAIUS_S_ABONNER', 'Il y a deux mani&egrave;res de s\'abonner:<br />- soit en s\'abonnant pour recevoir les fiches par mails<br />- soit par flux RSS');
define ('BAZ_SE_DESABONNER', 'Se d&eacute;sabonner');
define ('BAZ_RSS', 'Flux RSS');
define ('BAZ_DERNIERE_ACTU', 'Derni&egrave;res actualit&eacute;s');
if (!defined ('BAZ_DERNIERES_FICHES')) define ('BAZ_DERNIERES_FICHES', 'Les derni&egrave;res fiches enregistr&eacute;es');
define ('BAZ_A_MODERER',' &agrave; mod&eacute;rer');
define ('BAZ_CONSULTER','Consulter');
define ('BAZ_SAISIR','Saisir');
define ('BAZ_ADMINISTRER','Administrer');
define ('BAZ_FICHE_ECRITE','Fiche &eacute;crite par : ');
define ('BAZ_NB_VUS','Cette fiche a &eacute;t&eacute; consult&eacute;e ');
define ('BAZ_FOIS', ' fois depuis sa cr&eacute;ation.');
define ('BAZ_LES_COMMENTAIRES', 'Les commentaires sur cette fiche');
define ('BAZ_PAS_DE_COMMENTAIRES', 'Pas de commentaires post&eacute;s pour l\'instant, identifiez vous pour poster le premier !');
define ('BAZ_IL_Y_A', 'Il y a ');
define ('BAZ_COMMENTAIRE', 'commentaire : ');
define ('BAZ_COMMENTAIRES', 'commentaires : ');
define ('BAZ_COMMENTAIRE_AUTH', 'Identifiez vous pour ajouter le votre !');
define ('BAZ_ENTREZ_VOTRE_NOM', 'Entrez votre nom : ');
define ('BAZ_ENTREZ_VOTRE_COMMENTAIRE', 'Entrez votre commentaire : ');
define ('BAZ_ENVOYER','Envoyer');
define ('BAZ_NOM_REQUIS', 'Le champs nom ne doit pas rester vide');
define ('BAZ_COMMENTAIRE_REQUIS', 'Le champs commentaire ne doit pas rester vide');
define ('BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE', 'Les structures possédant cette ressource');
define ('BAZ_FICHES_PAS_VALIDEES','Seulement les fiches pas valid&eacute;es');
define ('BAZ_FICHES_VALIDEES','Seulement les fiches valid&eacute;es');
define ('BAZ_LES_DEUX','Fiches valid&eacute;es et non valid&eacute;es');
define ('BAZ_VOIR_VOS_ANNONCES', 'Mes fiches');
define ('BAZ_RECHERCHER','Rechercher');
define ('BAZ_SAISIR_UNE_NOUVELLE_FICHE','Saisir une nouvelle fiche');
define ('BAZ_POUR_CHANGER_IMAGE','Pour changer d\'image, il suffit d\'en saisir une autre ci dessous.');
define ('BAZ_CONFIRMATION_SUPPRESSION_LIEN', 'Etes-vous s&ucirc;r de vouloir supprimer ce lien ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_FICHIER', 'Etes-vous s&ucirc;r de vouloir supprimer ce fichier ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_IMAGE', 'Etes-vous s&ucirc;r de vouloir supprimer cette image ?') ;
define ('BAZ_VALIDER_PUBLICATION', 'Valider la publication');
define ('BAZ_ENTRER_PROJET', 'ENTRER SUR L\'ESPACE DU PROJET');
define ('BAZ_GOOGLE_MSG', '<br />Si l\'&eacute;v&egrave;nement est bien situ&eacute; vous pouvez valider la fiche<br />');
define ('BAZ_SUPPRIMER_LA_FICHE', 'Supprimer la fiche');
define ('BAZ_INVALIDER_LA_FICHE', 'Invalider la fiche');
define ('BAZ_TOUTES_LES_FICHES', 'Toutes les fiches');
 
define ('BAZ_LATITUDE', 'Latitude');
define ('BAZ_LONGITUDE', 'Longitude');
define ('BAZ_VERIFIER_MON_ADRESSE', 'V&eacute;rifier mon adresse avec la carte');
 
 
//================Textes pour les libellés======================================
define ('BAZ_ANNONCES','annonces');
define ('BAZ_PUBLICATIONS','publications');
define ('BAZ_EVENEMENTS','&eacute;v&egrave;nements');
define ('BAZ_FORMATIONS','formations');
define ('BAZ_SEJOURS','s&eacute;jours');
define ('BAZ_EMPLOIS','emplois');
define ('BAZ_RESS_HUMAINES','Ressources humaines');
define ('BAZ_RESS_DOCS','Ressources documentaires');
define ('BAZ_RESS_PHYSIQUES','Ressources physiques');
define ('BAZ_RESS_FINANCIERES','Ressources financi&egrave;res');
define ('BAZ_JEUX','jeux');
define ('BAZ_PETITES_ANNONCES','petites annonces');
define ('BAZ_BREVES','br&egrave;ves');
define('BAZ_COMPTES_RENDUS','comptes rendus');
define ('BAZ_REALISATION','r&eacute;alisation');
define ('BAZ_PERSONNES_EXPERTES','personnes expertes');
define ('BAZ_THEMATIQUE','th&eacute;matique');
define ('BAZ_THEMATIQUE_REQUIS','la thematique est requise');
define ('BAZ_SITE_INTERNET','site internet');
define ('BAZ_ADRESSE_CONTACT','Adresse du contact');
define ('BAZ_MAIL_CONTACT','Mail du contact');
define ('BAZ_MAIL_CONTACT_REQUIS','Le mail du contact est requis');
 
//================Textes pour les formations====================================
define ('BAZ_TITRE_FORMATION','Intitul&eacute; de la formation');
define ('BAZ_TITRE_FORMATION_REQUIS','L\'intitul&eacute; de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_MODULE','Si plusieurs modules de formation');
define ('BAZ_NUMERO_MODULE','Num&eacute;ro de module');
define ('BAZ_NB_TOTAL_MODULE','Nombre total de modules');
define ('BAZ_TYPE_FORMATION','Type de la formation');
define ('BAZ_TYPE_FORMATION_REQUIS','Le type de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_DIPLOMANTE','Si la formation est diplomante');
define ('BAZ_DIPLOME_PREPARE', 'Dipl&ograve;me pr&eacute;par&eacute;');
define ('BAZ_NIVEAU', 'Niveau');
define ('BAZ_SI_QUALIFIANTE', 'Si la formation est qualifiante');
define ('BAZ_QUALIF_PREPAREE', 'Qualification pr&eacute;par&eacute;e');
define ('BAZ_OBJECTIFS', 'Objectifs');
define ('BAZ_OBJECTIFS_REQUIS', 'Entrer les objectifs est obligatoire, veuillez les saisir');
define ('BAZ_CONTENU', 'Contenu');
define ('BAZ_PUBLIC', 'Publics');
define ('BAZ_PUBLIC_REQUIS', 'Publics');
define ('BAZ_CONDITIONS_ACCES', 'Conditions d\'acc&egrave;s');
define ('BAZ_DATE_DEBUT_FORMATION', 'Date de d&eacute;but de la formation');
define ('BAZ_DATE_FIN_FORMATION', 'Date de fin de la formation');
define ('BAZ_DATE_FIN_INSCRIPTION', 'Date limite d\'inscription');
define ('BAZ_CP_LIEU_EVENEMENT', 'Code postal du lieu de l\'&eacute;v&eacute;nement');
define ('BAZ_TARIF_INDIVIDUEL', 'Tarif individuel (en euros)');
define ('BAZ_TARIF_ENTREPRISE', 'Tarif entreprise (en euros)');
define ('BAZ_TARIF_OPCA', 'Tarif OPCA (en euros)');
define ('BAZ_NUM_AGREMENT', 'Num&eacute;ro d\'agr&eacute;ement de la structure');
define ('BAZ_NUM_AGREMENT_REQUIS', 'Le num&eacute;ro d\'agr&eacute;ement de la structure est obligatoire, veuillez le saisir');
define ('BAZ_ANNONCE_REQUIS','Le corps de l\'annonce est requis');
define ('BAZ_PRENOM_CONTACT', 'Pr&eacute;nom');
define ('BAZ_PRENOM_CONTACT_REQUIS', 'Le pr&eacute;nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_NOM_CONTACT', 'Nom');
define ('BAZ_NOM_CONTACT_REQUIS', 'Le nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_MAIL', 'Adresse &eacute;lectronique');
define ('BAZ_TELEPHONE', 'T&eacute;l&eacute;phone');
define ('BAZ_TELEPHONE_REQUIS', 'Le t&eacute;l&eacute;phone du contact est obligatoire, veuillez le saisir');
define ('BAZ_INTERVENANTS', 'Les intervenants');
define ('BAZ_INFOS_COMPLEMENTAIRE', 'Informations compl&eacute;mentaires');
define ('BAZ_COORDONNEES_CONTACT', 'Coordonn&eacute;es de la personne contact<br />');
define ('BAZ_DUREE_DE_PARUTION', '<strong>Dur&eacute;e de parution:</strong> la date de d&eacute;but de parution indique le moment ou la fiche devient visible sur le site, et la date de fin de parution, le moment o&ugrave; elle disparait.<br />');
define ('BAZ_LIGNE_HORIZONTALE', '<hr />');
define ('BAZ_CHAMPS_REQUIS', ': champs requis');
define ('BAZ_PAR', 'par');
define ('BAZ_CHAMPS_INDISPENSABLES_CLASSES', 'Champs indispensables pour les classes<br />');
define ('BAZ_ECRIT_LE',', &eacute;crit le ');
define ('BAZ_FICHES_CORRESPONDANTES', 'fiches correspondantes &agrave; votre recherche') ;
define ('BAZ_FICHE_CORRESPONDANTE', 'fiche correspondante à votre recherche') ;
 
//================Le formulaire ================================================
define ('BAZ_AJOUTER_CHAMPS_DE_BASE', 'Ajouter les informations de base pour la fiche');
define ('BAZ_PAYS', 'Pays');
define ('BAZ_PAYS_REQUIS', 'Le champs pays est requis!');
define ('BAZ_ORGANISME', 'Organisme');
define ('BAZ_CONTACT', 'Contact');
define ('BAZ_REGION', 'R&eacute;gion');
define ('BAZ_REGION_REQUIS', 'Le champs r&eacute;gion est requis!');
define ('BAZ_DEPARTEMENT', 'D&eacute;partement') ;
define ('BAZ_DEPARTEMENT_REQUIS', 'Le champs d&eacute;partement est requis!');
define ('BAZ_LICENCE', 'Type de licence') ;
define ('BAZ_LICENCE_REQUIS', 'Le type de licence est requis!') ;
define ('BAZ_TITRE', 'Titre') ;
define ('BAZ_TITRE_REQUIS', 'Un titre de fiche est requis!') ;
define ('BAZ_DESCRIPTION', 'Description') ;
define ('BAZ_DESCRIPTION_REQUIS', 'Une description de la fiche est requise!!') ;
define ('BAZ_DATEDEBVALID', 'D&eacute;but de parution' );
define ('BAZ_DATEDEBVALID_REQUIS', 'La date de d&eacute;but de parution est requise!!') ;
define ('BAZ_DATEFINVALID', 'Fin de parution' );
define ('BAZ_DATEFINVALID_REQUIS', 'La date de fin de parution est requise!!') ;
define ('BAZ_DU', 'du') ;
define ('BAZ_AU', 'au') ;
define ('BAZ_LE', 'Le') ;
define ('BAZ_DATE_DEBUT_EVENEMENT', 'D&eacute;but de l\'&eacute;venement' );
define ('BAZ_DATE_DEBUT_EVENEMENT_REQUIS', 'La date de d&eacute;but de l\'&eacute;venement est requise!!') ;
define ('BAZ_DATE_FIN_EVENEMENT', 'Fin de l\'&eacute;venement' );
define ('BAZ_DATE_FIN_EVENEMENT_REQUIS', 'La date de fin de l\'&eacute;venement est requise!!') ;
define ('BAZ_LIEU_EVENEMENT', 'Lieu de l\'&eacute;venement' );
define ('BAZ_LIEU_EVENEMENT_REQUIS', 'Le lieu de l\'&eacute;venement est requis!!') ;
define ('BAZ_PAS_UNE_IMAGE', 'Ce fichier n\'est pas une image.' );
define ('BAZ_AJOUTER_IMAGE', 'Pour l\'instant, pas d\'image associ&eacute;e &agrave; la fiche, vous pouvez en ajouter une ci-dessous.' );
define ('BAZ_IMAGE', 'Image pour la fiche (facultatif)' );
define ('BAZ_IMAGE_VALIDE_REQUIS', 'Le fichier image n\'est pas valide.') ;
 
//================Textes pour les parutions=====================================
define ('BAZ_CODE', 'Code ISBN ou ISSN (s\'il existe)' );
define ('BAZ_NOM_AUTEUR', 'Auteur' );
define ('BAZ_NOM_AUTEUR_REQUIS', 'L\'auteur est requis');
define ('BAZ_EDITEUR', 'Editeur');
define ('BAZ_TYPE_PARUTION', 'Type de parution');
define ('BAZ_ANNONCE','Annonce');
define ('BAZ_CAPACITE_ACCUEIL', 'Capacit&eacute; d\'accueil' );
define ('BAZ_CAPACITE_ACCUEIL_REQUIS', 'La capacit&eacute; d\'accueil est requise!!') ;
define ('BAZ_NB_ANIMATEURS', 'Nombre d\'animateurs' );
define ('BAZ_NB_ANIMATEURS_REQUIS', 'Le nombre d\'animateurs est requis!!') ;
define ('BAZ_TARIF', 'Tarif (en euros)' );
define ('BAZ_TARIF_REQUIS', 'Le tarif est requis!!') ;
define ('BAZ_LISTE_TRANCHES_AGES', 'Tranches d\'&agrave;ges' );
define ('BAZ_LISTE_TRANCHES_AGES_REQUIS', 'Les tranches d\'&agrave;ges sont requises!!') ;
define ('BAZ_LISTE_URL', 'Liens associ&eacute;s &agrave; l\'annonce: ');
define ('BAZ_PAS_URL', 'Pour l\'instant, pas de lien associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_AJOUTER_URL', 'Ajouter un lien (URL) &agrave la fiche');
define ('BAZ_LIEN', 'Lien' );
define ('BAZ_LIEN_INTERNET', 'Liens Internet' );
define ('BAZ_URL_LIEN', 'Adresse du lien (URL)' );
define ('BAZ_URL_LIEN_REQUIS', 'L\'adresse du lien (URL) est requise!!') ;
define ('BAZ_URL_TEXTE', 'Texte du lien' );
define ('BAZ_URL_TEXTE_REQUIS', 'Le texte du lien est requis!!') ;
define ('BAZ_AJOUTER_FICHIER_JOINT','Ajouter un fichier joint &agrave la fiche');
define ('BAZ_FICHIER_JOINT', 'Fichier joint' );
define ('BAZ_LISTE_FICHIERS_JOINTS', 'Fichiers associ&eacute;s &agrave; la fiche ');
define ('BAZ_PAS_DE_FICHIERS_JOINTS', 'Pour l\'instant, pas de fichier associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_FICHIER','Fichier');
define ('BAZ_FICHIER_JOINT_REQUIS', 'Le fichier joint est requis!!') ;
define ('BAZ_FICHIER_DESCRIPTION', 'Description du fichier' );
define ('BAZ_FICHIER_TEXTE_REQUIS', 'Le texte du fichier est requis!!') ;
define ('BAZ_FICHIER_LABEL', 'Label du fichier') ;
define ('BAZ_FICHIER_LABEL_REQUIS', 'Le label du fichier est requis!!') ;
define ('BAZ_FICHIER_EXISTANT', 'Il existe d&eacute;j&agrave; un fichier du même nom sur le site.<br />Votre fiche a &eacute;t&eacute; associ&eacute;e avec le fichier existant d&eacute;j&agrave;.');
define ('BAZ_ACCEPTE_CONDITIONS', 'J\'accepte les conditions de saisie de la fiche');
define ('BAZ_ACCEPTE_CONDITIONS_REQUIS', 'Vous devez accepter les conditions de saisie de la fiche');
 
//================Textes pour les emplois=======================================
define ('BAZ_INTITULE_POSTE', 'Intitul&eacute; du poste');
define ('BAZ_INTITULE_POSTE_REQUIS', 'L\'intitul&eacute; du poste est requis');
define ('BAZ_DESCRIPTION_STRUCTURE', 'Description de la structure qui embauche');
define ('BAZ_DESCRIPTION_STRUCTURE_REQUIS', 'La description de la structure qui embauche est requise');
define ('BAZ_CP_LIEU_TRAVAIL', 'Code postal du lieu de travail');
define ('BAZ_LIEU_TRAVAIL', 'Lieu de travail');
define ('BAZ_MISSIONS', 'Missions du poste');
define ('BAZ_PROFIL', 'Profil du poste');
define ('BAZ_PROFIL_REQUIS', 'Le profil du poste est requis');
define ('BAZ_NIVEAU_DIPLOME_DEMANDE', 'Niveau de diplome demand&eacute;');
define ('BAZ_ELEGIBILITE', 'Elegibilit&eacute; (CES, Emploi jeune,...)');
define ('BAZ_TYPE_CONTRAT', 'Type de contrat');
define ('BAZ_TYPE_CONTRAT_REQUIS', 'Type de contrat requis');
define ('BAZ_FORME_CANDIDATURE', 'Moyen de candidature (envois de CV par mail, lettre manucrite,...)');
define ('BAZ_INDICE_SALAIRE', 'Indice salaire');
define ('BAZ_SALAIRE_BRUT_MENSUEL', 'Salaire brut mensuel');
define ('BAZ_SALAIRE_BRUT_MENSUEL_REQUIS', 'Le salaire brut mensuel est requis');
define ('BAZ_ECHEANCE_CANDIDATURE', 'Date d\'&eacute;ch&eacute;ance de candidature');
define ('BAZ_DATE_DEBUT_EMBAUCHE', 'Date de d&eacute;but d\'embauche');
 
//================Textes pour les ressources=======================================
define ('BAZ_THEME','Th&egrave;me');
define ('BAZ_THEME_REQUIS','Le th&egrave;me est requis');
define ('BAZ_TRANCHES_AGES','Tranches d\'&acirc;ge');
define ('BAZ_TRANCHES_AGES_REQUIS','les tranches d\'&acirc; soTRUCTUREnt requises');
define ('BAZ_PERIODE', 'P&eacute;riode');
define ('BAZ_PERIODE_REQUIS', 'P&eacute;riode requise');
define ('BAZ_NIVEAU_SCOLAIRE', 'Niveau scolaire');
define ('BAZ_DATE_DEBUT_SEJOUR', 'Date de d&eacute;but du s&eacute;jour');
define ('BAZ_DATE_DEBUT_SEJOUR_REQUIS', 'Date de d&eacute;but du s&eacute;jour requise');
define ('BAZ_DATE_FIN_SEJOUR', 'Date de fin du s&eacute;jour');
define ('BAZ_DATE_FIN_SEJOUR_REQUIS', 'Date de fin du s&eacute;jour requise');
define ('BAZ_LIEU', 'Lieu');
define ('BAZ_LIEU_REQUIS', 'Lieu requis');
define ('BAZ_MILIEU_DOMINANT', 'Milieu dominant');
define ('BAZ_HEBERGEMENT', 'H&eacute;bergement');
define ('BAZ_HEBERGEMENT_REQUIS', 'H&eacute;bergement requis');
define ('BAZ_NOMBRE_PLACES', 'Nombre de places');
define ('BAZ_NOMBRE_PLACES_REQUIS', 'Nombre de places requis');
define ('BAZ_NOMBRE_ANIMS', 'Nombre d\'animateurs');
define ('BAZ_NOMBRE_ANIMS_REQUIS', 'Nombre d\'animateurs requis');
define ('BAZ_QUALIF_ANIMS', 'Qualification des animateurs');
define ('BAZ_QUALIF_ANIMS_REQUIS', 'Qualification des animateurs requise');
define ('BAZ_AGREMENTS', 'Agr&eacute;ments');
define ('BAZ_ACTIVITES_DOMINANTES', 'Activit&eacute;s dominantes (en 3 mots cl&eacute;s)');
define ('BAZ_ACTIVITES_DOMINANTES_REQUIS', 'Activit&eacute;s dominantes requises');
define ('BAZ_PRECISION_PRIX', 'Pr&eacute;cision sur le prix');
define ('BAZ_PRECISION_PRIX_REQUIS', 'Pr&eacute;cision sur le prix requise');
define ('BAZ_VOYAGE_COMPRIS', 'Voyage compris');
define ('BAZ_VOYAGE_COMPRIS_REQUIS', 'Voyage compris requis');
define ('BAZ_AIDES_POSSIBLES', 'Aides possibles');
define ('BAZ_CHOISIR', 'Choisir...');
define ('BAZ_CHOISIR_OBLIGATOIRE', 'Il faut choisir une option dans la liste ');
define ('BAZ_INDIFFERENT','Indiff&eacute;rent');
 
define ('BAZ_COORDONNEES','Coordonn&eacute;es');
define ('BAZ_ANNEE_PARUTION','Ann&eacute;e de parution');
define ('BAZ_LANGUE','Langue');
define ('BAZ_THEMES','Thèmes');
define ('BAZ_PAS_D_APPROPRIATION','Aucune structure ne s\'est appropri&eacute; cette ressource pour l\'instant.');
define ('BAZ_STRUCTURE_POSSEDANT', 'structure poss&eacute;dant cette ressource.');
define ('BAZ_STRUCTURES_POSSEDANT', 'structures poss&eacute;dant cette ressource.');
define ('BAZ_SI_POSSEDE_RESSOURCE', 'Si vous poss&egrave;dez cette ressource dans votre structure:');
define ('BAZ_POSSEDE_DEJA_RESSOURCE', 'Vous poss&egrave;dez cette ressource.');
define ('BAZ_CLIQUER_POUR_VOUS_ENLEVER', 'cliquez ici pour vous enlever de la liste.');
define ('BAZ_IL_FAUT_ETRE_STRUCTURE', 'Seules les structures identifi&eacute;es peuvent s\'approprier cette ressource.');
define ('BAZ_IL_FAUT_ETRE_IDENTIFIE_STRUCTURE', 'En vous identifiant ou ou vous inscrivant en tant que structure, vous pouvez vous associer cette ressource.');
define ('BAZ_CLIQUER_POUR_APPARAITRE', 'cliquez ici pour appaitre dans la liste.');
define ('BAZ_NON_PRECISE','Non pr&eacute;cis&eacute;');
/** Texte de présentation précendant le formulaire d'identification.*/
define ('BAZ_IDENTIFIEZ_VOUS_PRESENTATION_XHTML',
'<h2>S\'identifier et s\'inscrire</h2>
<p>Avant de saisir une fiche, il est indispensable de <a href="/page:inscrire">s\'inscrire</a>.<br />
L\'inscription est libre et gratuite !<br />
Elle vous permet de :</p>
<ul>
<li>saisir des fiches pour nous informer ;</li>
<li>saisir vos observations botaniques ;</li>
<li>consulter l\'annuaire des personnes inscrites et pouvoir ainsi échanger des informations ;</li>
<li>accéder à certaines informations diffusées sur le site ;</li>
<li>recevoir une lettre électronique d\'informations.</li>
</ul>
<p>Par la suite, il vous sera possible de modifier voir annuler votre inscription.<br />
Seuls vos prénom, nom, ville, commune et pays apparaîtrons dans l\'annuaire, les autres informations restent confidentielles
et servent à GENTIANA à vous contacter afin de valider les données botaniques ou les informations que vous donnez.</p>
<p>Si vous avez perdu votre mot de passe, veuillez cliquez sur le lien suivant : <a href="http://www.gentiana.org/page:inscrire?action=mdp_oubli">perte de mot de passe</a></p>');
define ('BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR', 'Déjà inscrit, identifiez-vous pour accéder à votre fiche personnelle.');
define ('BAZ_EST_SUPERADMINISTRATEUR', 'Cette personne est un super-administrateur.<br />Il peut modifier le droits des utilisateurs et administrer toutes les rubriques de fiches.');
define ('BAZ_CHANGER_SUPERADMINISTRATEUR', 'Changer ses droits de super-administrateur pour en faire un utilisateur sans pouvoir');
define ('BAZ_AUCUN_DROIT', 'utilisateur sans pouvoir');
define ('BAZ_LABEL_REDACTEUR', 'r&eacute;dacteur');
define ('BAZ_DROIT_ADMIN', 'administrateur');
define ('BAZ_PASSER_SUPERADMINISTRATEUR', 'Passer la personne en super administrateur');
define ('BAZ_ENLEVER_DROIT', 'Passer en utilisateur sans pouvoir');
define ('BAZ_TYPE_ANNONCES', 'Types de fiche');
define ('BAZ_DROITS_ACTUELS', 'Droits actuels');
define ('BAZ_PASSER_EN', 'Passer en');
define ('BAZ_OU_PASSER_EN', 'ou passer en');
 
 
define ('BAZ_CHECKBOX_SUPERADMIN', 'Super administrateur : ');
define ('BAZ_RADIO_AUCUN', 'aucun &nbsp;');
define ('BAZ_RADIO_REDACTEUR', 'r&eacute;dacteur &nbsp;');
define ('BAZ_RADIO_ADMINISTRATEUR', 'administrateur &nbsp;');
 
//================Textes pour les sejours==================================
define ('BAZ_TITRE_SEJOUR','Titre du s&eacute;jour');
define ('BAZ_TITRE_SEJOUR_REQUIS','Le titre du s&eacute;jour est obligatoire, veuillez le saisir');
define ('BAZ_MAX_60_CAR', '(maximum 60 caractères)');
 
// ================ Texte pour les structures =============================
define ('BAZ_FICHE_STRUCTURE', 'Fiche structure') ;
define ('BAZ_NOM_STRUCTURE', 'Nom de la structure');
define ('BAZ_NOM_STRUCTURE_REQUIS', 'Le nom de la structure est requis');
define ('BAZ_RAISON_SOCIALE', 'Raison sociale');
define ('BAZ_RAISON_SOCIALE_REQUIS', 'Raison sociale requise');
define ('BAZ_OBJET', 'Objet');
define ('BAZ_OBJET_REQUIS', 'Objet requis');
define ('BAZ_ACTIONS', 'Actions');
define ('BAZ_PRODUCTIONS', 'Productions');
define ('BAZ_RESEAUX', 'Réseaux');
define ('BAZ_ADRESSE', 'Adresse');
define ('BAZ_ADRESSE_REQUIS', 'Adresse requise');
define ('BAZ_FAX', 'Fax');
//define ('BAZ_DERNIERES_FICHES', 'Derni&egrave;res fiches enregistr&eacute;es');
define ('BAZ_FICHE_NUMERO', 'Fiches n&deg;');
define ('BAZ_ECRITE', '&nbsp;&eacute;crite par&nbsp;');
 
//================ Administration de Bazar ================================
define ('BAZ_CONFIG', 'Configuration du bazar');
define ('BAZ_ENREGISTRER_ET_QUITTER', 'Enregistrer et quitter');
 
//================ Calendrier Bazar =======================================
 
define ('BAZ_LUNDI','Lundi');
define ('BAZ_MARDI','Mardi');
define ('BAZ_MERCREDI','Mercredi');
define ('BAZ_JEUDI','Jeudi');
define ('BAZ_VENDREDI','Vendredi');
define ('BAZ_SAMEDI','Samedi');
define ('BAZ_DIMANCHE','Dimanche');
 
define ('BAZ_LUNDI_COURT','Lun');
define ('BAZ_MARDI_COURT','Mar');
define ('BAZ_MERCREDI_COURT','Mer');
define ('BAZ_JEUDI_COURT','Jeu');
define ('BAZ_VENDREDI_COURT','Ven');
define ('BAZ_SAMEDI_COURT','Sam');
define ('BAZ_DIMANCHE_COURT','Dim');
 
define ('BAZ_JANVIER','Janvier');
define ('BAZ_FEVRIER','F&eacute;vrier');
define ('BAZ_MARS','Mars');
define ('BAZ_AVRIL','Avril');
define ('BAZ_MAI','Mai');
define ('BAZ_JUIN','Juin');
define ('BAZ_JUILLET','Juillet');
define ('BAZ_AOUT','Ao&uacute;t');
define ('BAZ_SEPTEMBRE','Septembre');
define ('BAZ_OCTOBRE','Octobre');
define ('BAZ_NOVEMBRE','Novembre');
define ('BAZ_DECEMBRE','D&eacute;cembre');
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: baz_langue_fr.inc.php,v $
* Revision 1.61.2.4 2008-02-08 08:19:32 alexandre_tb
* modification d un label
*
* Revision 1.61.2.3 2008-01-29 09:39:39 alexandre_tb
* utilisation d entite
*
* Revision 1.61.2.2 2007-12-04 09:08:06 alexandre_tb
* modification de label
*
* Revision 1.61.2.1 2007-11-21 10:01:22 alexandre_tb
* encodage
*
* Revision 1.61 2007-10-10 13:27:40 alexandre_tb
* correction encodage
*
* Revision 1.60 2007-10-01 12:05:07 alexandre_tb
* orthographe
*
* Revision 1.59 2007-09-28 14:07:01 jp_milcent
* Correction pour le numéro d'une page.
*
* Revision 1.58 2007-08-28 09:41:47 alexandre_tb
* correction orthographe
*
* Revision 1.57 2007-08-27 12:29:09 alexandre_tb
* quelques constantes rendus modifiable, avec if defined ...
*
* Revision 1.56 2007-07-02 13:46:45 alexandre_tb
* nouveaux labels
*
* Revision 1.55 2007-06-25 12:15:06 alexandre_tb
* merge from narmer
*
* Revision 1.54 2007-06-25 09:57:51 alexandre_tb
* nouveaux labels
*
* Revision 1.53 2007-06-04 15:26:42 alexandre_tb
* nouveaux labels
*
* Revision 1.52 2007/04/20 12:47:42 florian
* correction bugs suite au merge
*
* Revision 1.51 2007/04/20 09:57:21 florian
* correction bugs suite au merge
*
* Revision 1.50 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* Revision 1.42.2.2 2007/03/07 17:20:47 jp_milcent
* Ajout d'une majuscule accentuée.
*
* Revision 1.42.2.1 2007/01/29 10:54:25 alexandre_tb
* Mise en place de la constante BAZ_DERNIERES_FICHES pour remplacer le label en francais dans baz_liste
*
* Revision 1.42 2006/10/05 08:53:50 florian
* amelioration moteur de recherche, correction de bugs
*
* Revision 1.41 2006/09/21 14:19:39 florian
* amélioration des fonctions liés au wikini
*
* Revision 1.40 2006/07/19 12:50:00 alexandre_tb
* Un accent
*
* Revision 1.39 2006/06/29 10:30:26 florian
* correction de BAZ_MOT_CLE
*
* Revision 1.38 2006/05/19 13:53:45 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
* Revision 1.37 2006/04/28 12:46:14 florian
* integration des liens vers annuaire
*
* Revision 1.36 2006/03/14 17:10:21 florian
* ajout des fonctions de syndication, changement du moteur de recherche
*
* Revision 1.35 2006/03/02 20:36:52 florian
* les entrees du formulaire de saisir ne sont plus dans les constantes mias dans des tables qui gerent le multilinguisme.
*
* Revision 1.34 2006/03/01 16:23:22 florian
* modifs textes fr et correction bug "undefined index"
*
* Revision 1.33 2006/03/01 16:00:17 florian
* ajout de certains mots par rapport aux formulaires de saisie de ressources
*
* Revision 1.32 2006/02/09 18:00:17 florian
* ajout des trois mots, je sais c'est peu de choses!!
*
* Revision 1.31 2006/01/18 10:53:28 florian
* corrections bugs affichage fiche
*
* Revision 1.30 2006/01/05 16:28:25 alexandre_tb
* prise en chage des checkbox, reste la mise à jour à gérer
*
* Revision 1.29 2006/01/04 15:31:46 alexandre_tb
* ajout de label
*
* Revision 1.28 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.27 2006/01/02 13:24:23 alexandre_tb
* ajout de label
*
* Revision 1.26 2005/11/30 13:58:45 florian
* ajouts graphisme (logos, boutons), changement structure SQL bazar_fiche
*
* Revision 1.25 2005/11/24 16:17:13 florian
* corrections bugs, ajout des cases à cocher
*
* Revision 1.24 2005/11/08 16:09:26 florian
* modifs séjours
*
* Revision 1.23 2005/11/08 16:06:41 florian
* modifs séjours
*
* Revision 1.22 2005/11/07 17:30:36 florian
* ajout controle sur les listes pour la saisie
*
* Revision 1.21 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.20 2005/11/04 17:13:49 florian
* ajout des textes et du formulaire pour les annonces
*
* Revision 1.19 2005/10/31 17:10:56 ddelon
* Reintegration des commits mysterieusement disparus
*
* Revision 1.18 2005/10/24 09:42:21 florian
* mise a jour appropriation
*
* Revision 1.17 2005/10/21 16:15:04 florian
* mise a jour appropriation
*
* Revision 1.13 2005/10/13 14:43:42 florian
* corrections pb accents
*
* Revision 1.12 2005/10/12 16:28:37 florian
* corrections fautes orthographes
*
* Revision 1.11 2005/10/12 16:27:22 florian
* ajout textes des Ressources
*
* Revision 1.10 2005/10/12 16:17:37 florian
* corrections pb accents
*
* Revision 1.9 2005/10/12 16:12:34 florian
* corrections pb accents
*
* Revision 1.8 2005/10/12 15:31:43 florian
* corrections pb accents
*
* Revision 1.7 2005/10/10 16:22:06 alexandre_tb
* Modification de label pour les rendre plus générique
*
* Revision 1.6 2005/09/30 23:04:31 ddelon
* calendrier bazar
*
* Revision 1.5 2005/09/30 12:22:54 florian
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.3 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* 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.6 2004/07/06 16:21:50 florian
* d&eacute;buggage modification + MAJ flux RSS
*
* Revision 1.5 2004/07/05 15:13:53 florian
* changement interface de saisie
*
* Revision 1.4 2004/07/02 14:51:41 florian
* ajouts de labels divers
*
* Revision 1.3 2004/07/01 16:37:14 florian
* ajout de labels
*
* Revision 1.2 2004/07/01 13:00:24 florian
* modif Florian
*
* Revision 1.1 2004/06/23 09:58:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 09:00:46 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/2014-08-05_centre/client/inscription/configuration/ins_config.inc.php
New file
0,0 → 1,149
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Fichier de configuration de l'inscription
*
* A éditer de façon spécifique à chaque déploiement
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id: ins_config.inc.php,v 1.3 2005/05/13 13:49:15 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'] ;
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
$GLOBALS['ins_url'] =& $GLOBALS['_GEN_commun']['url'] ;
$GLOBALS['ins_db'] =& $GLOBALS['_GEN_commun']['pear_db'] ;
define('INS_CHEMIN_FICHIER', 'client/inscription/') ;
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
define('INS_ANNUAIRE', 'annuaire') ;
define ('INS_CHAMPS_ID', 'a_id') ;
define ('INS_CHAMPS_MAIL', 'a_mail');// Nom du champs mail
define ('INS_CHAMPS_LOGIN', 'a_nom_wikini') ;
define ('INS_CHAMPS_NOM', 'a_nom') ;
define ('INS_CHAMPS_PRENOM', 'a_prenom') ;
define ('INS_CHAMPS_PASSE', 'a_mot_de_passe') ;
define ('INS_CHAMPS_PAYS', 'a_ce_pays') ;
define ('PROJET_PRENOM', 'a_prenom') ; // Nom du champs prénom
define ('PROJET_DPT', 'carto_DEPARTEMENT') ; // Nom de la table département
define ('INS_TABLE_PAYS', 'carto_PAYS') ; // Nom de la table pays
define ('INS_CHAMPS_ID_PAYS', 'CP_ID_Pays') ;
define ('INS_CHAMPS_LABEL_PAYS', 'CP_Intitule_pays') ;
define ('INS_CHAMPS_PAYS_LG', 'CP_Langue_intitule') ;// Langue de l'intitule du pays
define ('INS_CHAMPS_CODE_POSTAL', 'a_code_postal') ;
define ('INS_CHAMPS_VILLE', 'a_ville') ;
define ('INS_CHAMPS_ADRESSE_1', 'a_adresse1') ;
define ('INS_CHAMPS_ADRESSE_2', 'a_adresse2') ;
define ('INS_CHAMPS_REGION', 'a_region') ;
define ('INS_CHAMPS_DPT', 'a_numero_dpt') ;
define ('INS_CHAMPS_SITE_WEB', 'a_site_internet') ;
define ('INS_CHAMPS_TELEPHONE', 'a_telephone') ;
define ('INS_CHAMPS_FAX', 'a_fax') ;
define ('INS_CHAMPS_STRUCTURE', 'a_structure') ;
define ('INS_CHAMPS_DATE', 'a_date_inscription') ;
define ('INS_CHAMPS_LETTRE', 'a_lettre') ; // Le champs qui indique si l'usager est inscrit à la lettre d'inscription
 
/**
//==================================== PARAMETRAGE =================================
* Pour régler certaines fonctionnalité de l'application
//==================================================================================
*/
// Indique le type de cryptage du mot de passe à appliquer (doit être identique à PEAR_AUTH)
define ('INS_MDP_CRYPTYPE', 'md5');// Choix : md5 seulement
 
define ('INS_MAIL_ADMIN_APRES_INSCRIPTION', 'Association Gentiana <gentiana@gentiana.org>') ;
define ('INS_MAIL_ADMIN_APRES_INSCRIPTION_SUJET', '[Gentiana] Inscription') ;
 
define ('INS_UTILISE_LISTE', false);// Mettre à false si pas de liste d'actu
define ('INS_MAIL_INSCRIPTION_LISTE', 'actu-subscribe@tela-botanica.org') ;
define ('INS_MAIL_DESINSCRIPTION_LISTE', 'actu-unsubscribe@tela-botanica.org') ;
 
// Liste des personne recevant le mail après inscription
$GLOBALS['mail_admin'] = array ('Pierre SALEN <p.salen@gentiana.org>', 'Jean-Pascal MILCENT <jpm@tela-botanica.org>') ;
 
/**
//==================================== PARAMETRAGE =================================
* Pour gérer la réécriture d'url de l'inscription
* Cela nécessite une ligne dans le fichier .htaccess, par exemple
* RewriteRule ^ins([0-9a-z]*)$ papyrus.php?menu=22&id=$1 [L]
* Cela sert à racourcir l'URL de confirmation d'inscription
//==================================================================================
*/
define ('INS_UTILISE_REECRITURE_URL', 1) ; // mettre à 1 si on souhaite utiliser la réécriture
if (INS_UTILISE_REECRITURE_URL) {
define ('INS_URL_PREFIXE', '_ins_') ; // Indique le préfixe de l'url http://www.mondomaine.org/prefix____
}
 
define ('INS_UTILISE_STAT', false);
define ('INS_TABLE_STATISTIQUE', 'ins_STATS') ;
define ('INS_STATS_CHAMPS_DATE', 'IS_DATE') ;
define ('INS_STATS_CHAMPS_ACTION', 'IS_ACTION') ;
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: ins_config.inc.php,v $
* Revision 1.3 2005/05/13 13:49:15 alex
* ajout de la réécriture d'url et des statistiques
*
* Revision 1.2 2005/03/21 16:50:31 alex
* mille et une corrction
*
* Revision 1.1 2005/03/04 10:39:41 tam
* installation
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.4 2004/07/06 15:31:33 alex
* en cours
*
* Revision 1.3 2004/06/30 10:00:53 alex
* ajout de champs pour gérer les pays
*
* Revision 1.2 2004/06/18 09:20:54 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/inscription/inscription.php
New file
0,0 → 1,268
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à un site web.
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id: inscription.php,v 1.3 2005/03/21 16:50:21 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
include_once PAP_CHEMIN_API_PEAR.'Mail.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/password.php' ;
/** Constante "dynamique" stockant la langue demandée par l'utilisateur pour l'application.*/
define('INS_LANGUE', substr($GLOBALS['_GEN_commun']['i18n'], 0, 2));
$fichier_lg = 'client/inscription/langues/ins_langue_'.INS_LANGUE.'.inc.php';
if (file_exists($fichier_lg)) {
include_once $fichier_lg;
include_once 'client/inscription/langues/ins_langue_'.INS_LANGUE.'.inc.php';
} else {
include_once 'client/inscription/langues/ins_langue_fr.inc.php' ;
}
include_once 'client/inscription/configuration/ins_config.inc.php';
include_once 'client/inscription/bibliotheque/inscription.fonct.php';
include_once INS_CHEMIN_FICHIER.'bibliotheque/inscription.class.php';
 
// Ajout d'une feuille de style externe
GEN_stockerStyleExterne ('inscription', 'client/inscription/inscription.css') ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function afficherContenuTete() {
$retour = '<h1 class="titre1_inscription">Inscription à Gentiana</h1>';
return ;
}
 
// ================ Note =======================
// La variable action sert à définir ce qui est demandé (inscription, modification d'inscription, suppression ...
// Elle est appelé avec $_REQUEST car elle peut aussi bien venir d'un formulaire que d'un lien.
// ==============================================
 
 
/**
*
* @global AUTH Un pointeur vers un objet PEAR::Auth
* @global ins_url Un pointeur vers un objet PEAR::Net_URL
* @return string Le contenu de l'application inscription
*/
function afficherContenuCorps() {
 
$url = preg_replace ("/&amp;/", "&", $GLOBALS['ins_url']->getURL()) ;
// Attibution de l'action par défaut à effectuer.
if (!isset ($_REQUEST['action'])) {
$_REQUEST['action'] = 'inscription';
}
$res = '' ;
$est_loggue = true ;
// ... tentative de déconnection
if (isset ($_GET['logout']) && $_GET['logout'] == 1) {
$GLOBALS['AUTH']->logout() ;
$_POST['username'] = '' ;
$_POST['password'] = '' ;
//return AUTH_formulaire_login() ;
}
// ...supprimer l'inscription
if (isset ($_POST['supprimer'])) {
$mail_utilisateur = $GLOBALS['AUTH']->getUsername();
$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
$bool_inscription_lettre = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LETTRE);
$resultat = $GLOBALS['AUTH']->removeUser($mail_utilisateur) ;
 
if (PEAR::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
// Désinscription de la lettre d'info
if (INS_UTILISE_LISTE) {
if ($bool_inscription_lettre == 1) {
inscription_lettre(INS_MAIL_DESINSCRIPTION_LISTE) ;
}
}
$GLOBALS['AUTH']->logout() ;
// Ajout d'une ligne dans les statistiques
if (INS_UTILISE_STAT) {
$requete = 'INSERT INTO '.INS_TABLE_STATISTIQUE.' SET '.INS_STATS_CHAMPS_DATE.'=NOW(), '.INS_STATS_CHAMPS_ACTION.'="del"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
}
}
//return AUTH_formulaire_login() ;
}
 
// ... envoie de mot de passe
if ($_REQUEST['action'] == 'sendpasswd') {
envoie_passe();
}
// ...oublie de mot de passe
if (preg_match('/^(?:mdp_oubli|sendpasswd)$/', $_REQUEST['action'])) {
return message_erreur(false);
}
// ...inscription dans la base si l'utilisateur clique sur le lien du mail
if ($_GET['action'] == 'ajouter' && isset($_GET['id']) && !$GLOBALS['AUTH']->getAuth()) {
$requete = 'SELECT id_donnees FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return INS_MESSAGE_EXPIRATION;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
$donnees = unserialize (stripslashes($ligne->id_donnees)) ;
trigger_error(print_r($donnees, true), E_USER_WARNING);
// Ajout des données dans la base
insertion($donnees);
// On loggue l'utilisateur
$GLOBALS['AUTH']->username = $donnees['email'] ;
$GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
$GLOBALS['AUTH']->login() ;
// Inscription à la lettre d'information
if (INS_UTILISE_LISTE) {
if (isset ($donnees['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
// On supprime la demande d'inscription
$requete = 'DELETE FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
// On envoi les mails d'information sur la nouvelle inscription.
envoie_mail() ;
}
 
// ... affichage d'une erreur en cas de pb
if (!$GLOBALS['AUTH']->getAuth() && $_REQUEST['action'] != 'inscription' && $_REQUEST['action'] != 'inscription_v') {
if (isset($_POST['username']) && $_POST['username'] != '') {
$res .= message_erreur();
}
}
 
// ... la personne est identifiée nous affichons ses informations
if ($GLOBALS['AUTH']->getAuth () && !isset($_POST['modifier']) && $_REQUEST['action'] != 'modifier_v') {
return info().bouton($url);
}
// ...tentative d'inscription ou Inscription structure
if (preg_match('/^(?:inscription|inscription_v|modifier_v)$/', $_REQUEST['action']) || isset($_POST['modifier'])) {
$action = preg_replace ("/&amp;/", "&", $GLOBALS['ins_url']->getURL()) ;
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', $action) ;
// Construction de la liste des pays
$liste_pays = new ListeDePays($GLOBALS['ins_db']) ;
 
if (isset($_POST['structure'])) {
$formulaire->formulaireStructure() ;
}
 
if (!isset($_POST['modifier'])) {
$GLOBALS['ins_url']->addQueryString('action', 'mdp_oubli');
$url_oubli = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
$GLOBALS['ins_url']->removeQueryString('action');
$res .= '<h1 class="titre1_inscription">'.INS_ACCUEIL_INSCRIPTION.'</h1>';
$res .= '<h2 class="titre2_inscription">'.INS_LAIUS_INSCRIPTION.'</h2>'."\n" ;
$res .= '<p>'.INS_LAIUS_INSCRIPTION_2.'</p>'."\n" ;
$res .= '<p>'.INS_TEXTE_PERDU.' <a href="'.$url_oubli.'">'.INS_MDP_PERDU_OUBLI.'</a></p>'."\n" ;
} else {
$formulaire->mode_ajout = false;
$res .= '<h1 class="titre1_inscription">'.INS_ACCUEIL_INSCRIPTION.'</h1>';
}
 
$formulaire->construitFormulaire($action, $liste_pays->getListePays('fr')) ;
if (isset($_POST['modifier'])) {
$formulaire->addElement ('hidden', 'action', 'modifier_v') ;
$formulaire->setDefaults(formulaire_defaults()) ;
if (INS_UTILISE_LISTE) {
if ($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LETTRE) == 1) {
$lettre = & $formulaire->getElement('lettre') ;
$lettre->setChecked(true) ;
}
}
} else if ($_REQUEST['action'] == 'inscription') {
$formulaire->addElement ('hidden', 'action', 'inscription_v') ;
$formulaire->setDefaults (array ('pays' => 'fr', 'asso' => 3, 'activite' => 3, 'niveau' => 4, 'lettre' => 1)) ;
if (INS_UTILISE_LISTE) {
$lettre = & $formulaire->getElement('lettre') ;
$lettre->setChecked(true) ;
}
} else if ($_REQUEST['action'] == 'inscription_v') {
if ($formulaire->validate()) {
$formulaire->process('demande_inscription', false) ;
return message_inscription() ;
}
} else if ($_REQUEST['action'] == 'modifier_v') {
if ($formulaire->validate()) {
if (INS_UTILISE_LISTE) {
$valeur_lettre = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_LETTRE) ;
}
$formulaire->process('mise_a_jour', false) ;
}
if (INS_UTILISE_LISTE) {
if (isset($_POST['lettre'])) {
if ($valeur_lettre == '') {
inscription_lettre (INS_MAIL_INSCRIPTION_LISTE) ;
}
} else {
if ($valeur_lettre == 1) {
inscription_lettre (INS_MAIL_DESINSCRIPTION_LISTE) ;
}
}
}
return info($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)).bouton($url);
}
return $res.$formulaire->toHTML() ;
}
return $res ;
}
 
function afficherContenuPied () {
$sortie = '<p id="ins_pied_page">'.INS_PIED_INFO.
'<a href="mailto:'.INS_PIED_MAIL.'">'.INS_PIED_MAIL.'</a>.'.
'</p>';
return $sortie;
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/inscription/inscription.css
New file
0,0 → 1,57
/* Feuille de style inscription*/
 
/* Pied de page */
#ins_pied_page {
color:#A9A9A9;
font-size:10px;
padding-top:10px;
text-align:center;}
 
/* Presentation de la fiche des inscrits */
dt {
float:left;
width:10em;
text-align:right;
font-weight:bold;
padding-right : 10px;}
.inscription_titre2 {
clear:both;
color:#996F18;;}
 
/* Presentation du formulaire d'inscription */
#formulaire_inscription fieldset {
border: 0;
margin: 0;
margin-top:10px;
padding: 0;}
#formulaire_inscription legend {
line-height:1.3em;
margin:8px 0 4px 0;
font-size:15px;
color: #996F18;
font-weight:bold;}
#formulaire_inscription ul {
list-style:none;
margin:0;
padding:0;}
#formulaire_inscription li {
font-weight:bold;
margin:5px 0px;
clear:both;}
.symbole_obligatoire {
color:#F00;
font-size:14pt;}
.liste_inscription .inscription_label {
float:left;
width:10em;
text-align:right;
padding-right:10px;}
.liste_inscription select {
margin-top:5px;}
.groupe_formulaire .inscription_label1 {
float:left;
width:10em;
text-align:right;
padding-right:10px;}
.inscription_label2 {
margin-left:10px;}
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/inscription/bibliotheque/inscription.class.php
New file
0,0 → 1,340
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Fonctions du module inscription
*
* Fonctions du module inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id: inscription.class.php,v 1.3 2005/05/13 13:48:38 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
class HTML_formulaireInscription extends HTML_Quickform {
var $mode_ajout = true;
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_forumlaireInscription ( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$modele_element_debut = '<li class="groupe_formulaire">'."\n".'<span class="inscription_label1">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
''."\n" ;
$modele_element_fin = "\n".'<span class="inscription_label2">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n" ;
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'<span class="inscription_label">{label}<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required --></span>'.
"\n".'{element}'."\n".''."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
//$squelette->setElementTemplate(, ) ;
// Les modèles pour les champs qui se tienne 2 par ligne
foreach (array('mot_de_passe', 'nom', 'cp') as $valeur) $squelette->setElementTemplate( $modele_element_debut, $valeur);
foreach (array('password_repete', 'prenom', 'ville') as $valeur) $squelette->setElementTemplate( $modele_element_fin, $valeur);
$squelette->setElementTemplate( '<ul><li class="groupe_bouton">{element}', 'annuler');
$squelette->setElementTemplate( '{element}</li></ul>', 'valider');
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.(($this->mode_ajout) ? INS_AJOUT_MEMBRE : INS_MODIF_MEMBRE).'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('text', 'email', INS_EMAIL) ;
$this->addRule ('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule ('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->registerRule('doublon', 'callback', 'verif_doublonMail') ;
$this->addRule ('email', INS_MAIL_DOUBLE, 'doublon', true) ;
$this->addElement('password', 'mot_de_passe', INS_MOT_DE_PASSE);
$this->addElement('password', 'password_repete', INS_REPETE_MOT_DE_PASSE);
$this->addRule ('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule ('password_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
 
$this->addElement('text', 'nom', INS_NOM);
$this->addElement('text', 'prenom', INS_PRENOM);
$this->addRule ('nom', INS_NOM_REQUIS, 'required', '', 'client') ;
$this->addRule ('prenom', INS_PRENOM_REQUIS, 'required', '', 'client') ;
$this->addElement ('text', 'adresse_1', INS_ADRESSE_1) ;
$this->addElement ('text', 'adresse_2', INS_ADRESSE_2) ;
$this->addElement ('text', 'region', INS_REGION) ;
$this->addElement('text', 'cp', INS_CODE_POSTAL) ;
$this->addElement('text', 'ville', INS_VILLE) ;
$this->addRule ('cp', INS_CODE_POSTAL_REQUIS, 'required', '', 'client') ;
$this->addRule ('ville', INS_VILLE_REQUIS, 'required', '', 'client') ;
// L'élément pays est construit à partir de la table des pays
$s =& $this->createElement('select','pays',INS_PAYS);
$s->loadArray($liste_pays,'fr');
$this->addElement($s);
if (INS_UTILISE_LISTE) {
$element_lettre = &new HTML_QuickForm_checkbox ('lettre', '', INS_LETTRE) ;
$this->addElement($element_lettre) ;
}
$this->addElement ('text', 'site', INS_SITE_INTERNET) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
/* $fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ADHERENT.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
 
$this->addElement ('text', 'organisme', INS_ORGANISME) ;
$this->addElement ('text', 'fonction', INS_FONCTION) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ETES_BOTANISTE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_NIV" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'niveau', '', $ligne->LABEL_NIV, $ligne->ID_LABEL_NIV) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
// L'activité professionnelle
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_ACTIVITE_PROFESSIONNELLE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
 
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_ACT" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'activite', '', $ligne->LABEL_ACT, $ligne->ID_LABEL_ACT) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
// L'activité professionnelle
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_MEMBRE_ASSO.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
// requete pour trouver les niveaux en botanique
$requete = "select * from annuaire_LABEL_ASS" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$this->addElement ('radio', 'asso', '', $ligne->LABEL_ASS, $ligne->ID_LABEL_ASS) ;
}
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
// Les spécialité
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_SPECIALISTE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('textarea', 'specialite', '', array ('cols' => 50, 'rows' => 4)) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
// Les spécialité géographiques
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_SPE_ZONE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('textarea', 'specialite_geo', '', array ('cols' => 50, 'rows' => 4)) ;
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);*/
if (!$this->mode_ajout) {
$this->addElement ('link', 'annuler', '', preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()), INS_ANNULER) ;
}
$this->addElement ('submit', 'valider', INS_VALIDER) ;
$this->setRequiredNote(INS_NOTE_REQUIS) ;
}
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement ('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore ($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore ($nom_structure, 'email') ;
$this->removeElement ('site', false) ;
$site_structure = & HTML_QuickForm::createElement ('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore ($site_structure, 'pays') ;
$this->addElement ('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement ('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore ($sigle_structure, 'nom') ;
$this->addRule ('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays (&$objetDB) {
$this->_db = $objetDB ;
$requete = 'SHOW TABLES';
$resultat = $objetDB->query($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == INS_TABLE_PAYS) {
return ;
}
}
return $this->raiseError('La table '.INS_TABLE_PAYS.' n\'est pas présente dans la base de donnée !') ;
}
/** Renvoie la liste des pays traduite
*
* @param string une chaine de type i18n ou une chaine code iso langue (fr_FR ou fr ou FR)
* @return un tableau contenant en clé, le code iso du pays, en majuscule et en valeur le nom du pays traduit
*/
function getListePays ($i18n) {
if (strlen($i18n) == 2) {
$i18n = strtolower($i18n).'-'.strtoupper($i18n) ;
}
$requete = 'SELECT '.INS_CHAMPS_ID_PAYS.', '.INS_CHAMPS_LABEL_PAYS.' '.
'FROM '.INS_TABLE_PAYS.' '.
'WHERE '.INS_CHAMPS_PAYS_LG.' = "fr" '.
'ORDER BY '.INS_CHAMPS_LABEL_PAYS.' ';
$resultat = $this->_db->query($requete);
if (DB::isError($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$retour[$ligne[INS_CHAMPS_ID_PAYS]] = $ligne[INS_CHAMPS_LABEL_PAYS];
}
return $retour;
}
}
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
* Revision 1.1 2004/06/18 09:20:47 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
/tags/2014-08-05_centre/client/inscription/bibliotheque/inscription.fonct.php
New file
0,0 → 1,656
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Fonctions du module inscription
*
* Fonctions du module inscription
*
*@package inscription
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id: inscription.fonct.php,v 1.2 2005/03/21 16:50:27 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
function demande_inscription ($valeurs) {
// On stocke les informations dans un variable de session
// On coupe l'identifiant de session pour ne prendre que les 8 premiers caractères
// afin d'éviter d'obtenir une url trop longue
$chaine = substr (session_id(), 0, 8) ;
$requete_verif = 'SELECT * FROM inscription_demande WHERE id_identifiant_session="'.$chaine.'"' ;
$resultat_verif = $GLOBALS['ins_db']->query($requete_verif) ;
if ($resultat_verif->numRows() != 0) {
$requete_suppression = 'DELETE FROM inscription_demande WHERE id_identifiant_session="'.$chaine.'"' ;
$GLOBALS['ins_db']->query($requete_suppression) ;
}
$requete = 'INSERT INTO inscription_demande SET id_identifiant_session="'.$chaine.'", id_donnees="'.
addslashes(serialize($valeurs)).'", id_date=NOW()' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError ($resultat)) {
echo ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
// On envoie un email de confirmation pour l'utilisateur
$GLOBALS['ins_url']->addQueryString('id', $chaine) ;
$corps = INS_MESSAGE_DEBUT_MAIL_INSCRIPTION ;
if (INS_UTILISE_REECRITURE_URL) {
$corps .= 'http://'.$GLOBALS['ins_url']->host.'/'.INS_URL_PREFIXE.$chaine ;
} else {
$corps .= str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()) ;
}
$corps .= INS_MESSAGE_FIN_MAIL_INSCRIPTION ;
mail ($GLOBALS['email'], 'Inscription', $corps, 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
}
 
function AUTH_formulaire_login ($msg = '') {
$res = '';
//--------------------------------------------------------------------------
// Les urls
$url_deja_inscrit = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
$GLOBALS['ins_url']->addQueryString('action', 'inscription');
$url_inscription = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
$GLOBALS['ins_url']->removeQueryString('action');
//--------------------------------------------------------------------------
// Le formulaire
$form = new HTML_QuickForm ('inscription', 'post', $url_inscription);
$form->addElement ('submit', 'Inscription', INS_INSCRIPTION) ;
$res = '<h1 class="titre1_inscription">'.INS_ACCUEIL_INSCRIPTION.'</h1>';
$res .= $msg ;
$res .= '<h2 class="titre2_inscription">'.INS_LAIUS_INSCRIPTION.'</h2>'."\n" ;
$res .= '<p>'.INS_LAIUS_INSCRIPTION_2.'</p>'."\n" ;
$res .= $form->toHTML() ;
$res .= '<h2 class="titre2_inscription">'.INS_DEJA_INSCRIT.'</h2>' ;
$form = new HTML_QuickForm ('inscription', 'post', $url_deja_inscrit) ;
$form->addElement ('text', 'username', INS_EMAIL) ;
$form->addElement ('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
$res .= $form->toHTML() ;
$res .= '<p>'.INS_TEXTE_PERDU.'</p>'."\n" ;
return $res;
}
 
/** message_erreur () - Renvoie le code HTML d'un message d'erreur
*
* Cette page est appelée avec le paramêtre action=mdp_oubli passé dans l'url.
* Elle peut aussi être appelé en cas d'erreur de loggin.
* @return string HTML
*/
function message_erreur ($erreur = true) {
$res = '';
 
// Les urls
$url_deja_inscrit = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
$GLOBALS['ins_url']->addQueryString('action', 'sendpasswd');
$url_envoi_mdp = preg_replace ('/&amp;/', '&', $GLOBALS['ins_url']->getURL()) ;
$GLOBALS['ins_url']->removeQueryString('action');
 
// La page
$res .= '<h1 class="titre1_inscription">'.INS_MDP_PERDU_TITRE.'</h1>' ;
if ($erreur) {
$res .= '<p class="attention">'.INS_ERREUR_LOGIN.'</p>'."\n" ;
}
$res .= '<div class="information">'."\n";
$res .= '<p>'.INS_SI_PASSE_PERDU.'</p>'."\n";
$res .= '<p>'.INS_INDIQUE_ADRESSE.'</p>'."\n";
$res .= '<p>'."\n";
$res .= '<form action="'.$url_envoi_mdp.'" method="post">'."\n";
$res .= '<label for="nom_d_utilisateur">'.INS_EMAIL.' : </label>';
$valeur = (isset($_POST['username'])) ? $_POST['username'] : '';
$res .= '<input type="text" id="nom_d_utilisateur" name="nom_d_utilisateur" value="'.$valeur.'" size="32" /></li></ul>'."\n";
$res .= '<input type="submit" value="'.INS_ENVOIE_PASSE.'" />'."\n";
$res .= '</form>'."\n";
$res .= '</p>';
$res .= '</div>';
$res .= '<hr/>';
// On remet le formulaire d'inscription mais un peu réduit
$res .= '<h2 class="titre2_inscription">'.INS_MDP_PERDU_TITRE_RETENTER.'</h2>' ;
$form = new HTML_QuickForm ('inscription', 'post', $url_deja_inscrit) ;
$form->addElement('text', 'username', INS_EMAIL) ;
$form->addElement('password', 'password', INS_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', INS_VALIDER);
 
// Retour du html
$res .= $form->toHTML() ;
return $res;
}
 
function insertion($valeur) {
// =========== Insertion dans l'annuaire ===================
 
$autres_valeurs = info_annuaire($valeur);
$autres_valeurs[INS_CHAMPS_DATE] = date('Y-m-d');
$autres_valeurs[INS_CHAMPS_MAIL] = $valeur['email'];
switch (INS_MDP_CRYPTYPE) {
case 'md5' :
$autres_valeurs[INS_CHAMPS_PASSE] = md5($valeur['mot_de_passe']);
break;
default :
trigger_error('Type d\'encodage du mot de passe inconnu!', E_USER_ERROR);
}
// Utilisation de AUTH pour ajouter la personne
//$resultat = $GLOBALS['AUTH']->addUser($valeur['email'], $valeur['mot_de_passe'], $autres_valeurs) ;
$champs = '';
$vals = '';
foreach($autres_valeurs as $champ => $val) {
if ($val != '') {
$champs .= $champ.', ';
$vals .= '"'.str_replace('"', '\"', $val).'", ';
}
}
$champs = trim($champs, ', ');
$vals = trim($vals, ', ');
$requete = 'INSERT INTO '.INS_ANNUAIRE.' '.
' ('.$champs.') '.
'VALUES ('.$vals.') ';
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// Récupération de l'identifiant de l'inscription
$requete = 'SELECT '.INS_CHAMPS_ID.' '.
'FROM '.INS_ANNUAIRE.' '.
'WHERE '.INS_CHAMPS_MAIL.' = "'.$valeur['email'].'"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$id = $ligne[INS_CHAMPS_ID] ;
 
// Insertion dans les statistiques
if (INS_UTILISE_STAT) {
$requete = 'INSERT INTO '.INS_TABLE_STATISTIQUE.' SET '.INS_STATS_CHAMPS_DATE.' = NOW(), '.INS_STATS_CHAMPS_ACTION.' = "add" ';
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError ($resultat)) {
die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
}
}
}
 
/**
* Effectue une mise à jour dans la base de donnée
*
* @global AUTH un objet PEAR:Auth
* @global ins_db un objet PEAR::DB
* @return
*/
function mise_a_jour($valeur) {
// ====================Mise à jour dans l'annuaire ====================
$requete = 'UPDATE '.INS_ANNUAIRE.' '.
'SET '.requete_annuaire($valeur).' '.
'WHERE '.INS_CHAMPS_ID.' = "'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'"';
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if (isset($valeur['lettre'])) {
// On appelle cette fonction pour mettre à jour
$GLOBALS['AUTH']->setAuthData(INS_CHAMPS_LETTRE, $valeur['lettre'], true);
}
// la valeur de session (récupéré par getAuthData()
unset($resultat);
}
 
/** requete_annuaire () - Renvoie une chaine contenant les champs de l'annuaire avec leur valeur suite à le fonction process de QuickForm
*
* @return string une requete du type champs="valeur",...
*/
function requete_annuaire(&$valeur) {
if (!isset($valeur['lettre'])) {
$valeur['lettre'] = 0;
}
if (preg_match ('/([0-9][0-9])[0-9][0-9][0-9]/', $valeur['cp'], $match)) {
$valeur['dpt'] = $match[1];
if (preg_match ('/(97[0-9])[0-9][0-9]/', $valeur['cp'], $match2)) {
$valeur['dpt'] = $match2[1];
}
}
foreach($valeur as $champ => $val) {
$valeur[$champ] = str_replace('"', '\"', $val);
}
$req = INS_CHAMPS_NOM.' = "'.$valeur['nom'].'",'.
INS_CHAMPS_PRENOM.' = "'.$valeur['prenom'].'",'.
INS_CHAMPS_MAIL.' = "'.$valeur['email'].'",'.
INS_CHAMPS_PASSE.' = "'.md5 ($valeur['mot_de_passe']).'",'.
INS_CHAMPS_PAYS.' = "'.$valeur['pays'].'", '.
INS_CHAMPS_CODE_POSTAL.' = "'.$valeur['cp'].'", '.
INS_CHAMPS_VILLE.' = "'.$valeur['ville'].'", '.
INS_CHAMPS_ADRESSE_1.' = "'.$valeur['adresse_1'].'", '.
INS_CHAMPS_ADRESSE_2.' = "'.$valeur['adresse_2'].'", '.
INS_CHAMPS_REGION.' = "'.$valeur['region'].'", '.
INS_CHAMPS_STRUCTURE.' = "'.$valeur['organisme'].'", '.
INS_CHAMPS_SITE_WEB.' = "'.$valeur['site'].'", '.
INS_CHAMPS_LETTRE.' = "'.$valeur['lettre'].'" ';
if (isset($valeur['dpt'])) {
$req .= ','.INS_CHAMPS_DPT.' = "'.$valeur['dpt'].'"' ;
}
return $req ;
}
 
/**
* renvoie un tableau avec en clé les champs de la base et en valeur les valeurs saisies dans le formulaire
*
* @return array renvoie un tableau avec en clé les champs de la base et en valeur les valeurs saisies dans le formulaire
*/
function info_annuaire ($valeur) {
// Petit code pour recupere le num de dpt a partir du cp
if (preg_match ('/([0-9][0-9])[0-9][0-9][0-9]/', $valeur['cp'], $match)) {
$valeur['dpt'] = $match[1];
if (preg_match ('/(97[0-9])[0-9][0-9]/', $valeur['cp'], $match2)) {
$valeur['dpt'] = $match2[1];
}
}
$tableau = array (
INS_CHAMPS_ID => nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']),
INS_CHAMPS_NOM => addslashes($valeur['nom']),
INS_CHAMPS_PRENOM => addslashes($valeur['prenom']),
INS_CHAMPS_PAYS => $valeur['pays'],
INS_CHAMPS_CODE_POSTAL => $valeur['cp'],
INS_CHAMPS_VILLE => addslashes($valeur['ville']),
INS_CHAMPS_ADRESSE_1 => addslashes($valeur['adresse_1']),
INS_CHAMPS_ADRESSE_2 => addslashes($valeur['adresse_2']),
INS_CHAMPS_REGION => addslashes($valeur['region']),
INS_CHAMPS_SITE_WEB => $valeur['site']);
if (INS_UTILISE_LISTE){
$tableau[INS_CHAMPS_LETTRE] = $valeur['lettre'];
}
return $tableau ;
}
 
/** formulaire_defaults () - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
*
* @return array Valeurs par défaut du formulaire d'inscription
*/
function formulaire_defaults () {
$requete = 'SELECT '.INS_ANNUAIRE.'.* '.
'FROM '.INS_ANNUAIRE.' '.
'WHERE '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$GLOBALS['AUTH']->getAuthData (INS_CHAMPS_ID).'"' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$valeurs_par_defaut = array() ;
$valeurs_par_defaut['email'] = $ligne[INS_CHAMPS_MAIL];
$valeurs_par_defaut['nom'] = $ligne[INS_CHAMPS_NOM];
$valeurs_par_defaut['prenom'] = $ligne[INS_CHAMPS_PRENOM] ;
$valeurs_par_defaut['pays'] = $ligne[INS_CHAMPS_PAYS] ;
$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_LOGIN] ;
$valeurs_par_defaut['cp'] = $ligne[INS_CHAMPS_CODE_POSTAL] ;
$valeurs_par_defaut['ville'] = $ligne[INS_CHAMPS_VILLE] ;
$valeurs_par_defaut['adresse_1'] = $ligne[INS_CHAMPS_ADRESSE_1] ;
$valeurs_par_defaut['adresse_2'] = $ligne[INS_CHAMPS_ADRESSE_2] ;
$valeurs_par_defaut['region'] = $ligne[INS_CHAMPS_REGION] ;
$valeurs_par_defaut['site'] = $ligne[INS_CHAMPS_SITE_WEB] ;
if (INS_UTILISE_LISTE){
$valeurs_par_defaut['lettre'] = $ligne[INS_CHAMPS_LETTRE] ;
}
return $valeurs_par_defaut ;
}
 
function info() {
$requete = 'SELECT * '.
'FROM '.INS_ANNUAIRE.', '.INS_TABLE_PAYS.' '.
'WHERE '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'="'.$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID).'" '.
'AND '.INS_CHAMPS_PAYS.'='.INS_CHAMPS_ID_PAYS.' ';
$resultat = $GLOBALS['ins_db']->query($requete);
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo());
}
 
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC) ;
$res = '<h1 class="inscription_titre1">'.INS_MESSAGE_BIENVENU.'</h1>'."\n";
$res .= '<h2 class="inscription_titre2">'.INS_FICHE_PERSONNELLE.'</h2>'."\n";
$res .= '<dl>';
$res .= ligne_inscription (INS_EMAIL, $ligne[INS_CHAMPS_MAIL]) ;
$res .= ligne_inscription (INS_NOM, $ligne[INS_CHAMPS_NOM]) ;
$res .= ligne_inscription (INS_PRENOM, $ligne[INS_CHAMPS_PRENOM]) ;
$res .= ligne_inscription (INS_ADRESSE_1, $ligne[INS_CHAMPS_ADRESSE_1]) ;
$res .= ligne_inscription (INS_ADRESSE_2, $ligne[INS_CHAMPS_ADRESSE_2]) ;
$res .= ligne_inscription (INS_REGION, $ligne[INS_CHAMPS_REGION]) ;
$res .= ligne_inscription (INS_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
$res .= ligne_inscription (INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
$res .= ligne_inscription (INS_PAYS, $ligne[INS_CHAMPS_LABEL_PAYS]) ;
$res .= ligne_inscription (INS_SITE_INTERNET, $ligne[INS_CHAMPS_SITE_WEB]) ;
$res .= '</dl>';
return $res;
}
 
/**
*
*
* @return
*/
 
function ligne_inscription ($label, $valeur) {
if ($valeur == '') {
$valeur = '&nbsp;' ;
}
return '<dt>'.$label.' : </dt><dd>'.$valeur.'</dd>' ;
}
 
function bouton($url) {
$boutons = new HTML_QuickForm('inscription', 'post', $url) ; ;
//confirmation() ;
$buttons[] = &HTML_QuickForm::createElement('submit', 'modifier', INS_MODIFIER_INSCRIPTION);
$buttons[] = &HTML_QuickForm::createElement('submit', 'supprimer', INS_SUPPRIMER_INSCRIPTION,
array ('onclick' => "javascript:return confirm('".INS_SUPPRIMER_INSCRIPTION." ?');"));
$boutons->addGroup($buttons, null, null, '&nbsp;');
$boutons->addElement('hidden', 'id_utilisateur', $GLOBALS['AUTH']->getAuthData (INS_CHAMPS_ID));
return $boutons->toHTML();
}
 
/**
* Renvoie un lien pour se déconnex=cter
*
* @return string
*/
function deconnexion ($url) {
// Un champs logout
return '<div><a href="'.$url.'&amp;logout=1">'.INS_DECONNEXION.'</a></div>';
}
 
function verif_doublonMail($mail) {
if (isset ($GLOBALS['AUTH']) && $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_ID."=".$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
$resultat_mail = $GLOBALS['ins_db']->query($requete_mail) ;
if (DB::isError ($resultat_mail)) {
die ("Echec de la requete : $requete_mail<br />".$resultat_mail->getMessage()) ;
}
$ligne_mail = $resultat_mail->fetchRow(DB_FETCHMODE_ASSOC) ;
if ($mail == $ligne_mail[INS_CHAMPS_MAIL]) {
return true ;
}
}
$requete = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".INS_CHAMPS_MAIL."= \"$mail\"" ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) return true ;
return false ;
}
 
function envoie_passe()
{
$headers['From'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
$headers['Subject'] = INS_NOUVEAU_MOT_DE_PASSE;
 
$nouveau_passe = create_new_random(6) ;
 
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
 
// modification du mot de passe dans la base
$requete = "update ".INS_ANNUAIRE." set ".INS_CHAMPS_PASSE."=MD5(\"$nouveau_passe\") where ".INS_CHAMPS_MAIL."=\"".$_POST['nom_d_utilisateur']."\"" ;
 
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
// On teste si l'email est présent dans la base
if ($GLOBALS['ins_db']->affectedRows() == 0) {
return '<div class="erreur">Il n\'y a pas d\'inscrit avec cet email</div>'."\n" ;
}
 
// création du mail
if (!mail ($_POST['nom_d_utilisateur'], $headers['Subject'], $body)) {
return 'erreur lors de l\'envoie de mail' ;
}
 
return "<div class=\"titre1_inscription\">".INS_MOT_DE_PASSE_ENVOYE_1." ".$_POST['nom_d_utilisateur']."</div>\n".
"<div><br>".INS_MOT_DE_PASSE_ENVOYE_2."</div>\n";
 
}
 
/**
*
* @global ins_db Un pointeur vers un objet PEAR::DB connecté
* @return
*/
function envoie_mail()
{
include_once 'Mail/mime.php' ;
$crlf="\n";
$headers ['From'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
$headers ['Subject'] = INS_MAIL_COORD_SUJET ;
$headers ['Reply-To'] = INS_MAIL_ADMIN_APRES_INSCRIPTION ;
$mime = new Mail_mime($crlf);
$requete = 'SELECT *, '.INS_CHAMPS_LABEL_PAYS.' '.
'FROM '.INS_ANNUAIRE.','.INS_TABLE_PAYS.' '.
'WHERE '.INS_CHAMPS_MAIL.' = "'.$GLOBALS['AUTH']->getUsername().'"'.
'AND '.INS_CHAMPS_ID_PAYS.'='.INS_CHAMPS_PAYS.' ';
 
$resultat = $GLOBALS['ins_db']->query($requete);
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$body = INS_MAIL_COORD_CORPS."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_EMAIL.": ".unhtmlentities($ligne[INS_CHAMPS_MAIL])." \n" ;
$body .= INS_NOM.": ".unhtmlentities($ligne[INS_CHAMPS_NOM])." \n" ;
$body .= unhtmlentities(INS_PRENOM).' : '.unhtmlentities($ligne[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($ligne[INS_CHAMPS_LABEL_PAYS])." \n" ;
$body .= INS_ADRESSE_1." : ".unhtmlentities($ligne[INS_CHAMPS_ADRESSE_1])." \n" ;
$body .= INS_ADRESSE_2." : ".unhtmlentities($ligne[INS_CHAMPS_ADRESSE_2])." \n" ;
$body .= unhtmlentities(INS_REGION)." : ".unhtmlentities($ligne[INS_CHAMPS_REGION])." \n" ;
$body .= INS_CODE_POSTAL." : ".unhtmlentities($ligne[INS_CHAMPS_CODE_POSTAL])." \n" ;
$body .= INS_VILLE." : ".unhtmlentities($ligne[INS_CHAMPS_VILLE])." \n" ;
$body .= INS_SITE_INTERNET." : ".unhtmlentities($ligne[INS_CHAMPS_SITE_WEB])." \n" ;
$body .= "-------------------------------------------\n" ;
 
$mime->setTXTBody($body);
 
$body = $mime->get();
$headers = $mime->headers($headers);
$mail =& Mail::factory('mail') ;
$mail->send($ligne[INS_CHAMPS_MAIL], $headers, $body) ;
// Envoi du mail aux administrateur du site
if ($ligne[INS_CHAMPS_MAIL] != '') {
foreach ($GLOBALS['mail_admin'] as $administrateur) {
$mail->send($administrateur, $headers, $body) ;
}
}
return true ;
}
 
/**
*
*
* @return
*/
 
function message_inscription () {
return '<p>'.INS_MESSAGE_INSCRIPTION.'</p>' ;
}
 
/**
* Inscrit un adhérent à la lettre d'actualité par l'envoie d'un email subscribe / unsubscribe
* à la liste
*
* @global AUTH Un objet PEAR::Auth
* @return boolean true en cas de succès
*/
function inscription_lettre ($action) {
$mail = & Mail::factory ('smtp') ;
$email = $GLOBALS['AUTH']->getUsername() ;
$headers ['Return-Path'] = $email ;
$headers ['From'] = "<".$email.">" ;
$headers ['Subject'] = $action ;
$headers ['Reply-To'] = $email ;
$mail -> send ($action, $headers, "") ;
if (PEAR::isError ($mail)) {
echo '<p class="erreur">Le mail n\'est pas partie...</p>' ;
return false ;
}
return true ;
}
 
/**
* Génère un nom wiki valide à partir des données saisies par l'utilisateur
* fait une requete dans la base
*
* @return string un nom wiki valide
*/
function genere_nom_wiki ($nom, $prenom) {
// 1. suppression des espaces
$nom = trim ($nom) ;
$prenom = trim ($prenom) ;
// 2. suppression des caractères non ascii et ajout de la première lettre en majuscule
$nom = trim_non_ascii ($nom) ;
$prenom = trim_non_ascii ($prenom) ;
// Vérification
$nom_wiki = $nom.$prenom ;
if (!preg_match('/^[A-Z][a-z]+[A-Z,0-9][A-Z,a-z,0-9]*$/', $nom_wiki)) {
$nom_wiki = chr(rand(65, 90)).$nom_wiki.chr(rand(65, 90)) ;
}
return $nom_wiki ;
}
 
/**
*
*
* @return
*/
function trim_non_ascii ($nom) {
$premiere_lettre = true ;
for ($i = 0; $i < strlen ($nom); $i++) {
if (!preg_match ('/[a-zA-Z0-9]/', $nom[$i])) {
// str_replace ($nom[$i], '_', $nom, 1) ;
}
// remplacement de la première lettre en majuscule
if (preg_match ('/[a-zA-Z]/', $nom[$i]) && $premiere_lettre) {
$nom[$i] = strtoupper ($nom[$i]) ;
$premiere_lettre = false ;
} else {
if (preg_match ('/[a-zA-Z]/', $nom[$i])) {
$nom[$i] = strtolower ($nom[$i]) ;
}
}
}
$nom = trim ($nom, '_') ;
return $nom ;
}
 
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities ($string)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
 
/* ***********************************
create_new_random($n,$type) permet de générer un nombre de caractères aléatoires.
 
ENTREE :
- $n : créer un 'mot' de $n caractères
- $type : permet de définir la liste des caractères disponibles
 
SORTIE : chaine de $n caractères pris dans une liste $type
*********************************** */
function create_new_random($n,$type="")
{
$str = "";
 
switch ($type){
//liste des caractères possibles en virant ceux qui se ressemblent (ijl1oO0)
// case "":
// {
// }
// break;
default:{
$chaine = "abcdefghkmnpqrstuvwxyzABCDEFGHKLMNPQRSTUVWXYZ23456789";
}
break;
}
srand((double)microtime()*1000000);
for($i = 0; $i < $n; $i++){
$str .= $chaine[rand()%strlen($chaine)];
}
return "$str";
}
 
//==============================================================================
/** function nextId () Renvoie le prochain identifiant numérique libre d'une table
*
* On passe en paramètre le nom de la table et l'identifiant de la base selon PEAR DB
*
* @param mixed handler de connexion
* @param string Nom de la table
* return interger l'identifiant
*/
 
function nextId ($table, $colonne_identifiant, $db)
{
$requete = "select MAX($colonne_identifiant) as maxi from $table" ;
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $db->raiseError($resultat) ;
}
if ($resultat->numRows() > 1) {
return $db->raiseError("<br/>La table $table a un identifiant non unique<br/>") ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
return $ligne->maxi + 1 ;
}
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/inscription/langues/ins_langue_fr.inc.php
New file
0,0 → 1,139
<?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: ins_langue_fr.inc.php,v 1.3 2005/03/21 16:50:45 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2005/03/21 16:50:45 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("INS_AJOUT_MEMBRE", "Remplissez le formulaire ci-dessous pour vous inscrire") ;
define ('INS_MODIF_MEMBRE', 'Modification de vos informations');
define ("INS_NOM", "Nom") ;
define ("INS_NOM_REQUIS", "Indiquez votre nom.") ;
define ("INS_PRENOM", "Pr&eacute;nom") ;
define ("INS_PRENOM_REQUIS", "Veuillez indiquer votre prénom.") ;
define ("INS_PAYS", "Pays") ;
define ("INS_LANGUES_PARLES", "Langues parl&eacute;s") ;
define ("INS_EMAIL", "Adresse mail") ;
define ("INS_MOT_DE_PASSE", "Mot de passe :") ;
define ("INS_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe :") ;
define ("INS_ADRESSE_1", "Adresse ") ;
define ("INS_ADRESSE_2", "Adresse (suite)") ;
define ("INS_REGION", "R&eacute;gion / province") ;
define ("INS_CODE_POSTAL", "Code postal") ;
define ("INS_CODE_POSTAL_REQUIS", "Indiquez votre code postal.") ;
define ("INS_VILLE", "Ville") ;
define ("INS_VILLE_REQUIS", "Indiquez votre ville.") ;
define ("INS_SITE_INTERNET", "Site web personnel") ;
define ("INS_LETTRE", "Je souhaite recevoir la lettre d'actualité de Gentiana") ;
define ("INS_ADHERENT", "Vous &ecirc;tes adh&eacute;rents de personnes morales (associations, institutions, entreprise... )") ;
define ("INS_ANNULER", "Annuler") ;
define ("INS_RETABLIR", "Rétablir") ;
define ("INS_VALIDER", "Valider") ;
define ("INS_MOTS_DE_PASSE_DIFFERENTS", "Les mots de passe sont diff&eacute;rents !") ;
define ("INS_EMAIL_REQUIS", "Vous devez saisir un email.") ;
define ("INS_MOT_DE_PASSE_REQUIS", "Vous devez saisir un mot de passe.") ;
define ("INS_MAIL_INCORRECT", "L'email doit avoir une forme correcte, utilisateur@domaine.ext") ;
define ("INS_MAIL_DOUBLE", "Cet email est d&eacute;j&agrave utilis&eacute; par quelqu'un d'autre") ;
define ("INS_NOTE_REQUIS", "Indique les champs requis") ;
define ("INS_ACCUEIL_INSCRIPTION", "Inscription au site de Gentiana") ;
define ("INS_MODIFIER_INSCRIPTION", "Modifier votre inscription") ;
define ("INS_SUPPRIMER_INSCRIPTION", "Supprimer votre inscription") ;
define ("INS_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit &agrave; Gentiana") ;
define ('INS_MESSAGE_EXPIRATION', 'Votre demande a expiré, veuillez ressaisir le formulaire d\'inscription.') ;
define ("INS_FICHE_PERSONNELLE", "Fiche personnelle") ;
define ("INS_DECONNEXION", 'D&eacute;connexion') ;
define ("INS_INSCRIPTION", 'Inscription') ;
define ("INS_MDP_PERDU_TITRE", "Perte ou oubli de mot de passe");
define ("INS_MDP_PERDU_TITRE_RETENTER", "Vous pouvez aussi essayer à nouveau de vous identifier...");
 
define ("INS_TEXTE_PERDU", "Si vous avez perdu votre mot de passe, veuillez cliquez sur le lien suivant :") ;
define('INS_MDP_PERDU_OUBLI', 'perte de mot de passe');
define ("INS_DEJA_INSCRIT", "D&eacute;j&agrave;  inscrit, identifiez-vous pour acc&eacute;der &agrave;  votre fiche personnelle :") ;
define ("INS_ERREUR_LOGIN", "Utilisateur inconnu ou mot de passe erronn&eacute;") ;
define ("INS_SI_PASSE_PERDU", "Si vous avez perdu votre mot de passe") ;
define ("INS_INDIQUE_ADRESSE", "Indiquez dans le champs ci-dessous l'adresse email que vous avez utilisé pour vous inscrire au site.<br>\n".
"Un nouveau mot de passe vous sera envoyé.") ;
define ("INS_ENVOIE_PASSE", "Envoi du mot de passe par mail") ;
define ("INS_LAIUS_INSCRIPTION", "L'inscription est libre et gratuite !") ;
define ("INS_LAIUS_INSCRIPTION_2", "Elle vous permet de :</p>
<ul>
<li>saisir vos observations botaniques ;</li>
<li>consulter l'annuaire des personnes inscrites et pouvoir ainsi échanger des informations ;</li>
<li>accéder à certaines informations diffusées sur le site ;</li>
<li>recevoir une lettre électronique d'informations.</li>
</ul>
<p>Par la suite, il vous sera possible de modifier voire annuler votre inscription.<br />
Seuls vos prénom, nom, ville, commune et pays apparaîtrons dans l'annuaire, les autres informations restent confidentielles (e-mail, adresse). </p>
<p>Les informations recueillies sont nécessaires pour votre <strong>inscription au site de GENTIANA</strong>. Elles font l'objet d'un traitement informatique et servent à GENTIANA
à vous contacter afin de valider les données botaniques ou les informations que vous donnez.</p>
<p>En application des articles 39 et suivants de la loi du 6 janvier 1978 modifiée, vous bénéficiez d'un droit d'accès
et de rectification aux informations qui vous concernent.</p>
<p><strong>L'inscription à l'annuaire du site de GENTIANA implique que vous soyez d'accord pour que votre nom, prénom, ville,
code postal et pays apparaissent en clair dans le site Internet de GENTIANA</strong>.");
define ('INS_PIED_INFO', 'Si vous constatez des problèmes en utilisant cette application, veuillez contacter : ') ;
define ('INS_PIED_MAIL', 'gentiana@gentiana.org') ;
 
//============= L'envoie du mot de passe perdu par mail =============================
define ("INS_NOUVEAU_MOT_DE_PASSE", "Votre nouveau mot de passe Gentiana") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_2", "Votre nouveau mot de passe : ") ;
define ("INS_NOUVEAU_MOT_DE_PASSE_LAIUS", "\n\nCe mot de passe vous permet de modifier les informations\n".
"vous concernant dans le site de Gentiana.\n".
"http://www.gentiana.org/\n\n") ;
define ("INS_MOT_DE_PASSE_ENVOYE_1", "Votre nouveau mot de passe a &eacute;t&eacute; ".
"envoy&eacute; &agrave; l'adresse") ;
define ("INS_MOT_DE_PASSE_ENVOYE_2", "Relevez votre messagerie, notez votre nouveau mot de passe et identifiez vous à ".
"nouveau en allant à l'inscription. N'h&eacute;sitez pas à changer ce mot de passe ".
"pour en mettre un plus simple, tr&egrave;s facile &agrave; retenir." );
//============= L'envoie d'un mail de confirmation ===================================
// Ne pas utiliser d'entités HTML
define ("INS_MAIL_INSCRIPTION_1", "Votre inscription a bien été prise en compte.\n".
"Voici les informations que nous avons enregistré :\n") ;
define ("INS_MAIL_INSCRIPTION_2", "\nVous pouvez modifier votre inscription sur \nhttp://www.gentiana.org\n".
"rubrique Inscription.\n\n".
"L'équipe de Gentiana.") ;
 
// Envoir d'un mail à la coordination
define ("INS_MAIL_COORD_SUJET", "Un nouvel inscrit à Gentiana") ;
define ("INS_MAIL_COORD_CORPS", "Un nouvel inscrit à Gentiana") ;
 
define ("INS_MESSAGE_INSCRIPTION", "<h1 class=\"titre1_inscription\">Inscription à Gentiana</h1>\n".
"<p>Votre inscription a bien été prise en compte.</p>\n".
"<h2>Pour terminer votre inscription :</h2>\n".
"<p>Un message de confirmation vous a été envoyé à l'adresse e-mail que vous avez fournie.".
" Veuillez lire ce mail et en suivre les instructions pour activer complètement votre inscription.</p>") ;
define ('INS_MESSAGE_DEBUT_MAIL_INSCRIPTION', 'Bonjour,'."\n\n".
'Nous avons reçu une demande d\'inscription pour cette adresse mail.'."\n".
'Pour confirmer, cliquer sur le lien ci-dessous.'."\n\n" ) ;
define ('INS_MESSAGE_FIN_MAIL_INSCRIPTION', "\n\n".'L\'équipe de Gentiana') ;
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/annuaire/configuration/ann_config.inc.php
New file
0,0 → 1,94
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Fichier de configuration de l'annuaire
*
* A éditer de façon spécifique à chaque déploiement
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id: ann_config.inc.php,v 1.2 2005/03/08 09:43:34 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
// Paramêtres indiquant que l'on est en français pourpermettre la mise en majuscule des caractères accentués
setlocale(LC_CTYPE, 'fr_FR');
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'] ;
$GLOBALS['ann_db'] =& $GLOBALS['_GEN_commun']['pear_db'] ;
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
$GLOBALS['ann_url'] =& $GLOBALS['_GEN_commun']['url'];//l'url de base de l'application, un objet Net_URL
// Créer cet objet par $GLOBALS['ins_url'] = new Net_URL('http://....') ;
define('ANN_URL_ACTUALITE', 'http://www.gentiana.org/page:20') ;
/** Variable définissant la lettre par défaut du parcour alphabétique.*/
define('ANN_LETTRE_DEFAUT', 'A') ;// une lettre de l'aphabet ou "tous"
 
/**
//==================================== LES CHEMINS =================================
* Constantes définissant les chemins d'accé au différents fichiers inclus dans les
* applications.
//==================================================================================
*/
define('ANN_CHEMIN_APPLI','client/annuaire/');//le chemin vers l'application courrante
define('ANN_CHEMIN_LIBRAIRIE', ANN_CHEMIN_APPLI.'bibliotheque/');//le chemin de la librairie de fichier php
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
define ('ANN_ANNUAIRE', 'annuaire');
define ('ANN_CHAMPS_NOM', 'a_nom'); // Nom du champs nom
define ('ANN_CHAMPS_MAIL', 'a_mail'); // Nom du champs mail
define ('ANN_CHAMPS_PRENOM', 'a_prenom'); // Nom du champs prénom
define ('ANN_CHAMPS_ID', 'a_id'); // Nom du champs id
define ('ANN_CHAMPS_DATE_INS', 'a_date_inscription');
define ('ANN_CHAMPS_CODE_POSTAL', 'a_code_postal');
define ('ANN_CHAMPS_VILLE', 'a_ville');
define ('ANN_CHAMPS_PAYS', 'a_ce_pays');
 
define ('ANN_TABLE_PAYS', 'carto_PAYS');
define ('ANN_GC_ID', 'CP_ID_Pays');
define ('ANN_GC_NOM', 'CP_Intitule_pays');
 
define ('ANN_TABLE_DEPARTEMENT', 'carto_DEPARTEMENT') ;
 
/**
//==================================== CONSTANTES==================================
* Constantes contenant des mails
//==================================================================================
*/
define ('ANN_MAIL_ADMIN', 'Pierre SALEN <p.salen@gentiana.org>, Jean-Pascal MILCENT<jpm@tela-botanica.org>') ;
?>
/tags/2014-08-05_centre/client/annuaire/annuaire.php
New file
0,0 → 1,113
<?
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* programme principal du module annuaire
*
* programme principal du module annuaire
*
*@package annuaire
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2007
*@version $Id: annuaire.php,v 1.4 2005/03/24 08:24:39 alex Exp $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once 'client/annuaire/configuration/ann_config.inc.php' ;
include_once ANN_CHEMIN_LIBRAIRIE.'annuaire.fonct.php' ;
/** Constante "dynamique" stockant la langue demandée par l'utilisateur pour l'application.*/
define('INS_LANGUE', substr($GLOBALS['_GEN_commun']['i18n'], 0, 2));
$fichier_lg = ANN_CHEMIN_APPLI.'/langues/ann_langue_'.INS_LANGUE.'.inc.php';
if (file_exists($fichier_lg)) {
include_once $fichier_lg;
} else {
include_once ANN_CHEMIN_APPLI.'/langues/ann_langue_fr.inc.php' ;
}
include_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
 
// Ajout d'une feuille de style externe
GEN_stockerStyleExterne ('inscription', 'client/annuaire/annuaire.css') ;
 
/**
* Renvoie le code HTML de l'application
*
* @return string HTML
*/
function afficherContenuCorps () {
$res = '<h1 class="annuaire_titre1">'.ANN_TITRE.'</h1>'."\n";
if (!$GLOBALS['AUTH']->getAuth()) {
$res .= AUTH_formulaire_login();
} else {
// Le code javascript des cases à cocher
$java =
"function setCheckboxes(the_form)
{
var do_check=document.forms[the_form].elements['selecttotal'].checked;
var elts = document.forms[the_form].elements['select[]'];
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
} // Fin for
} else {
elts.checked = do_check;
} // Fin if... else
return true;
} // Fin de la fonction 'setCheckboxes()'";
GEN_stockerCodeScript($java) ;
 
$res .= '<h2 class="annuaire_titre2">'.ANN_CLIQUEZ_LETTRE.'</h2>'."\n";
// Nettoyage des variables du POST
$cles = array('corps', 'titre_mail');
foreach ($cles as $cle) {
if (isset($_POST[$cle]) && !empty($_POST[$cle])) {
$_POST[$cle] = translittererCp1252VersIso88591(stripslashes($_POST[$cle]));
}
}
 
// S'il y a un mail a envoyé, on l'envoie
if (isset($_POST['select']) && is_array($_POST['select'])) {
if (isset($_POST['corps']) && isset($_POST['titre_mail'])) {
$res .= envoie_mail($_POST['select'], $_POST['titre_mail'], $_POST['corps']) ;
}
}
 
$res .= parcourrirAnnu() ;
}
return $res;
}
 
function afficherContenuPied () {
$sortie = '<p id="annuaire_pied_page">'.ANN_PIED_INFO.
'<a href="mailto:'.ANN_PIED_MAIL.'">'.ANN_PIED_MAIL.'</a>.'.
'</p>';
return $sortie;
}
?>
/tags/2014-08-05_centre/client/annuaire/annuaire.css
New file
0,0 → 1,27
/* Pied de page */
#annuaire_pied_page {
color:#A9A9A9;
font-size:10px;
padding-top:10px;
text-align:center;}
 
/* Parcourir l'alphabet */
#annuaire_alphabet{
font-size:15px;}
 
/* Tableau des inscrits */
#annuaire {
border:1px solid;}
#annuaire table{
width:100%;
margin:0;
border:none;}
#annuaire tbody{
vertical-align:top;
min-height:1em;
height:200px;
overflow: auto;}
#annuaire td{
border:none;}
#annuaire tr{
height:1em;}
/tags/2014-08-05_centre/client/annuaire/bibliotheque/annuaire.fonct.php
New file
0,0 → 1,304
<?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: annuaire.fonct.php,v 1.1 2005/03/24 08:46:07 alex Exp $
/**
* Fonctions du module annuaire
*
* Fonctions du module annuaire
*
*@package annuaire
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function AUTH_formulaire_login() {
$res = '';
$url = preg_replace ('/&amp;/', '&', $GLOBALS['ann_url']->getURL()) ;
 
$res .= '<p>'.ANN_IDENTIFICATION_PRESENTATION_XHTML.'</p>'."\n" ;
$form = new HTML_QuickForm ('inscription', 'post', $url) ;
$form->addElement ('text', 'username', ANN_EMAIL) ;
$form->addElement ('password', 'password', ANN_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', ANN_VALIDER);
$res .= $form->toHTML() ;
 
return $res;
}
 
/** function parcourrirAnnu () Affiche l'annuaire à partir d'une lettre
*
*
*
* @return string HTML
*/
function parcourrirAnnu() {
 
$res = '<p id="annuaire_alphabet">';
 
// Alphabet pour la rechercher par lettre du nom des inscrits
for ($i = 65 ; $i < 91 ; $i++) {
$GLOBALS['ann_url']->addQueryString('lettre', chr($i));
$url_lettre = $GLOBALS['ann_url']->getURL();
$GLOBALS['ann_url']->removeQueryString('lettre');
$res .= '<a href="'.$url_lettre.'">'.chr($i).'</a>&nbsp;'."\n";
}
$GLOBALS['ann_url']->addQueryString('lettre', 'tous');
$url_lettre = $GLOBALS['ann_url']->getURL();
$GLOBALS['ann_url']->removeQueryString('lettre');
$res .= '<a href="'.$url_lettre.'">'.'Tous'.'</a>'."\n";
$res .= '</p>'."\n";
 
// Si aucune lettre n'est sélectionnée, attribution de la lettre par défaut
if (empty($_REQUEST['lettre'])) {
$_REQUEST['lettre'] = ANN_LETTRE_DEFAUT;
}
// Une lettre est disponible...
$requete = 'SELECT '.ANN_ANNUAIRE.'.*, '.ANN_TABLE_PAYS.'.* '.
'FROM '.ANN_ANNUAIRE.','.ANN_TABLE_PAYS.' '.
'WHERE '.ANN_CHAMPS_PAYS.' = '.ANN_GC_ID.' ';
if ($_REQUEST['lettre'] != 'tous') {
$requete .= ' AND '.ANN_CHAMPS_NOM.' LIKE "'.$_REQUEST['lettre'].'%" ' ;
}
$requete .= 'ORDER BY '.ANN_CHAMPS_NOM;
$res .= listes_inscrit ($requete, $GLOBALS['ann_url']->getURL(), '', $GLOBALS['ann_db'], $niveau = 'pays').
carto_texte_cocher().
carto_formulaire();
 
return $res;
}
 
/**
* Renvoie le code HTML de la liste des inscrits
* en fonction de la requete passé en parametre
*
* @return Renvoie le code HTML de la liste des inscrits
*/
function listes_inscrit($requete, $url, $argument, &$db, $niveau = 'pays') {
$resultat = $GLOBALS['ann_db']->query($requete);
(DB::isError($resultat)) ? die($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) : '';
if ($resultat->numRows() > 0) {
$res = '<form action="'.$url.'?mailer=1&amp;lettre='.$_REQUEST['lettre'].'" method="post" name="formmail">'."\n";
$res .= '<div id="annuaire" class="conteneur_table">
<table id="table_inscrit" class="table_cadre">
<colgroup>
<col />
<col />
<col />
<col />
<col />
<col />
<col />
</colgroup>
<thead class="entete_fixe">
<tr>
<th>&nbsp;</th>
<th>'.ANN_NOM.'</th>
<th>'.ANN_PRENOM.'</th>
<th>'.ANN_DATE_INS.'</th>
<th>'.ANN_CP.'</th>
<th>'.ANN_VILLE.'</th>
<th>'.ANN_PAYS.'</th>
</tr>
</thead>
<tbody class="contenu_deroulant">';
$indic = 0;
$i = 1;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
if ($indic == 0) {
$res .= '<tr class="ligne_impaire">'."\n";
$indic = 1;
} else {
$res .= '<tr class="ligne_paire">'."\n";
$indic = 0;
}
$res.= '<td><input type="checkbox" name="select[]" value="'.$ligne[ANN_CHAMPS_MAIL].'" /></td>'."\n".
'<td>'.strtoupper($ligne[ANN_CHAMPS_NOM]).'&nbsp;</td>'."\n".
'<td>'.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', $ligne[ANN_CHAMPS_PRENOM])))).'&nbsp;</td>'."\n".
'<td>'.date('d m Y', strtotime($ligne[ANN_CHAMPS_DATE_INS])).'&nbsp;</td>'."\n".
'<td>'.$ligne[ANN_CHAMPS_CODE_POSTAL].'&nbsp;</td>'."\n".
'<td>'.strtoupper($ligne[ANN_CHAMPS_VILLE]).'&nbsp;</td>'."\n".
'<td>'.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', ($ligne[ANN_GC_NOM]))))).'&nbsp;</td>'."\n";
$res .= '</tr>'."\n";
}
$res .= '</tbody></table></div>'."\n";
} else {
$res = '<p class="information">'.'Aucun inscrit n\'a de nom commençant par '.$_REQUEST['lettre'].'</p>'."\n";
}
return $res;
}
 
 
function carto_formulaire() {
$res = '<h2 class="chapo">'.ANN_ENVOYER_MAIL.'</h2>'."\n";
$res .= '<p class="attention surveillance">'.ANN_SURVEILLANCE.'</p>'."\n";
$res .= '<p class="information message_a_tous">'.sprintf(ANN_MESSAGE_A_TOUS, '<a href="'.ANN_URL_ACTUALITE.'">'.ANN_ACTUALITE.'</a>').'</p>'."\n";
$res .= '<table>'."\n".
'<tr><td class="texte">'.ANN_SUJET.' :</td>'."\n".
'<td><input class="forml" type="text" name="titre_mail" size="60" value="'.$_POST['titre_mail'].'"/></td>'."\n".
'</tr><tr><td class="texte" valign="top">'.ANN_MESSAGE.'&nbsp;:&nbsp;</td>'."\n".
'<td><textarea class="forml" name="corps" rows="5" cols="60">'.$_POST['corps'].'</textarea></td>'."\n".
'</tr><tr><td></td><td align="center">';
$res .= '<input class="spip_bouton" type="submit" value="'.ANN_ENVOYER.'" />'."\n";
$res .= '</td>'."\n";
$res .= '</tr>'."\n";
$res .= '</table>'."\n";
$res .= '</form>'."\n";
return $res;
}
 
 
/** function carto_texte_cocher ()
*
*
* @return string HTML
*/
function carto_texte_cocher() {
$res .= '<div class="texte">'.ANN_CHECK_UNCHECK."\n";
$res .= '&nbsp;<input type="checkbox" name="selecttotal" onclick="javascript:setCheckboxes(\'formmail\');"/>'."\n";
$res .= '</div>';
return $res;
}
 
 
/** envoie_mail()
*
*
* @return envoie l'email
*/
function envoie_mail($selection, $titre_mail, $corps) {
$requete = 'SELECT '.ANN_CHAMPS_MAIL.' '.
'FROM '.ANN_ANNUAIRE.' '.
'WHERE '.ANN_CHAMPS_ID.' = "'.$GLOBALS['AUTH']->getAuthData(ANN_CHAMPS_ID).'" ';
$resultat = $GLOBALS['ann_db']->query($requete);
if (DB::isError($resultat)) {
die($resultat->getMessage().'<br />'.$resultat->getDebugInfo());
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$entete = 'From: <'.$ligne[ANN_CHAMPS_MAIL].">\n";
 
$corps .= "\n".ANN_PIED_MESSAGE;
 
$liste = '';
foreach ($selection as $key => $value) {
mail($value, $titre_mail, $corps, $entete);
$liste .= $value."\n";
}
$corps .= "\n----------------------------------------------------------------------------";
$corps .= "\n".ANN_MESSAGE_APPLI."\n" ;
$corps .= "\n".ANN_MESSAGE_ENVOYE_A." :\n $liste" ;
mail(ANN_MAIL_ADMIN, $titre_mail, $corps, $entete);
 
return '<div class="information">'.ANN_MAIL_ENVOYER.'</div>' ;
}
/** translittererVersIso88591()
*
* Convertit les caractères CP1252 (= ANSI) non présent dans l'ISO-8859-1 par un équivalant ressemblant.
*
* @return envoie l'email
*/
function translittererCp1252VersIso88591($str, $translit = true) {
$cp1252_entite_map = array(
'\x80' => '&#8364;', /* EURO SIGN */
'\x82' => '&#8218;', /* SINGLE LOW-9 QUOTATION MARK */
'\x83' => '&#402;', /* LATIN SMALL LETTER F WITH HOOK */
'\x84' => '&#8222;', /* DOUBLE LOW-9 QUOTATION MARK */
'\x85' => '&#8230;', /* HORIZONTAL ELLIPSIS */
'\x86' => '&#8224;', /* DAGGER */
'\x87' => '&#8225;', /* DOUBLE DAGGER */
'\x88' => '&#710;', /* MODIFIER LETTER CIRCUMFLEX ACCENT */
'\x89' => '&#8240;', /* PER MILLE SIGN */
'\x8a' => '&#352;', /* LATIN CAPITAL LETTER S WITH CARON */
'\x8b' => '&#8249;', /* SINGLE LEFT-POINTING ANGLE QUOTATION */
'\x8c' => '&#338;', /* LATIN CAPITAL LIGATURE OE */
'\x8e' => '&#381;', /* LATIN CAPITAL LETTER Z WITH CARON */
'\x91' => '&#8216;', /* LEFT SINGLE QUOTATION MARK */
'\x92' => '&#8217;', /* RIGHT SINGLE QUOTATION MARK */
'\x93' => '&#8220;', /* LEFT DOUBLE QUOTATION MARK */
'\x94' => '&#8221;', /* RIGHT DOUBLE QUOTATION MARK */
'\x95' => '&#8226;', /* BULLET */
'\x96' => '&#8211;', /* EN DASH */
'\x97' => '&#8212;', /* EM DASH */
'\x98' => '&#732;', /* SMALL TILDE */
'\x99' => '&#8482;', /* TRADE MARK SIGN */
'\x9a' => '&#353;', /* LATIN SMALL LETTER S WITH CARON */
'\x9b' => '&#8250;', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/
'\x9c' => '&#339;', /* LATIN SMALL LIGATURE OE */
'\x9e' => '&#382;', /* LATIN SMALL LETTER Z WITH CARON */
'\x9f' => '&#376;' /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/
);
$translit_map = array(
'&#8364;' => 'Euro', /* EURO SIGN */
'&#8218;' => ',', /* SINGLE LOW-9 QUOTATION MARK */
'&#402;' => 'f', /* LATIN SMALL LETTER F WITH HOOK */
'&#8222;' => ',,', /* DOUBLE LOW-9 QUOTATION MARK */
'&#8230;' => '...', /* HORIZONTAL ELLIPSIS */
'&#8224;' => '+', /* DAGGER */
'&#8225;' => '++', /* DOUBLE DAGGER */
'&#710;' => '^', /* MODIFIER LETTER CIRCUMFLEX ACCENT */
'&#8240;' => '0/00', /* PER MILLE SIGN */
'&#352;' => 'S', /* LATIN CAPITAL LETTER S WITH CARON */
'&#8249;' => '<', /* SINGLE LEFT-POINTING ANGLE QUOTATION */
'&#338;' => 'OE', /* LATIN CAPITAL LIGATURE OE */
'&#381;' => 'Z', /* LATIN CAPITAL LETTER Z WITH CARON */
'&#8216;' => "'", /* LEFT SINGLE QUOTATION MARK */
'&#8217;' => "'", /* RIGHT SINGLE QUOTATION MARK */
'&#8220;' => '"', /* LEFT DOUBLE QUOTATION MARK */
'&#8221;' => '"', /* RIGHT DOUBLE QUOTATION MARK */
'&#8226;' => '*', /* BULLET */
'&#8211;' => '-', /* EN DASH */
'&#8212;' => '--', /* EM DASH */
'&#732;' => '~', /* SMALL TILDE */
'&#8482;' => '(TM)', /* TRADE MARK SIGN */
'&#353;' => 's', /* LATIN SMALL LETTER S WITH CARON */
'&#8250;' => '>', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/
'&#339;' => 'oe', /* LATIN SMALL LIGATURE OE */
'&#382;' => 'z', /* LATIN SMALL LETTER Z WITH CARON */
'&#376;' => 'Y' /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/
);
$str = strtr($str, $cp1252_entite_map);
if ($translit) {
$str = strtr($str, $translit_map);
}
return $str;
}
?>
/tags/2014-08-05_centre/client/annuaire/langues/ann_langue_fr.inc.php
New file
0,0 → 1,130
<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 |
// +------------------------------------------------------------------------------------------------------+
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package vecam
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Id$
// +------------------------------------------------------------------------------------------------------+
*/
 
define ('ANN_NOM', 'Nom') ;
define ('ANN_PRENOM', 'Pr&eacute;nom') ;
define ('ANN_CP', 'Code Postal') ;
define ('ANN_PAYS', 'Pays') ;
define ('ANN_LANGUES_PARLES', 'Langues parl&eacute;s :') ;
define ('ANN_EMAIL', 'E-mail :') ;
define ('ANN_MOT_DE_PASSE', 'Mot de passe :') ;
define ('ANN_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe :') ;
define ('ANN_RETABLIR', 'Rétablir') ;
define ('ANN_VALIDER', 'Valider') ;
define ('ANN_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('ANN_EMAIL_REQUIS', 'Vous devez saisir un email.') ;
define ('ANN_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('ANN_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('ANN_NOTE_REQUIS', 'Indique les champs requis') ;
define ('ANN_MODIFIER_INSCRIPTION', 'Modifier votre inscription') ;
define ('ANN_SUPPRIMER_INSCRIPTION', 'Supprimer votre inscription') ;
define ('ANN_MESSAGE_BIENVENU', 'Vous &ecirc;tes inscrit &agrave; I-Jumelage') ;
define ('ANN_CLIQUEZ_LETTRE', 'Cliquez sur une lettre pour voir les inscrits.') ;
define ('ANN_LISTE_INSCRIT_LETTRE', 'Liste des inscrits &agrave; la lettre') ;
define ('ANN_TITRE', 'Annuaire du site de Gentiana') ;
define ('ANN_IDENTIFICATION_PRESENTATION_XHTML',
'<h2>S\'identifier et s\'inscrire</h2>
<p>Afin de pouvoir consulter l\'annuaire, il est indispensable de s\'inscrire.<br />
L\'inscription est libre et gratuite !<br />
Elle vous permet de :</p>
<ul>
<li>saisir des fiches pour nous informer ;</li>
<li>saisir vos observations botaniques ;</li>
<li>consulter l\'annuaire des personnes inscrites et pouvoir ainsi échanger des informations ;</li>
<li>accéder à certaines informations diffusées sur le site ;</li>
<li>recevoir une lettre électronique d\'informations.</li>
</ul>
<p>Par la suite, il vous sera possible de modifier voire annuler votre inscription.<br />
Seuls vos prénom, nom, ville, commune et pays apparaîtrons dans l\'annuaire, les autres informations restent confidentielles (e-mail, adresse). </p>
<p>Les informations recueillies sont nécessaires pour votre <strong>inscription au site de GENTIANA</strong>. Elles font l\'objet d\'un traitement informatique et servent à GENTIANA
à vous contacter afin de valider les données botaniques ou les informations que vous donnez.</p>
<p>En application des articles 39 et suivants de la loi du 6 janvier 1978 modifiée, vous bénéficiez d\'un droit d\'accès
et de rectification aux informations qui vous concernent.</p>
<p><strong>L\'inscription à l\'annuaire du site de GENTIANA implique que vous soyez d\'accord pour que votre nom, prénom, ville,
code postal et pays apparaissent en clair dans le site Internet de GENTIANA</strong>.</p>
 
<p>Si vous avez perdu votre mot de passe, veuillez cliquez sur le lien suivant : <a href="http://www.gentiana.org/page:inscrire?action=mdp_oubli">perte de mot de passe</a></p>
<p>Déjà inscrit, identifiez-vous pour accéder à votre fiche personnelle :</p>');
define ('ANN_TEXTE_PERDU', 'Si vous avez perdu votre mot de passe, indiquer '.
'votre adresse email dans le champs login ci-dessus et cliquez sur "Valider"') ;
define ('ANN_CHECK_UNCHECK', 'Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout') ;
define ('ANN_ENVOYER_MAIL', 'Envoyer un email') ;
define ('ANN_MESSAGE_A_TOUS', 'Si vous souhaitez diffuser votre message à l\'ensemble des membres du réseau, vous pouvez rédiger un article dans %s.');
define ('ANN_ACTUALITE', 'les actualités de Gentiana');
define ('ANN_SURVEILLANCE', '<strong>Avertissement :</strong> la messagerie ci-dessous est destinée à vous permettre d\'échanger ' .
'des messages entre inscrit au site de Gentiana, sans dévoiler les adresses email des inscrits. Afin de respecter la ' .
'tranquillité de chacun, il est strictement interdit d\'utiliser cette messagerie interne pour faire des relances périodiques ' .
'd\'informations ou des annonces publicitaires et commerciales. Une surveillance du contenu des mails échangés est effectuée ' .
'par l\'Association Gentiana. Merci de votre compréhension.') ;
define ('ANN_SUJET', 'Sujet') ;
define ('ANN_MESSAGE', 'Message') ;
define ('ANN_ENVOYER', 'Envoyer') ;
define ('ANN_CLIC_CONFIRMATION', 'Cliquez sur OK pour confirmer') ;
define ('ANN_PAS_D_INSCRIT', 'Pas d\'inscrit') ;
define ('ANN_MAIL_ENVOYER', 'Votre mail a été envoyé') ;
define ('ANN_DATE_INS', 'Date d\'inscription') ;
define ('ANN_VILLE', 'Ville') ;
define ('ANN_PIED_INFO', 'Si vous constatez des problèmes en utilisant cette application, veuillez contacter : ') ;
define ('ANN_PIED_MAIL', 'accueil@gentiana.org') ;
 
// ========================= Labels pour les mails ============================
 
define ('ANN_VERIF_MAIL_COCHE', 'Veuillez cocher au moins un destinataire pour votre mail' );
define ('ANN_VERIF_TITRE', 'Votre message doit comporter un titre <i>et</i> un corps') ;
define ('ANN_MESSAGE_APPLI', 'Application ANNUAIRE');
define ('ANN_MESSAGE_ENVOYE_A', 'Ce message a été envoyé à ');
define ('ANN_PIED_MESSAGE', '---------------------------------------------------------------------------'."\n".
'Ce message vous est envoyé par l\'intermédiaire du site Internet'."\n".
'(http://www.gentiana.org) de Gentiana, '."\n".
'auquel vous êtes inscrit.'."\n".
'D\'autres inscrits peuvent avoir reçu ce message.'."\n".
'Ne répondez que si vous êtes concerné, ou si vous avez des'."\n".
'informations utiles à transmettre au demandeur.' ) ;
 
 
// ============================ Label de lannuaire Back ===========================
define ('AM_L_TITRE', 'Chercher un adhérent') ;
define ('AM_L_RECHERCHER', 'Rechercher') ;
define ('AM_L_PAYS', 'Pays') ;
define ('AM_L_NOM', 'Nom') ;
define ('AM_L_PRENOM', 'Prénom') ;
define ('AM_L_VILLE', 'Ville') ;
define ('AM_L_DEPARTEMENT', 'Département') ;
define ('AM_L_MAIL', 'Mail') ;
define ('AM_L_COTISANTS', 'Cotisants') ;
define ('AM_L_GRP_RES', 'Grouper les résultats') ;
define ('AM_L_TOUS', 'Tous') ;
define ('AM_L_MAIL_SELECTION', 'Envoyer un mail à la sélection') ;
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/client/eflore/configuration/ef_config.inc.php
New file
0,0 → 1,203
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.3 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore-consultation. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar 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 General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ef_config.inc.php.sauv,v 1.1 2005/12/21 15:11:13 jp_milcent Exp $
/**
* Fichier de configuration des paramêtres sépcifique à un déploiement d'eFlore.
*
* Fichier contenant des constantes et des variables globales permettant de configurer eFlore-consultation.
*
*@package eflore
*@subpackage configuration
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2005
*@version $Revision: 1.1 $
// +------------------------------------------------------------------------------------------------------+
*/
// +------------------------------------------------------------------------------------------------------+
// LA LIVRAISON :
define('EF_LIVRAISON', 'HEAD');
 
// +------------------------------------------------------------------------------------------------------+
// LA DISTRIBUTION :
/** Constante stockant le nom de la distribution. Utile lorsqu'on déploie eFlore pour un site particulier et
* que l'on veut pouvoir employer des squelettes particuliers pour chaque module.*/
define('EF_DISTRIBUTION', 'gentiana');
 
// +------------------------------------------------------------------------------------------------------+
// Définition des valeurs par défaut de l'interface d'eFlore
$GLOBALS['_EFLORE_']['titre'] = 'eFlore';// Le titre générique de l'application
$GLOBALS['_EFLORE_']['titre_fichier'] = $GLOBALS['_EFLORE_']['titre'];// Le titre générique pour les fichiers générés par l'application
$GLOBALS['_EFLORE_']['projets_affichables'] = 1000;// Affiche tous les projets : null; BDNBE : 1006 ; BDNFF : 1000 (en mettre plusieurs séparés par des virgules)
$GLOBALS['_EFLORE_']['projet_defaut'] = 1000;// Identifiant du projet sélectionné par défaut parmis les projets affichables
$GLOBALS['_EFLORE_']['projet_version_unique'] = 25;// Identifiant de la version du projet de la BDNFF (défaut) // BDNFF : 25 ; BDNBE : 26 ; Toute version : null
$GLOBALS['_EFLORE_']['projet_version_defaut'] = 25;// Identifiant du projet de la BDNFF (défaut)
 
// +------------------------------------------------------------------------------------------------------+
// Gestion de Papyrus
if (defined('PAP_VERSION')) {
// Les variables suivantes sont configurées dans Papyrus via les "Arguments de l'application" dans l'interface de
// modification d'un menu.
if (isset($GLOBALS['_GEN_commun']['info_application']->titre)) {
$GLOBALS['_EFLORE_']['titre'] = $GLOBALS['_PAPYRUS_']['page']['titre'];
}
if (isset($GLOBALS['_GEN_commun']['info_application']->projets)) {
$GLOBALS['_EFLORE_']['projets_affichables'] = $GLOBALS['_GEN_commun']['info_application']->projets;
}
if (isset($GLOBALS['_GEN_commun']['info_application']->projet_defaut)) {
$GLOBALS['_EFLORE_']['projet_defaut'] = $GLOBALS['_GEN_commun']['info_application']->projet_defaut;
}
if (isset($GLOBALS['_GEN_commun']['info_application']->projet_version_unique)) {
$GLOBALS['_EFLORE_']['projet_version_unique'] = $GLOBALS['_GEN_commun']['info_application']->projet_version_unique;
}
if (isset($GLOBALS['_GEN_commun']['info_application']->projet_version_defaut)) {
$GLOBALS['_EFLORE_']['projet_version_defaut'] = $GLOBALS['_GEN_commun']['info_application']->projet_version_defaut;
}
}
 
// Pour un fonctionnement d'eFlore hors papyrus
else {
define('PAP_CHEMIN_API_PEAR', '/opt/lampp/lib/php/');
// Indiquer ici un chemin vers une installation de papyrus
define('PAP_CHEMIN_RACINE', '/home/jpm/web/papyrus_bp');
define('GEN_CHEMIN_WIKINI', PAP_CHEMIN_RACINE.'/wikini/');
define('GEN_CHEMIN_CLIENT', PAP_CHEMIN_RACINE.'/client/');
set_include_path(get_include_path().PATH_SEPARATOR.PAP_CHEMIN_RACINE);
}
 
// +------------------------------------------------------------------------------------------------------+
// Définition de la langue
/** Constante stockant la langue principale utilisée pour l'application.*/
define('EF_LANGUE_PRINCIPALE', 'fr');
/** Constante stockant si on utilise ou pas l'utf-8 pour la connexion à la bdd. La bdd doit être en utf8.*/
define('EF_LANGUE_UTF8', true);
/** Paramêtres indiquant que l'on est en français pourpermettre la mise en majuscule des caractères accentués. */
setlocale(LC_CTYPE, 'fr_FR');
/** Paramêtres indiquant l'encodage à utiliser pour la sortie. */
$GLOBALS['_EFLORE_']['encodage'] = 'HTML-ENTITIES';
 
// +------------------------------------------------------------------------------------------------------+
// Débogage
/** Constante stockant si oui ou non on veut afficher le débogage.*/
define('EF_DEBOGAGE', true);
/** Constante stockant si oui ou non on veut afficher le débogage des fichiers PEAR.*/
define('EF_DEBOGAGE_PEAR', false);
/** Constante stockant la chaine permettant de repérer en se basabt sur le chemin, les fichiers provenant de la bibliothèque PEAR.*/
define('EF_DEBOGAGE_PEAR_CHAINE', '/lib/php/');
/** Constante stockant une expression régulière permettant de repérer en se basant sur le message, les fichiers provenant de la bibliothèque PEAR.*/
define('EF_DEBOGAGE_PEAR_REGEXP_MESSAGE', '/^Non-static method (?:DB::connect|PEAR::isError)/');
/** Constante stockant si oui ou non on veut afficher le contexte de débogage.*/
define('EF_DEBOGAGE_CONTEXTE', false);
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP.*/
define('EF_DEBOGAGE_NIVEAU', 2048);// Voir le manuel de PHP pour les différents niveaux disponibles.
/** Constante stockant si oui ou nom on veut afficher le tableau de chronométrage de l'application.*/
define('EF_DEBOGAGE_CHRONO', true);
 
// +------------------------------------------------------------------------------------------------------+
// Paramétrage de la base de données.
/** Constante stockant le protocole de la base de données.*/
define('EF_BDD_PROTOCOLE', 'mysql');
/** Constante stockant le nom du serveur de bases de données.*/
define('EF_BDD_SERVEUR', 'localhost');
/** Constante stockant le nom de l'utilisateur de la base de données.*/
define('EF_BDD_UTILISATEUR', '');
/** Constante stockant le mot de passse de l'utilisateur de la base de données.*/
define('EF_BDD_MOT_DE_PASSE', '');
/** Constante stockant le nom de la base de données principale.*/
define('EF_BDD_NOM_PRINCIPALE', 'gentiana_prod_eflore_v1_1_principale');
/** Constante stockant le nom de la base de données principale.*/
define('EF_BDD_NOM_HISTORIQUE', 'gentiana_prod_eflore_v1_1_historique');
 
// +------------------------------------------------------------------------------------------------------+
// Définition des chemins où stocker les fichiers
/** Constante stockant le chemin vers le dossier où sont stockés les images png créées par la bibliothèque cartographique.*/
define('EF_CHEMIN_CARTE_STOCKAGE', EF_CHEMIN_APPLI.'../../sites/flore/generique/images/cartes/');
/** Constante stockant si oui ou non, nous stockons les images en local.*/
define('EF_BOOL_STOCKAGE_IMG', true);
/** Constante stockant le chemin vers le dossier où sont stockés les illustrations récupérées depuis les sites partenaires.*/
define('EF_CHEMIN_IMG_STOCKAGE', EF_CHEMIN_APPLI.'../../sites/flore/generique/images/illustrations/');
/** Constante stockant si oui ou non, nous appliquons un mécanisme de cache.*/
define('EF_BOOL_STOCKAGE_CACHE', true);
/** Constante stockant le chemin vers le dossier où sont stockés les pages mise en cache.*/
define('EF_CHEMIN_STOCKAGE_CACHE', '/home/gentiana/www/tmp/eflore_cache/');
 
// +------------------------------------------------------------------------------------------------------+
// Les Programmes Extérieurs
/** Constante stockant le chemin vers l'application externe Image Magick - Convert.*/
define('EF_PROG_CONVERT', '/usr/bin/convert');
 
// +------------------------------------------------------------------------------------------------------+
// Les URLs
/** Constante stockant l'URL de base de l'application recherche de plante sous forme de chaine txt.*/
define('EF_URL', 'http://www.gentiana.org//eflore/');
/** Constante stockant l'URL de base où chercher les illustrations des projets hébergés par Tela Botanica.*/
define('EF_URL_IMG', 'http://www.gentiana.org/sites/flore/generique/images/%s');
/** Constante stockant l'URL où sont accessible les cartes. Le %s correspond au nom du fichier.*/
define('EF_URL_CARTO', 'http://www.gentiana.org/sites/flore/generique/images/cartes/%s');
 
/** Constante stockant l'URL du fichier css "complexe" (= pour les navigateurs récents) de Tela Botanica.*/
define('EF_URL_CSS_TB_COMPLEXE', 'http://www.tela-botanica.org/sites/commun/fr/styles/commun_complexe.css');
/** Constante stockant l'URL du fichier css "simple" (= pour les vieux navigateurs) de Tela Botanica.*/
define('EF_URL_CSS_TB_SIMPLE', 'http://www.tela-botanica.org/sites/commun/fr/styles/commun_simple.css');
/** Constante stockant l'URL du fichier css "impression" de Tela Botanica.*/
define('EF_URL_CSS_TB_IMPRESSION', 'http://www.tela-botanica.org/sites/commun/fr/styles/impression.css');
/** Constante stockant l'URL du fichier css d'eFlore.*/
define('EF_URL_CSS_EFLORE', 'http://www.tela-botanica.org/sites/eflore/fr/styles/eflore.css');
 
/** Constante stockant le chemin (l'url) vers le dossier js (javascript)*/
define('EF_URL_JS','http://www.gentiana.org/client/eflore_head/bibliotheque/js/');
 
/** Constante stockant l'URL vers le dossier contenant les bases Xper.*/
define('EF_URL_XPER_BASE', 'http://www.tela-botanica.org/sites/eflore/fr/documents/bases_xper/');
/** Constante stockant l'URL vers les fichiers .jar de l'applette Xper.*/
define('EF_URL_XPER_JAR', 'http://lis.snv.jussieu.fr/apps/xper2/identification/');
/** Constante stockant l'URL d'accès à l'applette d'Xper.*/
define('EF_URL_XPER_APPLETTE', EF_URL.'xper'.DIRECTORY_SEPARATOR.'%s');
 
// +------------------------------------------------------------------------------------------------------+
// La gestion du wikini
/** Nom du wikini utilisé pour eFlore.*/
define('EF_WIKI_NOM', 'flora');
/** Chemin vers le dossier "bibliotheque" de l'intégrateur wikini utilisé pour eFlore.*/
define('EF_WIKI_CHEMIN_BIBLIO', PAP_CHEMIN_RACINE.'/client/integrateur_wikini/bibliotheque/');
 
// +------------------------------------------------------------------------------------------------------+
// La gestion de l'affichage de l'application
/** Constante permettant de savoir si on veut tenir compte ou pas du "x" des hybrides dans le trie alphabétique pour la
* recherche.*/
define('EF_TRI_HYBRIDE', false);// true pour ne pas tenir compte du "x" sinon false
/** Constante permettant de connaitre les choix du nombre de documents à afficher pour le fragmenteur.*/
define('EF_FRAGMENTEUR_PAR_PAGE', '10,20,50,100,200');// séparer les nombre par des virgules
/** Constante permettant de connaitre le choix du nombre de documents à afficher pour le fragmenteur par défaut.*/
define('EF_FRAGMENTEUR_PAR_PAGE_DEFAUT', '20');// Doit contenir une valeur présente dans EF_FRAGMENTEUR_PAR_PAGE
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som.htm
New file
0,0 → 1,115
<html>
<head>
<title>corp som.gif</title>
<meta http-equiv="Content-Type" content="text/html;">
<!-- Fireworks 4.0 Dreamweaver 4.0 target. Created Tue Mar 26 14:01:43 GMT+0100 (Paris, Madrid) 2002-->
</head>
<body bgcolor="#FFFFCC">
<table border="0" cellpadding="0" cellspacing="0" width="742">
<!-- fwtable fwsrc="corp som.png" fwbase="corp som.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
<tr>
<td width="272"><img src="spacer.gif" width="271" height="1" border="0"></td>
<td width="140"><img src="spacer.gif" width="139" height="1" border="0"></td>
<td width="51"><img src="spacer.gif" width="44" height="1" border="0"></td>
<td width="275"><img src="spacer.gif" width="159" height="1" border="0"></td>
<td width="4"><img src="spacer.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFCC" height="75"><font size="5" face="Arial, Helvetica, sans-serif"><b></b></font></td>
<td colspan="2" bgcolor="#FFFFCC" height="75"><img name="corpsom_r1_c3" src="corp som_r1_c3.gif" width="326" height="96" border="0"></td>
<td width="4" height="75"><img src="spacer.gif" width="1" height="96" border="0"></td>
</tr>
<tr>
<td rowspan="11" bgcolor="#FFFFCC" width="272" valign="top">
<div align="left">
<p align="center"><font size="3" face="Arial, Helvetica, sans-serif">Vous
pouvez t&eacute;l&eacute;charger le document suivant:</font></p>
<p align="center"><a href="pages%20html/Evenements/Evenements.htm"><img src="Images/couverture%20atlas.jpg" width="300" height="424" border="0"></a></p>
<p align="center">&nbsp;</p>
</div>
</td>
<td colspan="2" bgcolor="#FFFFCC"><a href="pages%20html/Evenements/Evenements.htm"><img name="corpsom_r2_c2" src="corp som_r2_c2.gif" width="191" height="30" border="0"></a></td>
<td width="275"><img name="corpsom_r2_c4" src="corp som_r2_c4.gif" width="273" height="30" border="0"></td>
<td width="4"><img src="spacer.gif" width="1" height="30" border="0"></td>
</tr>
<tr>
<td rowspan="10" bgcolor="#FFFFCC" width="140">&nbsp;</td>
<td colspan="2" background="corp som_r3_c3.gif">
<div align="center">
<p>&nbsp;</p>
<p><font face="Arial, Helvetica, sans-serif" size="3"><b><font color="#CC0000" size="4">L'Agenda
nouveau est arriv&eacute;</font></b></font></p>
<p><font face="Arial, Helvetica, sans-serif" color="#336600"><b><font size="4"><a href="pages%20html/Fichier_telechargeable/agenda2007_new.pdf">Agenda
2007 au format pdf</a></font></b></font></p>
<p><font size="4"><b><font face="Arial, Helvetica, sans-serif" color="#336600"><a href="pages%20html/Fichier_telechargeable/agenda2007_new.txt">Agenda
2007 au format txt</a></font></b></font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</td>
<td width="4">&nbsp;</td>
</tr>
<tr>
<td colspan="2" background="corp som_r4_c3.gif" height="27">
<p align="center"><font face="Arial, Helvetica, sans-serif" size="3"><a href="http://gestionraisonnable.free.fr/" target="_blank">Un
nouveau site </a> </font></p>
<p align="center"><a href="http://gestionraisonnable.free.fr/" target="_blank"><img src="Images/logo.jpg" width="110" height="110" border="0"></a></p>
<p align="center"><font face="Arial, Helvetica, sans-serif" size="5">C&#146;est
quoi la gestion raisonnable ? </font></p>
<p align="center">&nbsp;</p>
<p align="center"><font face="Arial, Helvetica, sans-serif" size="3">La
main de l&#146;homme entretient nos paysages, aid&eacute;e des outils
et des produits chimiques elle est plus efficace mais elle met en p&eacute;ril
la survie de la nature dont elle s&#146;occupe. </font></p>
<p align="center"><font face="Arial, Helvetica, sans-serif" size="3">La
gestion raisonnable des espaces communaux veut limiter l&#146;usage des
outils et des produits pour garder l&#146;&eacute;quilibre naturel et
la biodiversit&eacute;. Au-del&agrave; des espaces remarquables elle permet
le retour de la nature ordinaire oubli&eacute;e dans nos villes et nos
villages.</font></p>
</td>
<td height="27" width="4"><img src="spacer.gif" width="1" height="38" border="0"></td>
</tr>
<tr>
<td colspan="2" background="corp som_r5_c3.gif" height="30">
<p align="center">&nbsp;</p>
<p align="center"><font face="Arial, Helvetica, sans-serif" size="3">Pour
en savoir plus, allez sur le site <a href="http://gestionraisonnable.free.fr/" target="_blank">www.gestionraisonnable.fr
</a></font></p>
<p align="center">&nbsp;</p>
</td>
<td height="30" width="4"><img src="spacer.gif" width="1" height="38" border="0"></td>
</tr>
<tr>
<td colspan="2" background="corp som_r6_c3.gif" height="2">
<div align="center"><font face="Arial, Helvetica, sans-serif" size="4"><a href="http://gestionraisonnable.free.fr/" target="_blank"><img src="Images/logo.jpg" width="110" height="110" border="0"></a></font></div>
</td>
<td height="2" width="4"><img src="spacer.gif" width="1" height="38" border="0"></td>
</tr>
<tr>
<td colspan="2" background="corp som_r3_c3.gif" height="2" rowspan="6" valign="top">
<div align="center">
<p align="center">&nbsp;</p>
<font face="Arial, Helvetica, sans-serif" size="4"></font></div>
</td>
<td width="4" height="2">&nbsp;</td>
</tr>
<tr>
<td width="4">&nbsp;</td>
</tr>
<tr>
<td width="4">&nbsp;</td>
</tr>
<tr>
<td width="4">&nbsp;</td>
</tr>
<tr>
<td width="4">&nbsp;</td>
</tr>
<tr>
<td width="4" height="2"><img src="spacer.gif" width="1" height="39" border="0"></td>
</tr>
</table>
<img src="spacer.gif" width="1" height="38" border="0">
</body>
</html>
/tags/2014-08-05_centre/ancien_site/bouton.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/bouton.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r2_c2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r2_c2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/hiver/mil.hiver.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/hiver/mil.hiver.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/hiver/haut hiver.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/hiver/haut hiver.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/hiver/bas hiver.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/hiver/bas hiver.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r3_c13.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r3_c13.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r2_c4.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r2_c4.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/sommaire.html
New file
0,0 → 1,17
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="103,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame name="haut" scrolling="NO" noresize src="tete.htm" marginwidth="0" marginheight="0" frameborder="NO" >
<frameset cols="147,613*" frameborder="NO" border="0" framespacing="0" bordercolor="#FFFFCC">
<frame name="gauche" noresize src="3%20palette%20som.htm" marginwidth="0" marginheight="0" scrolling="NO" frameborder="NO" bordercolor="#FFFFCC">
<frame name="droite" src="corp%20som.htm" frameborder="NO" marginwidth="10" marginheight="20" scrolling="AUTO" noresize bordercolor="#FFFFCC">
</frameset>
</frameset>
<noframes>
<body bgcolor="#FFFFCC" text="#000000">
</body>
</noframes>
</html>
/tags/2014-08-05_centre/ancien_site/tete_r1_c15.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r1_c15.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r3_c14.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r3_c14.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r4_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r4_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r7_c11.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r7_c11.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/3 palette som_r2_c1_f2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/3 palette som_r2_c1_f2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/spacer.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/spacer.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r6_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r6_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/carte 2004.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/carte 2004.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r2_c5_f2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r2_c5_f2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete.htm
New file
0,0 → 1,446
<html>
<head>
<title>tete.gif</title>
<meta http-equiv="Content-Type" content="text/html;">
<!-- Fireworks 4.0 Dreamweaver 4.0 target. Created Wed Mar 27 09:48:14 GMT+0100 (Paris, Madrid) 2002-->
<script language="JavaScript">
<!--
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
 
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
 
function MM_nbGroup(event, grpName) { //v3.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
if ((nbArr = document[grpName]) != null)
for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
}
//-->
</script>
<script language="JavaScript">
<!--
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
 
function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
//Copyright 1997 Macromedia, Inc. All rights reserved.
var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
tmLn = document.MM_Time[tmLnName];
if (numGotos != null)
if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
jmpFwd = (fNew > tmLn.curFrame);
for (i = 0; i < tmLn.length; i++) {
sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
if (sprite.charAt(0) == "s") {
numKeyFr = sprite.keyFrames.length;
firstKeyFr = sprite.keyFrames[0];
lastKeyFr = sprite.keyFrames[numKeyFr - 1];
if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
for (j=0; j<sprite.values.length; j++) {
props = sprite.values[j];
if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
if (sprite.obj != null) {
if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
else sprite.obj[props.prop2][props.prop] = props[propNum];
} }
} else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
}
tmLn.curFrame = fNew;
if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}
 
function MM_timelinePlay(tmLnName, myID) { //v1.2
//Copyright 1997 Macromedia, Inc. All rights reserved.
var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
tmLn = document.MM_Time[tmLnName];
if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
if (myID == tmLn.ID) { //if Im newest
setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
fNew = ++tmLn.curFrame;
for (i=0; i<tmLn.length; i++) {
sprite = tmLn[i];
if (sprite.charAt(0) == 's') {
if (sprite.obj) {
numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
keyFrm=1;
for (j=0; j<sprite.values.length; j++) {
props = sprite.values[j];
if (numKeyFr != props.length) {
if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
else sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
} else {
while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
else sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
} } } } }
} else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
if (fNew > tmLn.lastFrame) tmLn.ID = 0;
} }
}
 
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
 
function MM_initTimelines() { //v4.0
//MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
var ns = navigator.appName == "Netscape";
var ns4 = (ns && parseInt(navigator.appVersion) == 4);
var ns5 = (ns && parseInt(navigator.appVersion) > 4);
document.MM_Time = new Array(4);
document.MM_Time[0] = new Array(2);
document.MM_Time["contact"] = document.MM_Time[0];
document.MM_Time[0].MM_Name = "contact";
document.MM_Time[0].fps = 1;
document.MM_Time[0][0] = new String("sprite");
document.MM_Time[0][0].slot = 1;
if (ns4)
document.MM_Time[0][0].obj = document["Layer1"];
else if (ns5)
document.MM_Time[0][0].obj = document.getElementById("Layer1");
else
document.MM_Time[0][0].obj = document.all ? document.all["Layer1"] : null;
document.MM_Time[0][0].keyFrames = new Array(1, 2);
document.MM_Time[0][0].values = new Array(3);
if (ns5)
document.MM_Time[0][0].values[0] = new Array("7px", "668px");
else
document.MM_Time[0][0].values[0] = new Array(7,668);
document.MM_Time[0][0].values[0].prop = "left";
if (ns5)
document.MM_Time[0][0].values[1] = new Array("66px", "75px");
else
document.MM_Time[0][0].values[1] = new Array(66,75);
document.MM_Time[0][0].values[1].prop = "top";
if (!ns4) {
document.MM_Time[0][0].values[0].prop2 = "style";
document.MM_Time[0][0].values[1].prop2 = "style";
}
document.MM_Time[0][0].values[2] = new Array("inherit","hidden");
document.MM_Time[0][0].values[2].prop = "visibility";
if (!ns4)
document.MM_Time[0][0].values[2].prop2 = "style";
document.MM_Time[0][1] = new String("behavior");
document.MM_Time[0][1].frame = 3;
document.MM_Time[0][1].value = "MM_timelineGoto('contact','1')";
document.MM_Time[0].lastFrame = 3;
document.MM_Time[1] = new Array(3);
document.MM_Time["vouvou"] = document.MM_Time[1];
document.MM_Time[1].MM_Name = "vouvou";
document.MM_Time[1].fps = 3;
document.MM_Time[1][0] = new String("sprite");
document.MM_Time[1][0].slot = 1;
if (ns4)
document.MM_Time[1][0].obj = document["Layer2"];
else if (ns5)
document.MM_Time[1][0].obj = document.getElementById("Layer2");
else
document.MM_Time[1][0].obj = document.all ? document.all["Layer2"] : null;
document.MM_Time[1][0].keyFrames = new Array(1, 10);
document.MM_Time[1][0].values = new Array(1);
document.MM_Time[1][0].values[0] = new Array("visible","hidden");
document.MM_Time[1][0].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[1][0].values[0].prop2 = "style";
document.MM_Time[1][1] = new String("sprite");
document.MM_Time[1][1].slot = 1;
if (ns4)
document.MM_Time[1][1].obj = document["Layer2"];
else if (ns5)
document.MM_Time[1][1].obj = document.getElementById("Layer2");
else
document.MM_Time[1][1].obj = document.all ? document.all["Layer2"] : null;
document.MM_Time[1][1].keyFrames = new Array(11, 15);
document.MM_Time[1][1].values = new Array(1);
document.MM_Time[1][1].values[0] = new Array("hidden","hidden");
document.MM_Time[1][1].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[1][1].values[0].prop2 = "style";
document.MM_Time[1][2] = new String("behavior");
document.MM_Time[1][2].frame = 16;
document.MM_Time[1][2].value = "MM_timelineGoto('vouvou','1')";
document.MM_Time[1].lastFrame = 16;
document.MM_Time[2] = new Array(4);
document.MM_Time["etpre"] = document.MM_Time[2];
document.MM_Time[2].MM_Name = "etpre";
document.MM_Time[2].fps = 3;
document.MM_Time[2][0] = new String("sprite");
document.MM_Time[2][0].slot = 1;
if (ns4)
document.MM_Time[2][0].obj = document["Layer3"];
else if (ns5)
document.MM_Time[2][0].obj = document.getElementById("Layer3");
else
document.MM_Time[2][0].obj = document.all ? document.all["Layer3"] : null;
document.MM_Time[2][0].keyFrames = new Array(1, 5);
document.MM_Time[2][0].values = new Array(1);
document.MM_Time[2][0].values[0] = new Array("hidden","hidden");
document.MM_Time[2][0].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[2][0].values[0].prop2 = "style";
document.MM_Time[2][1] = new String("sprite");
document.MM_Time[2][1].slot = 1;
if (ns4)
document.MM_Time[2][1].obj = document["Layer3"];
else if (ns5)
document.MM_Time[2][1].obj = document.getElementById("Layer3");
else
document.MM_Time[2][1].obj = document.all ? document.all["Layer3"] : null;
document.MM_Time[2][1].keyFrames = new Array(6, 10);
document.MM_Time[2][1].values = new Array(1);
document.MM_Time[2][1].values[0] = new Array("visible","hidden");
document.MM_Time[2][1].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[2][1].values[0].prop2 = "style";
document.MM_Time[2][2] = new String("sprite");
document.MM_Time[2][2].slot = 1;
if (ns4)
document.MM_Time[2][2].obj = document["Layer3"];
else if (ns5)
document.MM_Time[2][2].obj = document.getElementById("Layer3");
else
document.MM_Time[2][2].obj = document.all ? document.all["Layer3"] : null;
document.MM_Time[2][2].keyFrames = new Array(11, 15);
document.MM_Time[2][2].values = new Array(1);
document.MM_Time[2][2].values[0] = new Array("hidden","hidden");
document.MM_Time[2][2].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[2][2].values[0].prop2 = "style";
document.MM_Time[2][3] = new String("behavior");
document.MM_Time[2][3].frame = 16;
document.MM_Time[2][3].value = "MM_timelineGoto('etpre','1')";
document.MM_Time[2].lastFrame = 16;
document.MM_Time[3] = new Array(3);
document.MM_Time["Timeline1"] = document.MM_Time[3];
document.MM_Time[3].MM_Name = "Timeline1";
document.MM_Time[3].fps = 3;
document.MM_Time[3][0] = new String("sprite");
document.MM_Time[3][0].slot = 1;
if (ns4)
document.MM_Time[3][0].obj = document["Layer4"];
else if (ns5)
document.MM_Time[3][0].obj = document.getElementById("Layer4");
else
document.MM_Time[3][0].obj = document.all ? document.all["Layer4"] : null;
document.MM_Time[3][0].keyFrames = new Array(1, 10);
document.MM_Time[3][0].values = new Array(1);
document.MM_Time[3][0].values[0] = new Array("hidden","hidden");
document.MM_Time[3][0].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[3][0].values[0].prop2 = "style";
document.MM_Time[3][1] = new String("sprite");
document.MM_Time[3][1].slot = 1;
if (ns4)
document.MM_Time[3][1].obj = document["Layer4"];
else if (ns5)
document.MM_Time[3][1].obj = document.getElementById("Layer4");
else
document.MM_Time[3][1].obj = document.all ? document.all["Layer4"] : null;
document.MM_Time[3][1].keyFrames = new Array(11, 15);
document.MM_Time[3][1].values = new Array(1);
document.MM_Time[3][1].values[0] = new Array("visible","hidden");
document.MM_Time[3][1].values[0].prop = "visibility";
if (!ns4)
document.MM_Time[3][1].values[0].prop2 = "style";
document.MM_Time[3][2] = new String("behavior");
document.MM_Time[3][2].frame = 16;
document.MM_Time[3][2].value = "MM_timelineGoto('Timeline1','1')";
document.MM_Time[3].lastFrame = 16;
for (i=0; i<document.MM_Time.length; i++) {
document.MM_Time[i].ID = null;
document.MM_Time[i].curFrame = 0;
document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
}
}
//-->
</script>
<style type="text/css">
<!--
.unnamed1 { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-style: normal; font-weight: bold; color: #FF9900}
.unnamed2 { font-family: Arial, Helvetica, sans-serif; font-size: 18px; color: #FFFFFF; font-style: normal; font-weight: lighter}
-->
</style>
</head>
<body bgcolor="#FFFFCC" onLoad="MM_preloadImages('pages%20html/gentiana/tete_r1_c2_f4.gif','pages%20html/gentiana/tete_r1_c2.gif','pages%20html/gentiana/tete_r1_c15_f4.gif','pages%20html/gentiana/tete_r1_c15.gif','pages%20html/gentiana/tete_r2_c5_f2.gif','pages%20html/gentiana/tete_r3_c13_f4.gif','pages%20html/gentiana/tete_r3_c13.gif','pages%20html/gentiana/tete_r7_c7_f2.gif','pages%20html/gentiana/tete_r7_c11_f2.gif','pages%20html/gentiana/tete_r8_c9_f2.gif');MM_timelinePlay('contact');MM_timelinePlay('vouvou');MM_timelinePlay('etpre');MM_timelinePlay('Timeline1')">
<table border="0" cellpadding="0" cellspacing="0" width="760" bgcolor="#FFFFCC">
<!-- fwtable fwsrc="tete.png" fwbase="tete.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" -->
<tr>
<td><img src="pages%20html/gentiana/spacer.gif" width="118" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="36" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="14" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="12" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="40" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="36" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="60" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="41" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="46" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="58" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="45" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="21" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="70" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="12" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="52" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="99" height="1" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td rowspan="12" class="unnamed1" valign="top">&nbsp; </td>
<td rowspan="3"><img name="tete_r1_c2" src="pages%20html/gentiana/tete_r1_c2.gif" width="36" height="52" border="0" usemap="#m_tete_r1_c2"></td>
<td colspan="12" class="unnamed2" valign="bottom" height="20"><img src="hiver/haut%20hiver.gif" width="455" height="41" usemap="#Map" border="0"></td>
<td rowspan="4"><img name="tete_r1_c15" src="pages%20html/gentiana/tete_r1_c15.gif" width="52" height="53" border="0" usemap="#m_tete_r1_c15"></td>
<td rowspan="12" valign="bottom">
<div id="Layer1" style="position:absolute; width:87px; height:38px; z-index:1; left: 7px; top: 66px; visibility: inherit"><a href="mailto:gentiana@wanadoo.fr" target="_self"><img src="pages%20html/gentiana/contacteznous.gif" width="100" height="40" border="0"></a></div>
<a href="pages%20html/Evenements/Evenements.htm" target="droite"><img src="Ev%E9.jpg" width="101" height="18" border="0"></a>
</td>
<td height="20"><img src="pages%20html/gentiana/spacer.gif" width="1" height="41" border="0"></td>
</tr>
<tr>
<td rowspan="5" colspan="2"><img name="tete_r2_c3" src="pages%20html/gentiana/tete_r2_c3.gif" width="26" height="17" border="0" usemap="#m_tete_r2_c3"></td>
<td rowspan="7"><a href="pages%20html/activit%E9s/sommaireFrameset-1.htm" onClick="MM_nbGroup('down','group1','tete_r2_c5','pages%20html/gentiana/tete_r2_c5_f2.gif',1)" onMouseOut="MM_nbGroup('out')" onMouseOver="MM_nbGroup('over','tete_r2_c5','pages%20html/gentiana/tete_r2_c5_f2.gif','',1);MM_nbGroup('over','tete_r2_c5','pages%20html/gentiana/tete_r2_c5_f2.gif','',1)" target="_top"><img src="pages%20html/gentiana/tete_r2_c5.gif" width="40" height="41" border="0" name="tete_r2_c5"></a></td>
<td colspan="9" height="2" valign="top"><img src="hiver/mil.hiver.gif" width="389" height="4"></td>
<td height="2"><img src="pages%20html/gentiana/spacer.gif" width="1" height="4" border="0"></td>
</tr>
<tr>
<td rowspan="4" colspan="7" valign="top"><img src="hiver/bas%20hiver.gif" width="307" height="13"></td>
<td rowspan="7"><img name="tete_r3_c13" src="pages%20html/gentiana/tete_r3_c13.gif" width="70" height="44" border="0" usemap="#m_tete_r3_c13"></td>
<td rowspan="4"><img name="tete_r3_c14" src="pages%20html/gentiana/tete_r3_c14.gif" width="12" height="13" border="0" usemap="#m_tete_r3_c14"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="7" border="0"></td>
</tr>
<tr>
<td rowspan="9">&nbsp;</td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td rowspan="8">&nbsp;</td>
<td height="2"><img src="pages%20html/gentiana/spacer.gif" width="1" height="3" border="0"></td>
</tr>
<tr>
<td height="2"><img src="pages%20html/gentiana/spacer.gif" width="1" height="2" border="0"></td>
</tr>
<tr>
<td rowspan="6" colspan="2">&nbsp;</td>
<td rowspan="6">&nbsp;</td>
<td rowspan="4"><a href="pages%20html/flore/sommaireFrameset-1.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r7_c7','','pages%20html/gentiana/tete_r7_c7_f2.gif',1)" target="_top" ><img name="tete_r7_c7" src="pages%20html/gentiana/tete_r7_c7.gif" width="60" height="41" border="0"></a></td>
<td colspan="3"><img src="pages%20html/gentiana/spacer.gif" width="145" height="2" border="0"></td>
<td rowspan="4"><a href="pages%20html/liens/sommaireFrameset-1.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r7_c11','','pages%20html/gentiana/tete_r7_c11_f2.gif',1)" target="_top" ><img name="tete_r7_c11" src="pages%20html/gentiana/tete_r7_c11.gif" width="45" height="41" border="0"></a></td>
<td rowspan="6">&nbsp;</td>
<td rowspan="6">&nbsp;</td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="2" border="0"></td>
</tr>
<tr>
<td rowspan="5">&nbsp;</td>
<td rowspan="4"><a href="pages%20html/protection/sommaireFrameset-1.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r8_c9','','pages%20html/gentiana/tete_r8_c9_f2.gif',1)" target="_top" ><img name="tete_r8_c9" src="pages%20html/gentiana/tete_r8_c9.gif" width="46" height="40" border="0"></a></td>
<td rowspan="5">&nbsp;</td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="22" border="0"></td>
</tr>
<tr>
<td rowspan="4">&nbsp;</td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="7" border="0"></td>
</tr>
<tr>
<td rowspan="3"><img src="pages%20html/gentiana/spacer.gif" width="70" height="14" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="10" border="0"></td>
</tr>
<tr>
<td rowspan="2"><img src="pages%20html/gentiana/spacer.gif" width="60" height="4" border="0"></td>
<td rowspan="2"><img src="pages%20html/gentiana/spacer.gif" width="45" height="4" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td><img src="pages%20html/gentiana/spacer.gif" width="46" height="3" border="0"></td>
<td><img src="pages%20html/gentiana/spacer.gif" width="1" height="3" border="0"></td>
</tr>
<map name="m_tete_r1_c2">
<area shape="poly" coords="35,0,50,39,49,52,0,52,0,0,35,0" href="pages%20html/gentiana/sommaireFrameset-1.htm" onMouseOut="MM_swapImage('tete_r1_c2','','pages%20html/gentiana/tete_r1_c2.gif',1);MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r1_c2','','pages%20html/gentiana/tete_r1_c2_f4.gif',1)" target="_top" >
</map>
<map name="m_tete_r1_c3">
</map>
<map name="m_tete_r1_c15">
<area shape="poly" coords="-11,53,-12,39,7,0,33,0,52,38,52,53,-11,53" href="pages%20html/quoi%20de%20neuf/sommaireFrameset-1.htm" onMouseOut="MM_swapImage('tete_r1_c15','','pages%20html/gentiana/tete_r1_c15.gif',1);MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r1_c15','','pages%20html/gentiana/tete_r1_c15_f4.gif',1)" target="_top" >
</map>
<map name="m_tete_r2_c3">
<area shape="poly" coords="0,-41,14,-23,48,-7,66,-2,113,11,152,14,170,15,222,17,280,17,327,12,368,5,398,-3,431,-16,447,-28,455,-41,0,-41" href="#" >
</map>
<map name="m_tete_r2_c5">
<area shape="poly" coords="-26,-41,-12,-23,22,-7,40,-2,87,11,126,14,144,15,196,17,254,17,301,12,342,5,372,-3,405,-16,421,-28,429,-41,-26,-41" href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r2_c5','','pages%20html/gentiana/tete_r2_c5_f2.gif',1)" >
</map>
<map name="m_tete_r2_c6">
</map>
<map name="m_tete_r3_c6"> </map>
<map name="m_tete_r3_c13">
<area shape="poly" coords="70,44,69,17,61,0,14,0,0,40,70,44" href="pages%20html/bibliographie/sommaireFrameset-1.htm" onMouseOut="MM_swapImage('tete_r3_c13','','pages%20html/gentiana/tete_r3_c13.gif',1);MM_swapImgRestore()" onMouseOver="MM_swapImage('tete_r3_c13','','pages%20html/gentiana/tete_r3_c13_f4.gif',1)" target="_top" >
<area shape="poly" coords="-373,-45,-359,-27,-325,-11,-307,-6,-260,7,-221,10,-203,11,-151,13,-93,13,-46,8,-5,1,25,-7,58,-20,74,-32,82,-45,-373,-45" href="#" >
</map>
<map name="m_tete_r3_c14">
<area shape="poly" coords="-443,-45,-429,-27,-395,-11,-377,-6,-330,7,-291,10,-273,11,-221,13,-163,13,-116,8,-75,1,-45,-7,-12,-20,4,-32,12,-45,-443,-45" href="#" >
</map>
</table>
<div id="Layer2" style="position:absolute; width:197px; height:29px; z-index:2; left: 205px; top: 1px; visibility: visible" class="unnamed2">Vous
voulez conna&icirc;tre</div>
<div id="Layer3" style="position:absolute; width:329px; height:26px; z-index:3; left: 237px; top: 19px; visibility: hidden" class="unnamed2">
<p>et pr&eacute;server la flore sauvage Is&eacute;roise</p>
</div>
<div id="Layer4" style="position:absolute; width:336px; height:32px; z-index:4; top: 13px; left: 258px; visibility: hidden" class="unnamed2">Pour
nous rejoindre, cliquez ici</div>
<map name="Map">
<area shape="rect" coords="68,2,398,37" href="pages%20html/divers/adhesion.html" target="droite">
</map>
</body>
</html>
/tags/2014-08-05_centre/ancien_site/3 palette som_r1_c1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/3 palette som_r1_c1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/3 palette som_r3_c1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/3 palette som_r3_c1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r2_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r2_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r7_c7_f2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r7_c7_f2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/intro_gentiana.swf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/intro_gentiana.swf
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r2_c5.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r2_c5.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r8_c9_f2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r8_c9_f2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/logo.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/logo.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/voeux3_2005 gentiana.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/voeux3_2005 gentiana.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/RBR_affiche_new_petit.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/RBR_affiche_new_petit.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/couverture atlas.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/couverture atlas.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/Point.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/Point.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/Images/affiche_A3_vignet.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/Images/affiche_A3_vignet.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/automne/bas aut.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/automne/bas aut.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/automne/mil.aut.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/automne/mil.aut.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/automne/haut aut.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/automne/haut aut.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/tete_r8_c9.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/tete_r8_c9.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/index.html
New file
0,0 → 1,212
<HTML>
<HEAD>
<TITLE>Bienvenue sur le site de Gentiana !</TITLE>
<script language="javascript">
<!--
 
function sommaire() {window.location.href="sommaire.html";s}
 
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
 
function MM_nbGroup(event, grpName) { //v3.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
if ((nbArr = document[grpName]) != null)
for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
}
//-->
</script>
<meta name="keywords" content="Gentiana, botanique, flore, nature, environnement, association, isère, scientifique">
<meta name="description" content="Gentiana est une société botanique située à Grenoble, en Isère. Son but est de promouvoir et de développer l'étude des milieux naturels très riches du département">
<script language="JavaScript">
<!--
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
 
function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
//Copyright 1997 Macromedia, Inc. All rights reserved.
var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
tmLn = document.MM_Time[tmLnName];
if (numGotos != null)
if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
jmpFwd = (fNew > tmLn.curFrame);
for (i = 0; i < tmLn.length; i++) {
sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
if (sprite.charAt(0) == "s") {
numKeyFr = sprite.keyFrames.length;
firstKeyFr = sprite.keyFrames[0];
lastKeyFr = sprite.keyFrames[numKeyFr - 1];
if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
for (j=0; j<sprite.values.length; j++) {
props = sprite.values[j];
if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
if (sprite.obj != null) {
if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
else sprite.obj[props.prop2][props.prop] = props[propNum];
} }
} else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
}
tmLn.curFrame = fNew;
if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}
 
function MM_timelinePlay(tmLnName, myID) { //v1.2
//Copyright 1997 Macromedia, Inc. All rights reserved.
var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
tmLn = document.MM_Time[tmLnName];
if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
if (myID == tmLn.ID) { //if Im newest
setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
fNew = ++tmLn.curFrame;
for (i=0; i<tmLn.length; i++) {
sprite = tmLn[i];
if (sprite.charAt(0) == 's') {
if (sprite.obj) {
numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
keyFrm=1;
for (j=0; j<sprite.values.length; j++) {
props = sprite.values[j];
if (numKeyFr != props.length) {
if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
else sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
} else {
while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
else sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
} } } } }
} else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
if (fNew > tmLn.lastFrame) tmLn.ID = 0;
} }
}
 
function MM_initTimelines() { //v4.0
//MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
var ns = navigator.appName == "Netscape";
var ns4 = (ns && parseInt(navigator.appVersion) == 4);
var ns5 = (ns && parseInt(navigator.appVersion) > 4);
document.MM_Time = new Array(1);
document.MM_Time[0] = new Array(1);
document.MM_Time["ENT"] = document.MM_Time[0];
document.MM_Time[0].MM_Name = "ENT";
document.MM_Time[0].fps = 10;
document.MM_Time[0][0] = new String("behavior");
document.MM_Time[0][0].frame = 16;
document.MM_Time[0][0].value = "MM_timelineGoto('ENT','1')";
document.MM_Time[0].lastFrame = 16;
for (i=0; i<document.MM_Time.length; i++) {
document.MM_Time[i].ID = null;
document.MM_Time[i].curFrame = 0;
document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
}
}
//-->
</script>
</HEAD>
<BODY bgcolor="#336633" text="#FFFF66" link="#CCFFCC" vlink="#CCCCFF" onLoad="MM_timelinePlay('ENT')">
<p align="center">&nbsp;
<p align="center"><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0"
ID=intro_gentiana WIDTH=550 HEIGHT=350 align="absmiddle">
<PARAM NAME=movie VALUE="intro_gentiana.swf">
<PARAM NAME=loop VALUE=false>
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<param name="SCALE" value="exactfit">
<EMBED src="intro_gentiana.swf" loop=false quality=high bgcolor=#FFFFFF WIDTH=550 HEIGHT=350 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" align="absmiddle" scale="exactfit">
</EMBED>
</OBJECT>
<table width="75%" border="0" align="center" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3">
<center>
<p><font face="Arial, Helvetica, sans-serif" color="#FFFF99">Bienvenue
sur le site de Gentiana, soci&eacute;t&eacute; botanique dauphinoise</font>
<br>
</p>
</center>
</td>
</tr>
<tr>
<td colspan="3">
<center> <font face="Arial, Helvetica, sans-serif" size="2" color="#FFFF99">
<script language="JavaScript">
date = new Date(document.lastModified);
jour = date.getDate();
mois = date.getMonth() + 1;
annee = date.getYear();
document.writeln("Dernière modification effectuée le " + jour +"/"+ mois +"/" + annee );
</script></font>
</center>
</td>
</tr>
<tr>
<td width="21%">
<center>
<a href="sommaire.html" onClick="MM_nbGroup('down','group1','Image1','bouton_over.gif',1)" onMouseOut="MM_nbGroup('out')" onMouseOver="MM_nbGroup('over','Image1','bouton_over.gif','',1)" target="_top"><img src="bouton.gif" width="87" height="49" name="Image1" border="0" lowsrc="bouton_over.gif"></a>
</center>
</td>
<td width="61%">
<center>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
</center>
</td>
<td width="18%">&nbsp;</td>
</tr>
<tr>
<td width="21%" height="20">&nbsp; </td>
<td width="61%" height="20">
<center>
</center>
</td>
<td width="18%" height="20">&nbsp; </td>
</tr>
</table>
</BODY>
</HTML>
/tags/2014-08-05_centre/ancien_site/corp som_r1_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r1_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r3_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r3_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/printemps/mil.prin.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/printemps/mil.prin.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/printemps/haut prin.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/printemps/haut prin.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/printemps/bas prin.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/printemps/bas prin.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/corp som_r5_c3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/corp som_r5_c3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/photos/0162.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/photos/0162.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/photos/0066.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/photos/0066.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Evenements.htm
New file
0,0 → 1,64
<html>
<head>
<title>Ev&egrave;nements</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body bgcolor="#FFFFCC" text="#000000">
<p align="left"><font face="Arial, Helvetica, sans-serif" size="4"><b><font color="#336633">Ev&egrave;nements</font></b></font></p>
<div align="left">
<table width="747" border="0">
<tr>
<td width="705" valign="top" height="1884">
<p><font face="Arial, Helvetica, sans-serif" size="3">Document pr&eacute;paratoire
&agrave; l'<font size="4" color="#009933"><b>Atlas de la flore prot&eacute;g&eacute;e</b></font>
de l'Is&egrave;re.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="3">4 fichiers &agrave;
t&eacute;l&eacute;charger:</font></p>
<ul>
<li><font size="3" face="Arial, Helvetica, sans-serif"><a href="../Fichier_telechargeable/Atlas/couverture%20atlas.jpg" target="_blank">couverture
atlas.jpg </a>(177 ko)</font></li>
<li><font size="3" face="Arial, Helvetica, sans-serif"><a href="../Fichier_telechargeable/Atlas/Introduction%2Bannexes%2Bbiblio.pdf" target="_blank">Introduction+annexes+biblio.pdf</a>
(443 ko)</font></li>
<li><font size="3" face="Arial, Helvetica, sans-serif"><a href="../Fichier_telechargeable/Atlas/Textes%20esp%E8ces%20prot%E9g%E9es%20is%E8re%201.pdf" target="_blank">Textes
esp&egrave;ces prot&eacute;g&eacute;es is&egrave;re 1.pdf </a>(2600
ko) </font></li>
<li><font size="3" face="Arial, Helvetica, sans-serif"><a href="../Fichier_telechargeable/Atlas/Textes%20esp%E8ces%20prot%E9g%E9es%20is%E8re%202.pdf" target="_blank">Textes
esp&egrave;ces prot&eacute;g&eacute;es is&egrave;re 2.pdf </a>(2200
ko) </font></li>
</ul>
<p align="center"><img src="../../Images/couverture%20atlas.jpg" width="300" height="424"></p>
</td>
<td width="32" height="1884" valign="top">
<div align="center">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><font size="3" face="Arial, Helvetica, sans-serif"> </font></p>
</div>
</td>
</tr>
<tr>
<td width="705" height="5">
<div align="center"></div>
</td>
<td width="32" valign="top" nowrap height="5">
<div align="center">
<p align="center">&nbsp;</p>
</div>
</td>
</tr>
<tr>
<td width="705" height="20">
<div align="center"></div>
<p align="center">&nbsp;</p>
</td>
<td width="32" height="20">
<div align="center"></div>
</td>
</tr>
</table>
</div>
<div align="left"></div>
<p>&nbsp;</p>
</body>
</html>
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/FONDATION NB esp neg.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/FONDATION NB esp neg.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/DIREN.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/DIREN.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/MNEI_Logo n et b.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/MNEI_Logo n et b.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/FONDATION NB esp neg copie.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/tags/2014-08-05_centre/ancien_site/pages html/Evenements/Logos financeurs/FONDATION NB esp neg copie.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property