/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/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/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/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.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/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/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/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/ancien_site/contacteznous.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/tags/2014-08-05_centre/ancien_site/contacteznous.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |