| /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 • 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.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/.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/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/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 ('/&/', '&', $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.'&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 .= ' <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"> *</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 ('/&/', '&', $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 ('/&/', '&', $url[1]) ; |
| $url_suppr = new Net_URL(preg_replace ('/&/', '&', $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 ('/&/', '&', $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"> *</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} {element}</strong>'."\n". |
| '<!-- BEGIN required --><span class="symbole_obligatoire"> *</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> '."\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> '."\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', ' & ', 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 & |
| * |
| * 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 & 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 ('/&/', '&', $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} {element}</strong>'."\n". |
| '<!-- BEGIN required --><span class="symbole_obligatoire"> *</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=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n"; |
| } else { |
| $titre='<strong> '.$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 ('/&/', '&', $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"> *</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} {element}</strong>'."\n". |
| '<!-- BEGIN required --><span class="symbole_obligatoire"> *</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=' <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, ' '); |
| //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('&', '&', $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 ('&', '&', $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 ('&', '&', $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.' '.$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 ("/&/", "&", $lien_formulaire->getURL()), BAZ_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL |
| // qui remplacent deux fois les & par des & |
| //Bouton de validation du formulaire // ce qui fait échouer le lien |
| $buttons[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER); |
| $formtemplate->addGroup($buttons, null, null, ' '); |
| } |
| //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=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n";} |
| else {$titre='<strong> '.$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écouvrez Bazar, une application de gestion de fiches classées, consultables en ligne ou par flux RSS, grandement personnalisable.'); |
| define ('BAZ_MOTS_CLES','Bazar, fiches, flux, rss, nouveauté, 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é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écisez vos critères de recherche et appuyez sur le bouton "Rechercher" pour consulter les fiches.'); |
| define ('BAZ_MODIFIE_RSS','Modifié: ' ); |
| define ('BAZ_NOM', 'Nom') ; |
| define ('BAZ_PRENOM', 'Prénom') ; |
| define ('BAZ_TOUS', 'Tous'); |
| define ('BAZ_TOUTES', 'Toutes'); |
| define ('BAZ_MOT_CLE', 'Mots clés (facultatif)'); |
| if (!defined ('BAZ_EMETTEUR')) define ('BAZ_EMETTEUR', 'Émetteur'); |
| define ('BAZ_NATURE', 'Nature de la fiche' ); |
| define ('BAZ_STATUT', 'Statut' ); |
| define ('BAZ_DATE_CREATION', 'Date de création' ); |
| define ('BAZ_DATE_MAJ', 'Date de mise à jour' ); |
| define ('BAZ_URL_IMAGE', 'Image' ); |
| define ('BAZ_LANGUES_PARLES', 'Langues parlé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épé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é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ée'); |
| define ('BAZ_PUBLIEE', 'Publiée') ; |
| define ('BAZ_PAS_DE_FICHE', '<br />Vous n\'avez pas encore déposé de fiches.') ; |
| define ('BAZ_PAS_DE_FICHE_A_VALIDER', 'Pas de fiche à valider pour l\'instant.'); |
| define ('BAZ_VOS_ANNONCES', 'Vos fiches déposées') ; |
| define ('BAZ_ANNONCES_A_ADMINISTRER', 'Les fiches à valider') ; |
| define ('BAZ_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diffé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éjà utilisé 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é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é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é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û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écédent') ; |
| define ('BAZ_SUIVANT', 'Suivant') ; |
| define ('BAZ_PAS_DE_FICHE_CRIT', 'Pas de fiche correspondant à vos critères.') ; |
| define ('BAZ_TEXTE_IMG_ALTERNATIF', 'Image de la fiche'); |
| define ('BAZ_NUM_FICHE', 'Numé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ée >>'); |
| define ('BAZ_RECHERCHE_DE_BASE','<< Recherche simple'); |
| define ('BAZ_DESCRIPTION_RECHERCHE', 'En précisant, ci dessus, le type de fiche cherché, vous pourrez obtenir des fonctions de recherche avancé.'); |
| define ('BAZ_PAS_D_ANNONCES', 'Aucune actualité pour l\'instant'); |
| if (!defined ('BAZ_S_INSCRIRE_AUX_ANNONCES')) define ('BAZ_S_INSCRIRE_AUX_ANNONCES', 'S\'abonner à un type de fiche'); |
| define ('BAZ_ABONNE', 'Abonné'); |
| define ('BAZ_PAS_ABONNE', 'Pas abonné'); |
| define ('BAZ_S_ABONNER', 'S\'abonner'); |
| if (!defined ('BAZ_LAIUS_S_ABONNER')) define ('BAZ_LAIUS_S_ABONNER', 'Il y a deux maniè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ésabonner'); |
| define ('BAZ_RSS', 'Flux RSS'); |
| define ('BAZ_DERNIERE_ACTU', 'Dernières actualités'); |
| if (!defined ('BAZ_DERNIERES_FICHES')) define ('BAZ_DERNIERES_FICHES', 'Les dernières fiches enregistrées'); |
| define ('BAZ_A_MODERER',' à modérer'); |
| define ('BAZ_CONSULTER','Consulter'); |
| define ('BAZ_SAISIR','Saisir'); |
| define ('BAZ_ADMINISTRER','Administrer'); |
| define ('BAZ_FICHE_ECRITE','Fiche écrite par : '); |
| define ('BAZ_NB_VUS','Cette fiche a été consultée '); |
| define ('BAZ_FOIS', ' fois depuis sa création.'); |
| define ('BAZ_LES_COMMENTAIRES', 'Les commentaires sur cette fiche'); |
| define ('BAZ_PAS_DE_COMMENTAIRES', 'Pas de commentaires posté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ées'); |
| define ('BAZ_FICHES_VALIDEES','Seulement les fiches validées'); |
| define ('BAZ_LES_DEUX','Fiches validées et non validé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ûr de vouloir supprimer ce lien ?') ; |
| define ('BAZ_CONFIRMATION_SUPPRESSION_FICHIER', 'Etes-vous sûr de vouloir supprimer ce fichier ?') ; |
| define ('BAZ_CONFIRMATION_SUPPRESSION_IMAGE', 'Etes-vous sû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\'évènement est bien situé 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érifier mon adresse avec la carte'); |
| //================Textes pour les libellés====================================== |
| define ('BAZ_ANNONCES','annonces'); |
| define ('BAZ_PUBLICATIONS','publications'); |
| define ('BAZ_EVENEMENTS','évènements'); |
| define ('BAZ_FORMATIONS','formations'); |
| define ('BAZ_SEJOURS','sé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ères'); |
| define ('BAZ_JEUX','jeux'); |
| define ('BAZ_PETITES_ANNONCES','petites annonces'); |
| define ('BAZ_BREVES','brèves'); |
| define('BAZ_COMPTES_RENDUS','comptes rendus'); |
| define ('BAZ_REALISATION','réalisation'); |
| define ('BAZ_PERSONNES_EXPERTES','personnes expertes'); |
| define ('BAZ_THEMATIQUE','thé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é de la formation'); |
| define ('BAZ_TITRE_FORMATION_REQUIS','L\'intitulé de la formation est obligatoire, veuillez le saisir'); |
| define ('BAZ_SI_MODULE','Si plusieurs modules de formation'); |
| define ('BAZ_NUMERO_MODULE','Numé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òme préparé'); |
| define ('BAZ_NIVEAU', 'Niveau'); |
| define ('BAZ_SI_QUALIFIANTE', 'Si la formation est qualifiante'); |
| define ('BAZ_QUALIF_PREPAREE', 'Qualification préparé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ès'); |
| define ('BAZ_DATE_DEBUT_FORMATION', 'Date de dé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\'évé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éro d\'agréement de la structure'); |
| define ('BAZ_NUM_AGREMENT_REQUIS', 'Le numéro d\'agré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énom'); |
| define ('BAZ_PRENOM_CONTACT_REQUIS', 'Le pré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 électronique'); |
| define ('BAZ_TELEPHONE', 'Téléphone'); |
| define ('BAZ_TELEPHONE_REQUIS', 'Le téléphone du contact est obligatoire, veuillez le saisir'); |
| define ('BAZ_INTERVENANTS', 'Les intervenants'); |
| define ('BAZ_INFOS_COMPLEMENTAIRE', 'Informations complémentaires'); |
| define ('BAZ_COORDONNEES_CONTACT', 'Coordonnées de la personne contact<br />'); |
| define ('BAZ_DUREE_DE_PARUTION', '<strong>Durée de parution:</strong> la date de début de parution indique le moment ou la fiche devient visible sur le site, et la date de fin de parution, le moment où 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',', écrit le '); |
| define ('BAZ_FICHES_CORRESPONDANTES', 'fiches correspondantes à 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égion'); |
| define ('BAZ_REGION_REQUIS', 'Le champs région est requis!'); |
| define ('BAZ_DEPARTEMENT', 'Département') ; |
| define ('BAZ_DEPARTEMENT_REQUIS', 'Le champs dé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ébut de parution' ); |
| define ('BAZ_DATEDEBVALID_REQUIS', 'La date de dé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ébut de l\'évenement' ); |
| define ('BAZ_DATE_DEBUT_EVENEMENT_REQUIS', 'La date de début de l\'évenement est requise!!') ; |
| define ('BAZ_DATE_FIN_EVENEMENT', 'Fin de l\'évenement' ); |
| define ('BAZ_DATE_FIN_EVENEMENT_REQUIS', 'La date de fin de l\'évenement est requise!!') ; |
| define ('BAZ_LIEU_EVENEMENT', 'Lieu de l\'évenement' ); |
| define ('BAZ_LIEU_EVENEMENT_REQUIS', 'Le lieu de l\'é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ée à 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é d\'accueil' ); |
| define ('BAZ_CAPACITE_ACCUEIL_REQUIS', 'La capacité 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\'àges' ); |
| define ('BAZ_LISTE_TRANCHES_AGES_REQUIS', 'Les tranches d\'àges sont requises!!') ; |
| define ('BAZ_LISTE_URL', 'Liens associés à l\'annonce: '); |
| define ('BAZ_PAS_URL', 'Pour l\'instant, pas de lien associé à la fiche, vous pouvez en ajouter ci-dessous.'); |
| define ('BAZ_AJOUTER_URL', 'Ajouter un lien (URL) à 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 à la fiche'); |
| define ('BAZ_FICHIER_JOINT', 'Fichier joint' ); |
| define ('BAZ_LISTE_FICHIERS_JOINTS', 'Fichiers associés à la fiche '); |
| define ('BAZ_PAS_DE_FICHIERS_JOINTS', 'Pour l\'instant, pas de fichier associé à 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éjà un fichier du même nom sur le site.<br />Votre fiche a été associée avec le fichier existant déjà.'); |
| 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é du poste'); |
| define ('BAZ_INTITULE_POSTE_REQUIS', 'L\'intitulé 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é'); |
| define ('BAZ_ELEGIBILITE', 'Elegibilité (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\'échéance de candidature'); |
| define ('BAZ_DATE_DEBUT_EMBAUCHE', 'Date de début d\'embauche'); |
| //================Textes pour les ressources======================================= |
| define ('BAZ_THEME','Thème'); |
| define ('BAZ_THEME_REQUIS','Le thème est requis'); |
| define ('BAZ_TRANCHES_AGES','Tranches d\'âge'); |
| define ('BAZ_TRANCHES_AGES_REQUIS','les tranches d\'â soTRUCTUREnt requises'); |
| define ('BAZ_PERIODE', 'Période'); |
| define ('BAZ_PERIODE_REQUIS', 'Période requise'); |
| define ('BAZ_NIVEAU_SCOLAIRE', 'Niveau scolaire'); |
| define ('BAZ_DATE_DEBUT_SEJOUR', 'Date de début du séjour'); |
| define ('BAZ_DATE_DEBUT_SEJOUR_REQUIS', 'Date de début du séjour requise'); |
| define ('BAZ_DATE_FIN_SEJOUR', 'Date de fin du séjour'); |
| define ('BAZ_DATE_FIN_SEJOUR_REQUIS', 'Date de fin du séjour requise'); |
| define ('BAZ_LIEU', 'Lieu'); |
| define ('BAZ_LIEU_REQUIS', 'Lieu requis'); |
| define ('BAZ_MILIEU_DOMINANT', 'Milieu dominant'); |
| define ('BAZ_HEBERGEMENT', 'Hébergement'); |
| define ('BAZ_HEBERGEMENT_REQUIS', 'Hé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éments'); |
| define ('BAZ_ACTIVITES_DOMINANTES', 'Activités dominantes (en 3 mots clés)'); |
| define ('BAZ_ACTIVITES_DOMINANTES_REQUIS', 'Activités dominantes requises'); |
| define ('BAZ_PRECISION_PRIX', 'Précision sur le prix'); |
| define ('BAZ_PRECISION_PRIX_REQUIS', 'Pré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érent'); |
| define ('BAZ_COORDONNEES','Coordonnées'); |
| define ('BAZ_ANNEE_PARUTION','Année de parution'); |
| define ('BAZ_LANGUE','Langue'); |
| define ('BAZ_THEMES','Thèmes'); |
| define ('BAZ_PAS_D_APPROPRIATION','Aucune structure ne s\'est approprié cette ressource pour l\'instant.'); |
| define ('BAZ_STRUCTURE_POSSEDANT', 'structure possédant cette ressource.'); |
| define ('BAZ_STRUCTURES_POSSEDANT', 'structures possédant cette ressource.'); |
| define ('BAZ_SI_POSSEDE_RESSOURCE', 'Si vous possèdez cette ressource dans votre structure:'); |
| define ('BAZ_POSSEDE_DEJA_RESSOURCE', 'Vous possè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é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écisé'); |
| /** 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é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 '); |
| define ('BAZ_RADIO_REDACTEUR', 'rédacteur '); |
| define ('BAZ_RADIO_ADMINISTRATEUR', 'administrateur '); |
| //================Textes pour les sejours================================== |
| define ('BAZ_TITRE_SEJOUR','Titre du séjour'); |
| define ('BAZ_TITRE_SEJOUR_REQUIS','Le titre du sé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ères fiches enregistrées'); |
| define ('BAZ_FICHE_NUMERO', 'Fiches n°'); |
| define ('BAZ_ECRITE', ' écrite par '); |
| //================ 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é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út'); |
| define ('BAZ_SEPTEMBRE','Septembre'); |
| define ('BAZ_OCTOBRE','Octobre'); |
| define ('BAZ_NOVEMBRE','Novembre'); |
| define ('BAZ_DECEMBRE','Dé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é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/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/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 ("/&/", "&", $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 ("/&/", "&", $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 ('/&/', '&', $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 ('/&/', '&', $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 ('&', '&', $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 ('/&/', '&', $GLOBALS['ins_url']->getURL()) ; |
| $GLOBALS['ins_url']->addQueryString('action', 'inscription'); |
| $url_inscription = preg_replace ('/&/', '&', $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 ('/&/', '&', $GLOBALS['ins_url']->getURL()) ; |
| $GLOBALS['ins_url']->addQueryString('action', 'sendpasswd'); |
| $url_envoi_mdp = preg_replace ('/&/', '&', $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 = ' ' ; |
| } |
| 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, ' '); |
| $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.'&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énom") ; |
| define ("INS_PRENOM_REQUIS", "Veuillez indiquer votre prénom.") ; |
| define ("INS_PAYS", "Pays") ; |
| define ("INS_LANGUES_PARLES", "Langues parlés") ; |
| define ("INS_EMAIL", "Adresse mail") ; |
| define ("INS_MOT_DE_PASSE", "Mot de passe :") ; |
| define ("INS_REPETE_MOT_DE_PASSE", "Répéter le mot de passe :") ; |
| define ("INS_ADRESSE_1", "Adresse ") ; |
| define ("INS_ADRESSE_2", "Adresse (suite)") ; |
| define ("INS_REGION", "Ré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 êtes adhé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é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éjà utilisé 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 êtes inscrit à 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é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éjà inscrit, identifiez-vous pour accéder à votre fiche personnelle :") ; |
| define ("INS_ERREUR_LOGIN", "Utilisateur inconnu ou mot de passe erronné") ; |
| 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 été ". |
| "envoyé à 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ésitez pas à changer ce mot de passe ". |
| "pour en mettre un plus simple, très facile à 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 ('/&/', '&', $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> '."\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&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> </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]).' </td>'."\n". |
| '<td>'.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', $ligne[ANN_CHAMPS_PRENOM])))).' </td>'."\n". |
| '<td>'.date('d m Y', strtotime($ligne[ANN_CHAMPS_DATE_INS])).' </td>'."\n". |
| '<td>'.$ligne[ANN_CHAMPS_CODE_POSTAL].' </td>'."\n". |
| '<td>'.strtoupper($ligne[ANN_CHAMPS_VILLE]).' </td>'."\n". |
| '<td>'.str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', ($ligne[ANN_GC_NOM]))))).' </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.' : </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 .= ' <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' => '€', /* EURO SIGN */ |
| '\x82' => '‚', /* SINGLE LOW-9 QUOTATION MARK */ |
| '\x83' => 'ƒ', /* LATIN SMALL LETTER F WITH HOOK */ |
| '\x84' => '„', /* DOUBLE LOW-9 QUOTATION MARK */ |
| '\x85' => '…', /* HORIZONTAL ELLIPSIS */ |
| '\x86' => '†', /* DAGGER */ |
| '\x87' => '‡', /* DOUBLE DAGGER */ |
| '\x88' => 'ˆ', /* MODIFIER LETTER CIRCUMFLEX ACCENT */ |
| '\x89' => '‰', /* PER MILLE SIGN */ |
| '\x8a' => 'Š', /* LATIN CAPITAL LETTER S WITH CARON */ |
| '\x8b' => '‹', /* SINGLE LEFT-POINTING ANGLE QUOTATION */ |
| '\x8c' => 'Œ', /* LATIN CAPITAL LIGATURE OE */ |
| '\x8e' => 'Ž', /* LATIN CAPITAL LETTER Z WITH CARON */ |
| '\x91' => '‘', /* LEFT SINGLE QUOTATION MARK */ |
| '\x92' => '’', /* RIGHT SINGLE QUOTATION MARK */ |
| '\x93' => '“', /* LEFT DOUBLE QUOTATION MARK */ |
| '\x94' => '”', /* RIGHT DOUBLE QUOTATION MARK */ |
| '\x95' => '•', /* BULLET */ |
| '\x96' => '–', /* EN DASH */ |
| '\x97' => '—', /* EM DASH */ |
| '\x98' => '˜', /* SMALL TILDE */ |
| '\x99' => '™', /* TRADE MARK SIGN */ |
| '\x9a' => 'š', /* LATIN SMALL LETTER S WITH CARON */ |
| '\x9b' => '›', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ |
| '\x9c' => 'œ', /* LATIN SMALL LIGATURE OE */ |
| '\x9e' => 'ž', /* LATIN SMALL LETTER Z WITH CARON */ |
| '\x9f' => 'Ÿ' /* LATIN CAPITAL LETTER Y WITH DIAERESIS*/ |
| ); |
| $translit_map = array( |
| '€' => 'Euro', /* EURO SIGN */ |
| '‚' => ',', /* SINGLE LOW-9 QUOTATION MARK */ |
| 'ƒ' => 'f', /* LATIN SMALL LETTER F WITH HOOK */ |
| '„' => ',,', /* DOUBLE LOW-9 QUOTATION MARK */ |
| '…' => '...', /* HORIZONTAL ELLIPSIS */ |
| '†' => '+', /* DAGGER */ |
| '‡' => '++', /* DOUBLE DAGGER */ |
| 'ˆ' => '^', /* MODIFIER LETTER CIRCUMFLEX ACCENT */ |
| '‰' => '0/00', /* PER MILLE SIGN */ |
| 'Š' => 'S', /* LATIN CAPITAL LETTER S WITH CARON */ |
| '‹' => '<', /* SINGLE LEFT-POINTING ANGLE QUOTATION */ |
| 'Œ' => 'OE', /* LATIN CAPITAL LIGATURE OE */ |
| 'Ž' => 'Z', /* LATIN CAPITAL LETTER Z WITH CARON */ |
| '‘' => "'", /* LEFT SINGLE QUOTATION MARK */ |
| '’' => "'", /* RIGHT SINGLE QUOTATION MARK */ |
| '“' => '"', /* LEFT DOUBLE QUOTATION MARK */ |
| '”' => '"', /* RIGHT DOUBLE QUOTATION MARK */ |
| '•' => '*', /* BULLET */ |
| '–' => '-', /* EN DASH */ |
| '—' => '--', /* EM DASH */ |
| '˜' => '~', /* SMALL TILDE */ |
| '™' => '(TM)', /* TRADE MARK SIGN */ |
| 'š' => 's', /* LATIN SMALL LETTER S WITH CARON */ |
| '›' => '>', /* SINGLE RIGHT-POINTING ANGLE QUOTATION*/ |
| 'œ' => 'oe', /* LATIN SMALL LIGATURE OE */ |
| 'ž' => 'z', /* LATIN SMALL LETTER Z WITH CARON */ |
| 'Ÿ' => '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énom') ; |
| define ('ANN_CP', 'Code Postal') ; |
| define ('ANN_PAYS', 'Pays') ; |
| define ('ANN_LANGUES_PARLES', 'Langues parlés :') ; |
| define ('ANN_EMAIL', 'E-mail :') ; |
| define ('ANN_MOT_DE_PASSE', 'Mot de passe :') ; |
| define ('ANN_REPETE_MOT_DE_PASSE', 'Répé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é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 êtes inscrit à I-Jumelage') ; |
| define ('ANN_CLIQUEZ_LETTRE', 'Cliquez sur une lettre pour voir les inscrits.') ; |
| define ('ANN_LISTE_INSCRIT_LETTRE', 'Liste des inscrits à 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électionner votre destinataire ou cocher / dé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/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/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/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/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_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_r1_c2_f4.gif |
|---|
| Cannot display: file marked as a binary type. |
| svn:mime-type = application/octet-stream |
| /tags/2014-08-05_centre/ancien_site/tete_r1_c2_f4.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.htm |
|---|
| New file |
| 0,0 → 1,53 |
| <html> |
| <head> |
| <title>3 palette som.gif</title> |
| <meta http-equiv="Content-Type" content="text/html;"> |
| <!-- Fireworks 4.0 Dreamweaver 4.0 target. Created Tue Mar 26 11:13:01 GMT+0100 (Paris, Madrid) 2002--> |
| <script language="JavaScript"> |
| <!-- |
| function MM_findObj(n, d) { //v3.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); return x; |
| } |
| 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];}} |
| } |
| //--> |
| </script> |
| </head> |
| <body bgcolor="#FFFFCC" onLoad="MM_preloadImages('3 palette som_r2_c1_f2.gif');"> |
| <table border="0" cellpadding="0" cellspacing="0" width="147"> |
| <!-- fwtable fwsrc="Untitled" fwbase="3 palette som.gif" fwstyle="Dreamweaver" fwdocid = "742308039" fwnested="0" --> |
| <tr> |
| <td><img src="spacer.gif" width="147" height="1" border="0"></td> |
| <td><img src="spacer.gif" width="1" height="1" border="0"></td> |
| </tr> |
| <tr> |
| <td><img name="n3palettesom_r1_c1" src="3 palette som_r1_c1.gif" width="147" height="274" border="0"></td> |
| <td><img src="spacer.gif" width="1" height="274" border="0"></td> |
| </tr> |
| <tr> |
| <td><a href="pages%20html/divers/credits.html" onMouseOut="MM_swapImgRestore();" onMouseOver="MM_swapImage('n3palettesom_r2_c1','','3 palette som_r2_c1_f2.gif',1);" target="droite" ><img name="n3palettesom_r2_c1" src="3 palette som_r2_c1.gif" width="147" height="36" border="0"></a></td> |
| <td><img src="spacer.gif" width="1" height="36" border="0"></td> |
| </tr> |
| <tr> |
| <td><img name="n3palettesom_r3_c1" src="3 palette som_r3_c1.gif" width="147" height="324" border="0"></td> |
| <td><img src="spacer.gif" width="1" height="324" border="0"></td> |
| </tr> |
| </table> |
| </body> |
| </html> |
| /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"> </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"> </td> |
| <td><img src="pages%20html/gentiana/spacer.gif" width="1" height="1" border="0"></td> |
| </tr> |
| <tr> |
| <td rowspan="8"> </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"> </td> |
| <td rowspan="6"> </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"> </td> |
| <td rowspan="6"> </td> |
| <td><img src="pages%20html/gentiana/spacer.gif" width="1" height="2" border="0"></td> |
| </tr> |
| <tr> |
| <td rowspan="5"> </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"> </td> |
| <td><img src="pages%20html/gentiana/spacer.gif" width="1" height="22" border="0"></td> |
| </tr> |
| <tr> |
| <td rowspan="4"> </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î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éserver la flore sauvage Isé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_r2_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_r2_c1.gif |
|---|
| New file |
| Property changes: |
| Added: svn:mime-type |
| +application/octet-stream |
| \ No newline at end of property |