Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1297 → Rev 1298

/trunk/client/bazar/upload/vide.txt
--- trunk/client/bazar/bazar.php (revision 1297)
+++ trunk/client/bazar/bazar.php (revision 1298)
@@ -19,7 +19,7 @@
// | 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.39 2007-04-04 08:51:01 florian Exp $
+// CVS : $Id: bazar.php,v 1.40 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
@@ -28,7 +28,7 @@
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
-*@version $Revision: 1.39 $ $Date: 2007-04-04 08:51:01 $
+*@version $Revision: 1.40 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
@@ -48,22 +48,22 @@
}
//**********************************************************************************************************
-//initialisation des parametres papyrus
+//initialisation des paramêtres papyrus
//**********************************************************************************************************
-//si un parametre est precise dans le gestionnaire de menus papyrus, on le prends en compte
+//si un parametre est précisé dans le gestionnaire de menus papyrus, on le prends en compte
-//parametre action pour lancer directement l'action indiquee
+//parametre action pour lancer directement l'action indiquée
if (!isset($_GET['action'])and(isset($GLOBALS['_GEN_commun']['info_application']->action))) {
$_GET['action']=$GLOBALS['_GEN_commun']['info_application']->action;
}
-//parametre voir_menu pour afficher le menu ou pas (par defaut, il l'affiche)
+//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 defaut, il affiche les id_menu=0)
+//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;
}
@@ -205,13 +205,13 @@
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_liste($GLOBALS['_BAZAR_']['id_typeannonce']); break;
- case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression().baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']); break;
+ case BAZ_ACTION_MODIFIER_V : $res .= baz_formulaire(BAZ_ACTION_MODIFIER_V).mes_fiches(); break;
+ case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression().mes_fiches(); break;
case BAZ_ACTION_PUBLIER : publier_fiche(1) ;$res .= fiches_a_valider(); break;
case BAZ_ACTION_PAS_PUBLIER : publier_fiche(0) ;$res .= fiches_a_valider(); break;
case BAZ_GERER_DROITS : $res .= baz_gestion_droits(); break;
case BAZ_S_INSCRIRE : $res .= baz_s_inscrire(); break;
- case BAZ_VOIR_FLUX_RSS : header('Content-type: text/xml; charset=UTF-8');include("bazarRSS.php");exit(0);break;
+ case BAZ_VOIR_FLUX_RSS : header('Content-type: text/xml; charset=ISO-8859-1');include("bazarRSS.php");exit(0);break;
default : $res .= baz_liste($GLOBALS['_BAZAR_']['id_typeannonce']) ;
}
}
@@ -225,20 +225,9 @@
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
-* Revision 1.38 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.35.2.2 2007/03/07 16:53:17 jp_milcent
+* Suppression du query string "action" et non pas "nature"
*
-* Revision 1.37 2007/03/08 15:12:13 jp_milcent
-* Fusion avec la livraison Menes : 08 mars 2007
-*
-* Revision 1.35.2.2 2007/03/07 16:53:17 jp_milcent
-* Suppression du query string "action" et non pas "nature"
-*
-* Revision 1.36 2007/02/15 14:18:38 jp_milcent
-* Fusion avec la livraison Menes : 15 février 2007
-*
* 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.
/trunk/client/bazar/bazar.desinscription.inc.php
19,7 → 19,7
// | 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.desinscription.inc.php,v 1.2 2007-03-08 15:12:13 jp_milcent Exp $
// CVS : $Id: bazar.desinscription.inc.php,v 1.3 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
28,7 → 28,7
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2005
*@version $Revision: 1.2 $
*@version $Revision: 1.3 $
// +------------------------------------------------------------------------------------------------------+
*/
/* Ce programme est appelé depuis inscription.php et
/trunk/client/bazar/bazar.interne.css
4,190 → 4,36
+----------------------------------------------------------------------------+
| Copyright (c) 2005 Ecole et Nature |
+----------------------------------------------------------------------------+
| Feuille de style interne specifique a l'application Bazar |
| Feuille de style interne spécifique a l'application Bazar |
+----------------------------------------------------------------------------+
| Auteur : Florian SCHMITT <florian@ecole-et-nature.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 {
float:left; clear:both;
margin:0 auto 10px auto; width:505px; _width:525px; padding:0 10px 10px 10px;
border:1px solid #3554AA;-moz-border-radius:18px;
border-top:0;
text-indent:0; font: 12px arial, sans-serif; color:#000; text-align:justify; line-height:17px;
background:#FFF url(images/Bandeau-fiche-Actualites.gif) no-repeat top left;
}
 
.BAZ_cadre_fiche_projets {
border:1px solid #4f3493;-moz-border-radius:18px;
border-top:0;
background:#FFF url(images/Bandeau-fiche-Projets.gif) no-repeat top left;
}
 
.BAZ_cadre_fiche_personnes_ressources, .BAZ_cadre_fiche_comptes_rendus, .BAZ_cadre_fiche_jeux, .BAZ_cadre_fiche_realisations, .BAZ_cadre_fiche_sites_internet {
border:1px solid #f2b814;-moz-border-radius:18px;
border-top:0;
background:#FFF url(images/Bandeau-fiche-Ekotheque.gif) no-repeat top left;
}
 
.BAZ_titre { padding:20px 0 0 100px; height:51px; _height:71px; color:#FFF; background:transparent; width:425px; _width:525px;}
.BAZ_nb_vues {font-weight:bold; }
.BAZ_cadre_fiche {margin:0 auto;width:100%;padding:10px;
border: 1px solid #3082AA;-moz-border-radius:10px;
text-indent:0; font: 13px arial, sans-serif; color:#000; text-align:justify; line-height:17px;}
.BAZ_cadre_fiche a {font: 14px arial, sans-serif;color:#3082AA;text-decoration:underline;}
.BAZ_cadre_fiche a:hover {color:#515966;text-decoration:underline;}
.BAZ_fiche_image {float:left; height:147px; _height:157px; width:147px; _width:157px; padding:5px; margin-right:10px; background:#FFF url(images/Zone-image.gif) no-repeat top left;}
.BAZ_image {margin:3px 0 0 3px; width:140px; height:140px;}
.BAZ_fiche_titre {text-align:left; background:transparent; border:0; color:#EF7D16; text-decoration:underline; font: 16px arial, sans-serif; font-weight:bold; padding:0; margin:0 0 10px 0;}
.BAZ_description {min-height:120px;font: 13px arial, sans-serif;text-align:justify; margin:0 0 10px 0;}
.BAZ_bas_page {margin: 0;padding:0;}
.BAZ_commentaire_admin {padding-left:10px; background:#FFF;border:1px solid #3554AA; -moz-border-radius:10px;}
.BAZ_actions_fiche {width:140px;float:right; background:#FFF;border:1px solid #3554AA; -moz-border-radius:10px; }
.BAZ_infos_fiche {float:left; width:340px;}
.BAZ_actions_fiche ul {list-style-type:none;}
 
.BAZ_bulle_corps {float:left; clear:both; width:97%; margin:0 0 10px 0; padding:10px 5px; border:1px solid #3554AA; -moz-border-radius:10px; background:#85D7FF;}
.BAZ_bulle_corps_projets {border:1px solid #4f3493; -moz-border-radius:10px; background:#8f78D7;}
.BAZ_bulle_corps_personnes_ressources, .BAZ_bulle_corps_comptes_rendus, .BAZ_bulle_corps_jeux, .BAZ_bulle_corps_realisations, .BAZ_bulle_corps_sites_internet {border:1px solid #f2b814; -moz-border-radius:10px; background:#F6FC58;}
 
.BAZ_rubrique {margin:0 0 10px 0;}
.BAZ_label {width:150px; text-align:left; font:bold 13px arial,sans-serif; color:#4F3493; }
.BAZ_texte {margin:0 0 10px 0;}
.BAZ_liste {list-style: none;list-style-type:none; margin:0 0 10px 0; padding:0;}
.BAZ_liste_lien {background: url(images/Puce-site.gif) no-repeat top left; height:27px; padding:5px 0 0 33px;}
.BAZ_liste_fichier {background: url(images/Puce-groupe-travail.gif) no-repeat top left; height:27px; padding:5px 0 0 33px;}
.BAZ_lien {color:#3554AA; text-decoration:none;}
.BAZ_lien:hover {color:#4F3493; }
.BAZ_lien_wikini {margin:0 0 10px 0; padding:10px 5px; height:93px; _height:113px; border:1px solid #4f3493;-moz-border-radius:10px;background:#f2b814 url(images/Projets-actif.gif) no-repeat top left;}
div.BAZ_lien_wikini a {padding:33px 0 0 0; height:60px; _height:113px; color:#FFF; text-decoration:none; text-align:center; font-weight:bold; font-size:22px; float:right; width:400px;}
#fiche_image {float:left;height:150px; width:150px;}
#fiche_titre {text-align:left;width:100%;padding-left:10px; background:transparent; border:0; color:#B1BB7E; font: 19px arial, sans-serif;}
#BAZ_description {min-height:120px;font: 15px arial, sans-serif;text-align:justify;}
#BAZ_bas_page {margin: 0;padding:0;}
.bulle_haut {margin: 0;padding:0;}
.bulle_corps {margin: 0;padding:10px 5px;border: 1px solid #3082AA;-moz-border-radius:10px;background:#DBE8C8;}
.bulle_bas {margin: 0;padding:0;}
#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 arial, sans-serif; color: #515966;}
.rubrique_bulle {width:90px;text-align:left;font: bold 15px arial, sans-serif; color: #000;}
.infos {width:70%;float:left;min-height:120px;font: bold 15px arial, sans-serif; color: #B1BB7E;line-height: 25px;}
.bazar_checkbox {float:left;width:170px;font:10px arial, sans-serif;border:0;}
.lien_wikini {margin: 0;padding:10px 5px;border: 2px solid #DBE8C8;-moz-border-radius:10px;background:#3082AA;}
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;}
#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;}
/* CALENDRIER */
#cal_entete{
display:block;
background:transparent url(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{
position:absolute;
background:transparent;
top:10px;
right:20px;
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:6px;
width:1003px;}
/* 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:134px;
border-width:2px;}
.calendrier td {
height:83px;
width:134px;
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;
width:120px;}
.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;}
.table_bazar #col1,.table_bazar #col2,.table_bazar #col3,.table_bazar #col4{text-align:center;}
/trunk/client/bazar/bazar.calendrier.php
32,7 → 32,7
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
// termes.
// ----
// CVS : $Id: bazar.calendrier.php,v 1.9 2007-02-15 18:16:45 jp_milcent Exp $
// CVS : $Id: bazar.calendrier.php,v 1.10 2007-04-11 08:30:12 neiluj Exp $
/**
* bazar_calendrier : programme affichant les evenements du bazar sous forme de Calendrier
*
40,7 → 40,7
*@package Bazar
//Auteur original :
*@author David DELON <david.delon@clapas.net>
*@version $Revision: 1.9 $ $Date: 2007-02-15 18:16:45 $
*@version $Revision: 1.10 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
if (!defined('BAZ_VOIR_FICHE')) {
48,11 → 48,15
}
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
include_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazar
 
 
include_once 'bibliotheque/bazar.fonct.cal.php'; //fichier des fonctions de Bazar
 
 
function afficherContenuCorps() {
return GestionAffichageCalendrier('calendrier');
}
?>
?>
/trunk/client/bazar/bazar.inscription.inc.php
19,7 → 19,7
// | 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.inscription.inc.php,v 1.5 2007-03-08 15:12:13 jp_milcent Exp $
// CVS : $Id: bazar.inscription.inc.php,v 1.6 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
28,7 → 28,7
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2005
*@version $Revision: 1.5 $
*@version $Revision: 1.6 $
// +------------------------------------------------------------------------------------------------------+
*/
 
/trunk/client/bazar/langues/baz_langue_fr.inc.php
1,477 → 1,453
<?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.49 2007-04-04 08:51:01 florian 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.49 $ $Date: 2007-04-04 08:51:01 $
// +------------------------------------------------------------------------------------------------------+
*/
 
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_FICHE_NUMERO', 'Fiche n&deg;');
define ('BAZ_ECRITE', ' &eacute;crite par ');
define ('BAZ_TITREAPPLI','Gestionnaire de fiches (Bazar) ');
define ('BAZ_DESCRIPTIONAPPLI','D&eacute;couvrez Bazar, une application de gestion de fiches class&eacute;es, consultables en ligne ou par flux RSS, grandement personnalisable.');
define ('BAZ_MOTS_CLES','Bazar, fiches, flux, rss, nouveaut&eacute;, information, gestionnaire, xml, syndication, info, application, php, dynamique, mise, aacute; , jour ');
define ('BAZ_TOUTES_LES_ANNONCES', 'Consulter les fiches');
define ('BAZ_CONSULTER_FICHES_VALIDEES', 'Consulter les fiches valid&eacute;es');
define ('BAZ_TOUTES_LES_ANNONCES_DE_TYPE', 'Consulter toutes les fiches de type:');
define ('BAZ_TOUS_TYPES_FICHES', 'Tous types de fiches');
define ('BAZ_TOUS_LES_EMETTEURS', 'Tous les emetteurs');
define ('BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE','Pr&eacute;cisez vos crit&egrave;res de recherche et appuyez sur le bouton "Rechercher" pour consulter les fiches.');
define ('BAZ_MODIFIE_RSS','Modifi&eacute;: ' );
define ('BAZ_NOM', 'Nom') ;
define ('BAZ_PRENOM', 'Pr&eacute;nom') ;
define ('BAZ_TOUS', 'Tous');
define ('BAZ_TOUTES', 'Toutes');
define ('BAZ_MOT_CLE', 'Mots cl&eacute;s (facultatif)');
define ('BAZ_EMETTEUR', 'Emetteur');
define ('BAZ_NATURE', 'Nature de la fiche' );
define ('BAZ_STATUT', 'Statut' );
define ('BAZ_DATE_CREATION', 'Cr&eacute;&eacute;e le' );
define ('BAZ_DATE_MAJ', '- mise &agrave; jour le' );
define ('BAZ_SUPPRIMER_LA_FICHE','Supprimer la fiche');
define ('BAZ_VALIDER_LA_FICHE','Valider la fiche');
define ('BAZ_INVALIDER_LA_FICHE','Invalider la fiche');
define ('BAZ_URL_IMAGE', 'Image' );
define ('BAZ_LANGUES_PARLES', 'Langues parl&eacute;s :') ;
define ('BAZ_EMAIL', 'E-mail :') ;
define ('BAZ_MOT_DE_PASSE', 'Mot de passe') ;
define ('BAZ_TITREANNONCE', 'Titre de la fiche') ;
define ('BAZ_TYPEANNONCE', 'Type de fiche') ;
define ('BAZ_ANNONCEUR', 'Annonceur') ;
define ('BAZ_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe :') ;
define ('BAZ_OUI', 'Oui') ;
define ('BAZ_NON', 'Non') ;
define ('BAZ_ANNULER', 'Annuler') ;
define ('BAZ_RETOUR', 'Retour') ;
define ('BAZ_RETABLIR', 'R&eacute;tablir') ;
define ('BAZ_VALIDER', 'Valider') ;
define ('BAZ_PUBLIER', 'Valider la publication') ;
define ('BAZ_ETATPUBLICATION', 'Etat de publication') ;
define ('BAZ_ENCOURSDEVALIDATION', 'En attente de validation');
define ('BAZ_REJETEE', 'Rejet&eacute;e');
define ('BAZ_PUBLIEE', 'Publi&eacute;e') ;
define ('BAZ_PAS_DE_FICHE', '<br />Vous n\'avez pas encore d&eacute;pos&eacute; de fiches.') ;
define ('BAZ_PAS_DE_FICHE_A_VALIDER', 'Pas de fiches a valider pour l\'instant.');
define ('BAZ_VOS_ANNONCES', 'Vos fiches d&eacute;pos&eacute;es') ;
define ('BAZ_ANNONCES_A_ADMINISTRER', 'Les fiches &agrave; valider') ;
define ('BAZ_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('BAZ_EMAIL_REQUIS', 'Vous devez saisir un email.') ;
define ('BAZ_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('BAZ_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('BAZ_MAIL_DOUBLE', 'Cet email est d&eacute;j&agrave utilis&eacute; par quelqu\'un d\'autre') ;
define ('BAZ_NOTE_REQUIS', 'Indique les champs requis') ;
define ('BAZ_ERREUR_SAISIE', 'Erreur de saisie ') ;
define ('BAZ_VEUILLEZ_CORRIGER', 'Veuillez corriger') ;
define ('BAZ_MODIFIER', 'Modifier') ;
define ('BAZ_MODIFIER_LA_FICHE', 'Modifier la fiche') ;
define ('BAZ_SUPPRIMER', 'Supprimer') ;
define ('BAZ_SELECTION', '--S&eacute;lectionnez ici--');
define ('BAZ_DROITS_PAR_TYPE', 'Droits par type de fiches:');
define ('BAZ_TITRE_SAISIE_ANNONCE', 'Entrer une fiche de type: ');
define ('BAZ_ACCUEIL','Accueil');
define ('BAZ_SORTIRDELAPPLI','Quittez l\'application Bazar');
define ('BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE', 'Saisir une fiche') ;
define ('BAZ_CHOIX_TYPEANNONCE', 'Choisissez le type de fiche que vous souhaitez d&eacute;poser:') ;
define ('BAZ_GESTION_DES_DROITS', 'Gestion des droits');
define ('BAZ_DESCRIPTION_GESTION_DES_DROITS', 'Veuillez choisir un utilisateur dans la liste d&eacute;roulante ci-dessous pour administrer ses droits.');
define ('BAZ_LABEL_CHOIX_PERSONNE', 'Choix de la personne dans l\'annuaire: ');
define ('BAZ_CONFIRMATION_SUPPRESSION', 'Etes-vous s&ucirc;r de vouloir supprimer cette fiche ?') ;
define ('BAZ_NON_VALIDE', 'Non valide') ;
define ('BAZ_VALIDE', 'Valide') ;
define ('BAZ_PRECEDENT', 'Pr&eacute;c&eacute;dent') ;
define ('BAZ_SUIVANT', 'Suivant') ;
define ('BAZ_PAS_DE_FICHE_CRIT', 'Pas de fiche correspondant &agrave; vos crit&egrave;res.') ;
define ('BAZ_TEXTE_IMG_ALTERNATIF', 'Image de la fiche');
define ('BAZ_NUM_FICHE', 'Num&eacute;ro de fiche');
define ('BAZ_ADMIN_ANNONCES', 'Modifier les types de fiches');
define ('BAZ_RECHERCHER_DES_ANNONCES', 'Rechercher des fiches');
define ('BAZ_RECHERCHE_AVANCEE', 'Recherche avanc&eacute;e >>');
define ('BAZ_RECHERCHE_DE_BASE','<< Recherche simple');
define ('BAZ_DESCRIPTION_RECHERCHE', 'En pr&eacute;cisant, ci dessus, le type de fiche cherch&eacute;, vous pourrez obtenir des fonctions de recherche avanc&eacute;.');
define ('BAZ_PAS_D_ANNONCES', 'Pas de fiches trouv&eacute;es.');
define ('BAZ_S_INSCRIRE_AUX_ANNONCES', 'S\'abonner &agrave; un type de fiche');
define ('BAZ_ABONNE', 'Abonn&eacute;');
define ('BAZ_PAS_ABONNE', 'Pas abonn&eacute;');
define ('BAZ_S_ABONNER', 'S\'abonner');
define ('BAZ_LAIUS_S_ABONNER', 'Il y a deux mani&egrave;res de s\'abonner:<br />- soit en s\'abonnant pour recevoir les fiches par mails<br />- soit par flux RSS');
define ('BAZ_SE_DESABONNER', 'Se d&eacute;sabonner');
define ('BAZ_RSS', 'Flux RSS');
define ('BAZ_DERNIERE_ACTU', 'Derni&egrave;res actualit&eacute;s');
if (!defined ('BAZ_DERNIERES_FICHES')) define ('BAZ_DERNIERES_FICHES', 'Les derni&egrave;re fiches enregistr&eacute;es');
define ('BAZ_A_MODERER',' &agrave; mod&eacute;rer');
define ('BAZ_CONSULTER','Consulter');
define ('BAZ_SAISIR','Saisir');
define ('BAZ_ADMINISTRER','Administrer');
define ('BAZ_FICHE_ECRITE','Fiche &eacute;crite par : ');
define ('BAZ_NB_VUS','Cette fiche a &eacute;t&eacute; consult&eacute;e ');
define ('BAZ_FOIS', ' fois depuis sa cr&eacute;ation.');
define ('BAZ_LES_COMMENTAIRES', 'Les commentaires sur cette fiche');
define ('BAZ_PAS_DE_COMMENTAIRES', 'Pas de commentaires post&eacute;s pour l\'instant, vous &ecirc;tes le (la) premier (premi&egrave;re) !!');
define ('BAZ_IL_Y_A', 'Il y a ');
define ('BAZ_COMMENTAIRE', 'commentaire : ');
define ('BAZ_COMMENTAIRES', 'commentaires : ');
define ('BAZ_ENTREZ_VOTRE_NOM', 'Entrez votre nom : ');
define ('BAZ_ENTREZ_VOTRE_COMMENTAIRE', 'Entrez votre commentaire : ');
define ('BAZ_ENVOYER','Envoyer');
define ('BAZ_NOM_REQUIS', 'Le champs nom ne doit pas rester vide');
define ('BAZ_COMMENTAIRE_REQUIS', 'Le champs commentaire ne doit pas rester vide');
define ('BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE', 'Les structures possédant cette ressource');
define ('BAZ_FICHES_PAS_VALIDEES','Seulement les fiches pas valid&eacute;es');
define ('BAZ_FICHES_VALIDEES','Seulement les fiches valid&eacute;es');
define ('BAZ_LES_DEUX','Fiches valid&eacute;es et non valid&eacute;es');
define ('BAZ_VOIR_VOS_ANNONCES', 'Vos fiches');
define ('BAZ_RECHERCHER','Rechercher');
define ('BAZ_SAISIR_UNE_NOUVELLE_FICHE','Saisir une nouvelle fiche');
define ('BAZ_POUR_CHANGER_IMAGE','Pour changer d\'image, il suffit d\'en saisir une autre ci dessous.');
define ('BAZ_CONFIRMATION_SUPPRESSION_LIEN', 'Etes-vous s&ucirc;r de vouloir supprimer ce lien ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_FICHIER', 'Etes-vous s&ucirc;r de vouloir supprimer ce fichier ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_IMAGE', 'Etes-vous s&ucirc;r de vouloir supprimer cette image ?') ;
define ('BAZ_VALIDER_PUBLICATION', 'Valider la publication');
define ('BAZ_ENTRER_PROJET', 'ENTRER SUR L\'ESPACE DU PROJET');
//================Textes pour les libelles======================================
define ('BAZ_ANNONCES','annonces');
define ('BAZ_PUBLICATIONS','publications');
define ('BAZ_EVENEMENTS','&eacute;v&egrave;nements');
define ('BAZ_FORMATIONS','formations');
define ('BAZ_SEJOURS','s&eacute;jours');
define ('BAZ_EMPLOIS','emplois');
define ('BAZ_RESS_HUMAINES','Ressources humaines');
define ('BAZ_RESS_DOCS','Ressources documentaires');
define ('BAZ_RESS_PHYSIQUES','Ressources physiques');
define ('BAZ_RESS_FINANCIERES','Ressources financi&egrave;res');
define ('BAZ_JEUX','jeux');
define ('BAZ_PETITES_ANNONCES','petites annonces');
define ('BAZ_BREVES','br&egrave;ves');
define('BAZ_COMPTES_RENDUS','comptes rendus');
define ('BAZ_REALISATION','r&eacute;alisation');
define ('BAZ_PERSONNES_EXPERTES','personnes expertes');
define ('BAZ_THEMATIQUE','th&eacute;matique');
define ('BAZ_THEMATIQUE_REQUIS','la thematique est requise');
define ('BAZ_SITE_INTERNET','site internet');
define ('BAZ_ADRESSE_CONTACT','Adresse du contact');
define ('BAZ_MAIL_CONTACT','Mail du contact');
define ('BAZ_MAIL_CONTACT_REQUIS','Le mail du contact est requis');
 
//================Textes pour les formations====================================
define ('BAZ_TITRE_FORMATION','Intitul&eacute; de la formation');
define ('BAZ_TITRE_FORMATION_REQUIS','L\'intitul&eacute; de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_MODULE','Si plusieurs modules de formation');
define ('BAZ_NUMERO_MODULE','Num&eacute;ro de module');
define ('BAZ_NB_TOTAL_MODULE','Nombre total de modules');
define ('BAZ_TYPE_FORMATION','Type de la formation');
define ('BAZ_TYPE_FORMATION_REQUIS','Le type de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_DIPLOMANTE','Si la formation est diplomante');
define ('BAZ_DIPLOME_PREPARE', 'Dipl&ograve;me pr&eacute;par&eacute;');
define ('BAZ_NIVEAU', 'Niveau');
define ('BAZ_SI_QUALIFIANTE', 'Si la formation est qualifiante');
define ('BAZ_QUALIF_PREPAREE', 'Qualification pr&eacute;par&eacute;e');
define ('BAZ_OBJECTIFS', 'Objectifs');
define ('BAZ_OBJECTIFS_REQUIS', 'Entrer les objectifs est obligatoire, veuillez les saisir');
define ('BAZ_CONTENU', 'Contenu');
define ('BAZ_PUBLIC', 'Publics');
define ('BAZ_PUBLIC_REQUIS', 'Publics');
define ('BAZ_CONDITIONS_ACCES', 'Conditions d\'acc&egrave;s');
define ('BAZ_DATE_DEBUT_FORMATION', 'Date de d&eacute;but de la formation');
define ('BAZ_DATE_FIN_FORMATION', 'Date de fin de la formation');
define ('BAZ_DATE_FIN_INSCRIPTION', 'Date limite d\'inscription');
define ('BAZ_CP_LIEU_EVENEMENT', 'Code postal du lieu de l\'&eacute;v&eacute;nement');
define ('BAZ_TARIF_INDIVIDUEL', 'Tarif individuel (en euros)');
define ('BAZ_TARIF_ENTREPRISE', 'Tarif entreprise (en euros)');
define ('BAZ_TARIF_OPCA', 'Tarif OPCA (en euros)');
define ('BAZ_NUM_AGREMENT', 'Num&eacute;ro d\'agr&eacute;ement de la structure');
define ('BAZ_NUM_AGREMENT_REQUIS', 'Le numéro d\'agr&eacute;ement de la structure est obligatoire, veuillez le saisir');
define ('BAZ_ANNONCE_REQUIS','Le corps de l\'annonce est requis');
define ('BAZ_PRENOM_CONTACT', 'Pr&eacute;nom');
define ('BAZ_PRENOM_CONTACT_REQUIS', 'Le pr&eacute;nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_NOM_CONTACT', 'Nom');
define ('BAZ_NOM_CONTACT_REQUIS', 'Le nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_MAIL', 'Adresse &eacute;lectronique');
define ('BAZ_TELEPHONE', 'T&eacute;l&eacute;phone');
define ('BAZ_TELEPHONE_REQUIS', 'Le t&eacute;l&eacute;phone du contact est obligatoire, veuillez le saisir');
define ('BAZ_INTERVENANTS', 'Les intervenants');
define ('BAZ_INFOS_COMPLEMENTAIRE', 'Informations compl&eacute;mentaires');
define ('BAZ_COORDONNEES_CONTACT', 'Coordonn&eacute;es de la personne contact<br />');
define ('BAZ_DUREE_DE_PARUTION', '<strong>Dur&eacute;e de parution:</strong> la date de d&eacute;but de parution indique le moment ou la fiche devient visible sur le site, et la date de fin de parution, le moment o&ugrave; elle disparait.<br />');
define ('BAZ_LIGNE_HORIZONTALE', '<hr />');
define ('BAZ_CHAMPS_REQUIS', ': champs requis');
define ('BAZ_PAR', 'par');
define ('BAZ_CHAMPS_INDISPENSABLES_CLASSES', 'Champs indispensables pour les classes<br />');
define ('BAZ_ECRIT_LE',', &eacute;crit le ');
define ('BAZ_FICHES_CORRESPONDANTES', 'fiches correspondantes &agrave; votre recherche') ;
define ('BAZ_FICHE_CORRESPONDANTE', 'fiche correspondante &agrave; votre recherche') ;
 
//================Le formulaire ================================================
define ('BAZ_AJOUTER_CHAMPS_DE_BASE', 'Ajouter les informations de base pour la fiche');
define ('BAZ_PAYS', 'Pays');
define ('BAZ_PAYS_REQUIS', 'Le champs pays est requis!');
define ('BAZ_ORGANISME', 'Organisme');
define ('BAZ_CONTACT', 'Contact');
define ('BAZ_REGION', 'R&eacute;gion');
define ('BAZ_REGION_REQUIS', 'Le champs r&eacute;gion est requis!');
define ('BAZ_DEPARTEMENT', 'D&eacute;partement') ;
define ('BAZ_DEPARTEMENT_REQUIS', 'Le champs d&eacute;partement est requis!');
define ('BAZ_LICENCE', 'Type de licence') ;
define ('BAZ_LICENCE_REQUIS', 'Le type de licence est requis!') ;
define ('BAZ_TITRE', 'Titre') ;
define ('BAZ_TITRE_REQUIS', 'Un titre de fiche est requis!') ;
define ('BAZ_DESCRIPTION', 'Description') ;
define ('BAZ_DESCRIPTION_REQUIS', 'Une description de la fiche est requise!!') ;
define ('BAZ_DATEDEBVALID', 'D&eacute;but de parution' );
define ('BAZ_DATEDEBVALID_REQUIS', 'La date de d&eacute;but de parution est requise!!') ;
define ('BAZ_DATEFINVALID', 'Fin de parution' );
define ('BAZ_DATEFINVALID_REQUIS', 'La date de fin de parution est requise!!') ;
define ('BAZ_DU', 'du') ;
define ('BAZ_AU', 'au') ;
define ('BAZ_DATE_DEBUT_EVENEMENT', 'D&eacute;but de l\'&eacute;venement' );
define ('BAZ_DATE_DEBUT_EVENEMENT_REQUIS', 'La date de d&eacute;but de l\'&eacute;venement est requise!!') ;
define ('BAZ_DATE_FIN_EVENEMENT', 'Fin de l\'&eacute;venement' );
define ('BAZ_DATE_FIN_EVENEMENT_REQUIS', 'La date de fin de l\'&eacute;venement est requise!!') ;
define ('BAZ_LIEU_EVENEMENT', 'Lieu de l\'&eacute;venement' );
define ('BAZ_LIEU_EVENEMENT_REQUIS', 'Le lieu de l\'&eacute;venement est requis!!') ;
define ('BAZ_PAS_UNE_IMAGE', 'Ce fichier n\'est pas une image.' );
define ('BAZ_AJOUTER_IMAGE', 'Pour l\'instant, pas d\'image associ&eacute;e &agrave; la fiche, vous pouvez en ajouter une ci-dessous.' );
define ('BAZ_IMAGE', 'Image pour la fiche (facultatif)' );
define ('BAZ_IMAGE_VALIDE_REQUIS', 'Le fichier image n\'est pas valide.') ;
 
//================Textes pour les parutions=====================================
define ('BAZ_CODE', 'Code ISBN ou ISSN (s\'il existe)' );
define ('BAZ_NOM_AUTEUR', 'Auteur' );
define ('BAZ_NOM_AUTEUR_REQUIS', 'L\'auteur est requis');
define ('BAZ_EDITEUR', 'Editeur');
define ('BAZ_TYPE_PARUTION', 'Type de parution');
define ('BAZ_ANNONCE','Annonce');
define ('BAZ_CAPACITE_ACCUEIL', 'Capacit&eacute; d\'accueil' );
define ('BAZ_CAPACITE_ACCUEIL_REQUIS', 'La capacit&eacute; d\'accueil est requise!!') ;
define ('BAZ_NB_ANIMATEURS', 'Nombre d\'animateurs' );
define ('BAZ_NB_ANIMATEURS_REQUIS', 'Le nombre d\'animateurs est requis!!') ;
define ('BAZ_TARIF', 'Tarif (en euros)' );
define ('BAZ_TARIF_REQUIS', 'Le tarif est requis!!') ;
define ('BAZ_LISTE_TRANCHES_AGES', 'Tranches d\'&agrave;ges' );
define ('BAZ_LISTE_TRANCHES_AGES_REQUIS', 'Les tranches d\'&agrave;ges sont requises!!') ;
define ('BAZ_LISTE_URL', 'Liens associ&eacute;s &agrave; l\'annonce: ');
define ('BAZ_PAS_URL', 'Pour l\'instant, pas de lien associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_AJOUTER_URL', 'Ajouter un lien (URL) &agrave la fiche');
define ('BAZ_LIEN', 'Lien' );
define ('BAZ_LIEN_INTERNET', 'Liens Internet' );
define ('BAZ_URL_LIEN', 'Adresse du lien (URL)' );
define ('BAZ_URL_LIEN_REQUIS', 'L\'adresse du lien (URL) est requise!!') ;
define ('BAZ_URL_TEXTE', 'Texte du lien' );
define ('BAZ_URL_TEXTE_REQUIS', 'Le texte du lien est requis!!') ;
define ('BAZ_AJOUTER_FICHIER_JOINT','Ajouter un fichier joint &agrave la fiche');
define ('BAZ_FICHIER_JOINT', 'Fichier joint' );
define ('BAZ_LISTE_FICHIERS_JOINTS', 'Fichiers associ&eacute;s &agrave; la fiche ');
define ('BAZ_PAS_DE_FICHIERS_JOINTS', 'Pour l\'instant, pas de fichier associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_FICHIER','Fichier');
define ('BAZ_FICHIER_JOINT_REQUIS', 'Le fichier joint est requis!!') ;
define ('BAZ_FICHIER_DESCRIPTION', 'Description du fichier' );
define ('BAZ_FICHIER_TEXTE_REQUIS', 'Le texte du fichier est requis!!') ;
define ('BAZ_FICHIER_LABEL', 'Label du fichier') ;
define ('BAZ_FICHIER_LABEL_REQUIS', 'Le label du fichier est requis!!') ;
define ('BAZ_FICHIER_EXISTANT', 'Il existe d&eacute;j&agrave; un fichier du m&ecirc;me nom sur le site.<br />Votre fiche a &eacute;t&eacute; associ&eacute;e avec le fichier existant d&eacute;j&agrave;.');
define ('BAZ_ACCEPTE_CONDITIONS', 'J\'accepte les conditions de saisie de la fiche');
define ('BAZ_ACCEPTE_CONDITIONS_REQUIS', 'Vous devez accepter les conditions de saisie de la fiche');
 
//================Textes pour les emplois=======================================
define ('BAZ_INTITULE_POSTE', 'Intitul&eacute; du poste');
define ('BAZ_INTITULE_POSTE_REQUIS', 'L\'intitul&eacute; du poste est requis');
define ('BAZ_DESCRIPTION_STRUCTURE', 'Description de la structure qui embauche');
define ('BAZ_DESCRIPTION_STRUCTURE_REQUIS', 'La description de la structure qui embauche est requise');
define ('BAZ_CP_LIEU_TRAVAIL', 'Code postal du lieu de travail');
define ('BAZ_LIEU_TRAVAIL', 'Lieu de travail');
define ('BAZ_MISSIONS', 'Missions du poste');
define ('BAZ_PROFIL', 'Profil du poste');
define ('BAZ_PROFIL_REQUIS', 'Le profil du poste est requis');
define ('BAZ_NIVEAU_DIPLOME_DEMANDE', 'Niveau de diplome demand&eacute;');
define ('BAZ_ELEGIBILITE', 'Elegibilit&eacute; (CES, Emploi jeune,...)');
define ('BAZ_TYPE_CONTRAT', 'Type de contrat');
define ('BAZ_TYPE_CONTRAT_REQUIS', 'Type de contrat requis');
define ('BAZ_FORME_CANDIDATURE', 'Moyen de candidature (envois de CV par mail, lettre manucrite,...)');
define ('BAZ_INDICE_SALAIRE', 'Indice salaire');
define ('BAZ_SALAIRE_BRUT_MENSUEL', 'Salaire brut mensuel');
define ('BAZ_SALAIRE_BRUT_MENSUEL_REQUIS', 'Le salaire brut mensuel est requis');
define ('BAZ_ECHEANCE_CANDIDATURE', 'Date d\'&eacute;ch&eacute;ance de candidature');
define ('BAZ_DATE_DEBUT_EMBAUCHE', 'Date de d&eacute;but d\'embauche');
 
//================Textes pour les ressources=======================================
define ('BAZ_THEME','Th&egrave;me');
define ('BAZ_THEME_REQUIS','Le th&egrave;me est requis');
define ('BAZ_TRANCHES_AGES','Tranches d\'&acirc;ge');
define ('BAZ_TRANCHES_AGES_REQUIS','les tranches d\'&acirc; sont requises');
define ('BAZ_PERIODE', 'P&eacute;riode');
define ('BAZ_PERIODE_REQUIS', 'P&eacute;riode requise');
define ('BAZ_NIVEAU_SCOLAIRE', 'Niveau scolaire');
define ('BAZ_DATE_DEBUT_SEJOUR', 'Date de d&eacute;but du s&eacute;jour');
define ('BAZ_DATE_DEBUT_SEJOUR_REQUIS', 'Date de d&eacute;but du s&eacute;jour requise');
define ('BAZ_DATE_FIN_SEJOUR', 'Date de fin du s&eacute;jour');
define ('BAZ_DATE_FIN_SEJOUR_REQUIS', 'Date de fin du s&eacute;jour requise');
define ('BAZ_LIEU', 'Lieu');
define ('BAZ_LIEU_REQUIS', 'Lieu requis');
define ('BAZ_MILIEU_DOMINANT', 'Milieu dominant');
define ('BAZ_HEBERGEMENT', 'H&eacute;bergement');
define ('BAZ_HEBERGEMENT_REQUIS', 'H&eacute;bergement requis');
define ('BAZ_NOMBRE_PLACES', 'Nombre de places');
define ('BAZ_NOMBRE_PLACES_REQUIS', 'Nombre de places requis');
define ('BAZ_NOMBRE_ANIMS', 'Nombre d\'animateurs');
define ('BAZ_NOMBRE_ANIMS_REQUIS', 'Nombre d\'animateurs requis');
define ('BAZ_QUALIF_ANIMS', 'Qualification des animateurs');
define ('BAZ_QUALIF_ANIMS_REQUIS', 'Qualification des animateurs requise');
define ('BAZ_AGREMENTS', 'Agr&eacute;ments');
define ('BAZ_ACTIVITES_DOMINANTES', 'Activit&eacute;s dominantes (en 3 mots cl&eacute;s)');
define ('BAZ_ACTIVITES_DOMINANTES_REQUIS', 'Activit&eacute;s dominantes requises');
define ('BAZ_PRECISION_PRIX', 'Pr&eacute;cision sur le prix');
define ('BAZ_PRECISION_PRIX_REQUIS', 'Pr&eacute;cision sur le prix requise');
define ('BAZ_VOYAGE_COMPRIS', 'Voyage compris');
define ('BAZ_VOYAGE_COMPRIS_REQUIS', 'Voyage compris requis');
define ('BAZ_AIDES_POSSIBLES', 'Aides possibles');
define ('BAZ_CHOISIR', 'Choisir...');
define ('BAZ_CHOISIR_OBLIGATOIRE', 'Il faut choisir une option dans la liste ');
define ('BAZ_INDIFFERENT','Indiff&eacute;rent');
 
define ('BAZ_COORDONNEES','Coordonn&eacute;es');
define ('BAZ_ANNEE_PARUTION','Ann&eacute;e de parution');
define ('BAZ_LANGUE','Langue');
define ('BAZ_THEMES','Thèmes');
define ('BAZ_PAS_D_APPROPRIATION','Aucune structure ne s\'est appropri&eacute; cette ressource pour l\'instant.');
define ('BAZ_STRUCTURE_POSSEDANT', 'structure poss&eacute;dant cette ressource.');
define ('BAZ_STRUCTURES_POSSEDANT', 'structures poss&eacute;dant cette ressource.');
define ('BAZ_SI_POSSEDE_RESSOURCE', 'Si vous poss&egrave;dez cette ressource dans votre structure:');
define ('BAZ_POSSEDE_DEJA_RESSOURCE', 'Vous poss&egrave;dez cette ressource.');
define ('BAZ_CLIQUER_POUR_VOUS_ENLEVER', 'cliquez ici pour vous enlever de la liste.');
define ('BAZ_IL_FAUT_ETRE_STRUCTURE', 'Seules les structures identifi&eacute;es peuvent s\'approprier cette ressource.');
define ('BAZ_IL_FAUT_ETRE_IDENTIFIE_STRUCTURE', 'En vous identifiant ou ou vous inscrivant en tant que structure, vous pouvez vous associer cette ressource.');
define ('BAZ_CLIQUER_POUR_APPARAITRE', 'cliquez ici pour appaitre dans la liste.');
define ('BAZ_NON_PRECISE','Non pr&eacute;cis&eacute;');
 
 
define ('BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR', 'Pour saisir des fiches, voir vos fiches ou s\'abonner:<br /> veuillez vous identifier ou vous inscrire.');
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_DROIT_REDACTEUR', 'r&eacute;dacteur');
define ('BAZ_DROIT_ADMIN', 'administrateur');
define ('BAZ_PASSER_SUPERADMINISTRATEUR', 'Passer la personne en super administrateur');
define ('BAZ_ENLEVER_DROIT', 'Passer en utilisateur sans pouvoir');
define ('BAZ_TYPE_ANNONCES', 'Types de fiche');
define ('BAZ_DROITS_ACTUELS', 'Droits actuels');
define ('BAZ_PASSER_EN', 'Passer en');
define ('BAZ_OU_PASSER_EN', 'ou passer en');
 
 
define ('BAZ_CHECKBOX_SUPERADMIN', 'Super administrateur : ');
define ('BAZ_RADIO_AUCUN', 'aucun &nbsp;');
define ('BAZ_RADIO_REDACTEUR', 'r&eacute;dacteur &nbsp;');
define ('BAZ_RADIO_ADMINISTRATEUR', 'administrateur &nbsp;');
 
//================Textes pour les sejours==================================
define ('BAZ_TITRE_SEJOUR','Titre du s&eacute;jour');
define ('BAZ_TITRE_SEJOUR_REQUIS','Le titre du s&eacute;jour est obligatoire, veuillez le saisir');
define ('BAZ_MAX_60_CAR', '(maximum 60 caracteres)');
 
// ================ 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', 'Reseaux');
define ('BAZ_ADRESSE', 'Adresse');
define ('BAZ_ADRESSE_REQUIS', 'Adresse requise');
define ('BAZ_FAX', 'Fax');
 
 
//================ Calendrier Bazar =======================================
 
define ('BAZ_LUNDI','Lundi');
define ('BAZ_MARDI','Mardi');
define ('BAZ_MERCREDI','Mercredi');
define ('BAZ_JEUDI','Jeudi');
define ('BAZ_VENDREDI','Vendredi');
define ('BAZ_SAMEDI','Samedi');
define ('BAZ_DIMANCHE','Dimanche');
 
define ('BAZ_LUNDI_COURT','Lun');
define ('BAZ_MARDI_COURT','Mar');
define ('BAZ_MERCREDI_COURT','Mer');
define ('BAZ_JEUDI_COURT','Jeu');
define ('BAZ_VENDREDI_COURT','Ven');
define ('BAZ_SAMEDI_COURT','Sam');
define ('BAZ_DIMANCHE_COURT','Dim');
 
define ('BAZ_JANVIER','Janvier');
define ('BAZ_FEVRIER','F&eacute;vrier');
define ('BAZ_MARS','Mars');
define ('BAZ_AVRIL','Avril');
define ('BAZ_MAI','Mai');
define ('BAZ_JUIN','Juin');
define ('BAZ_JUILLET','Juillet');
define ('BAZ_AOUT','Ao&uacute;t');
define ('BAZ_SEPTEMBRE','Septembre');
define ('BAZ_OCTOBRE','Octobre');
define ('BAZ_NOVEMBRE','Novembre');
define ('BAZ_DECEMBRE','D&eacute;cembre');
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
<?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.50 2007-04-11 08:30:12 neiluj 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.50 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
if (file_exists(BAZ_CHEMIN_APPLI.'langues/baz_langue_fr.local.php')) {
include_once BAZ_CHEMIN_APPLI.'langues/baz_langue_fr.local.php' ;
}
 
define ('BAZ_TITREAPPLI','Gestionnaire de fiches (Bazar) ');
define ('BAZ_DESCRIPTIONAPPLI','D&eacute;couvrez Bazar, une application de gestion de fiches class&eacute;es, consultables en ligne ou par flux RSS, grandement personnalisable.');
define ('BAZ_MOTS_CLES','Bazar, fiches, flux, rss, nouveaut&eacute;, information, gestionnaire, xml, syndication, info, application, php, dynamique, mise, aacute; , jour ');
define ('BAZ_TOUTES_LES_ANNONCES', 'Consulter les fiches');
define ('BAZ_CONSULTER_FICHES_VALIDEES', 'Consulter les fiches valid&eacute;es');
define ('BAZ_TOUTES_LES_ANNONCES_DE_TYPE', 'Consulter toutes les fiches de type:');
define ('BAZ_TOUS_TYPES_FICHES', 'Tous types de fiches');
define ('BAZ_TOUS_LES_EMETTEURS', 'Tous les emetteurs');
define ('BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE','Pr&eacute;cisez vos critères de recherche et appuyez sur le bouton "Rechercher" pour consulter les fiches.');
define ('BAZ_MODIFIE_RSS','Modifi&eacute;: ' );
define ('BAZ_NOM', 'Nom') ;
define ('BAZ_PRENOM', 'Pr&eacute;nom') ;
define ('BAZ_TOUS', 'Tous');
define ('BAZ_TOUTES', 'Toutes');
define ('BAZ_MOT_CLE', 'Mots clés (facultatif)');
define ('BAZ_EMETTEUR', 'Émetteur');
define ('BAZ_NATURE', 'Nature de la fiche' );
define ('BAZ_STATUT', 'Statut' );
define ('BAZ_DATE_CREATION', 'Date de cr&eacute;ation' );
define ('BAZ_DATE_MAJ', 'Date de mise &agrave; jour' );
define ('BAZ_URL_IMAGE', 'Image' );
define ('BAZ_LANGUES_PARLES', 'Langues parl&eacute;s :') ;
define ('BAZ_EMAIL', 'E-mail :') ;
define ('BAZ_MOT_DE_PASSE', 'Mot de passe') ;
define ('BAZ_TITREANNONCE', 'Titre de la fiche') ;
define ('BAZ_TYPEANNONCE', 'Type de fiche') ;
define ('BAZ_ANNONCEUR', 'Annonceur') ;
define ('BAZ_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe :') ;
define ('BAZ_OUI', 'Oui') ;
define ('BAZ_NON', 'Non') ;
define ('BAZ_ANNULER', 'Annuler') ;
define ('BAZ_RETOUR', 'Retour') ;
define ('BAZ_RETABLIR', 'R&eacute;tablir') ;
define ('BAZ_VALIDER', 'Valider') ;
define ('BAZ_PUBLIER', 'Valider la publication') ;
define ('BAZ_ETATPUBLICATION', 'Etat de publication') ;
define ('BAZ_ENCOURSDEVALIDATION', 'En attente de validation');
define ('BAZ_REJETEE', 'Rejet&eacute;e');
define ('BAZ_PUBLIEE', 'Publi&eacute;e') ;
define ('BAZ_PAS_DE_FICHE', '<br />Vous n\'avez pas encore d&eacute;pos&eacute; de fiches.') ;
define ('BAZ_PAS_DE_FICHE_A_VALIDER', 'Pas de fiches a valider pour l\'instant.');
define ('BAZ_VOS_ANNONCES', 'Vos fiches d&eacute;pos&eacute;es') ;
define ('BAZ_ANNONCES_A_ADMINISTRER', 'Les fiches &agrave; valider') ;
define ('BAZ_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('BAZ_EMAIL_REQUIS', 'Vous devez saisir un email.') ;
define ('BAZ_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('BAZ_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('BAZ_MAIL_DOUBLE', 'Cet email est d&eacute;j&agrave utilis&eacute; par quelqu\'un d\'autre') ;
define ('BAZ_NOTE_REQUIS', 'Indique les champs requis') ;
define ('BAZ_ERREUR_SAISIE', 'Erreur de saisie ') ;
define ('BAZ_VEUILLEZ_CORRIGER', 'Veuillez corriger') ;
define ('BAZ_MODIFIER', 'Modifier') ;
define ('BAZ_MODIFIER_LA_FICHE', 'Modifier la fiche') ;
define ('BAZ_SUPPRIMER', 'Supprimer') ;
define ('BAZ_SELECTION', '--S&eacute;lectionnez ici--');
define ('BAZ_DROITS_PAR_TYPE', 'Droits par type de fiches:');
define ('BAZ_TITRE_SAISIE_ANNONCE', 'Entrer une fiche de type: ');
define ('BAZ_ACCUEIL','Accueil');
define ('BAZ_SORTIRDELAPPLI','Quittez l\'application Bazar');
define ('BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE', 'Saisir une fiche') ;
define ('BAZ_CHOIX_TYPEANNONCE', 'Choisissez le type de fiche que vous souhaitez d&eacute;poser:') ;
define ('BAZ_GESTION_DES_DROITS', 'Gestion des droits');
define ('BAZ_DESCRIPTION_GESTION_DES_DROITS', 'Veuillez choisir un utilisateur dans la liste d&eacute;roulante ci-dessous pour administrer ses droits.');
define ('BAZ_LABEL_CHOIX_PERSONNE', 'Choix de la personne dans l\'annuaire: ');
define ('BAZ_CONFIRMATION_SUPPRESSION', 'Etes-vous s&ucirc;r de vouloir supprimer cette fiche ?') ;
define ('BAZ_NON_VALIDE', 'Non valide') ;
define ('BAZ_VALIDE', 'Valide') ;
define ('BAZ_PRECEDENT', 'Pr&eacute;c&eacute;dent') ;
define ('BAZ_SUIVANT', 'Suivant') ;
define ('BAZ_PAS_DE_FICHE_CRIT', 'Pas de fiche correspondant &agrave; vos crit&egrave;res.') ;
define ('BAZ_TEXTE_IMG_ALTERNATIF', 'Image de la fiche');
define ('BAZ_NUM_FICHE', 'Num&eacute;ro de fiche');
define ('BAZ_ADMIN_ANNONCES', 'Modifier les types de fiches');
define ('BAZ_RECHERCHER_DES_ANNONCES', 'Rechercher des fiches');
define ('BAZ_RECHERCHE_AVANCEE', 'Recherche avanc&eacute;e >>');
define ('BAZ_RECHERCHE_DE_BASE','<< Recherche simple');
define ('BAZ_DESCRIPTION_RECHERCHE', 'En pr&eacute;cisant, ci dessus, le type de fiche cherch&eacute;, vous pourrez obtenir des fonctions de recherche avanc&eacute;.');
define ('BAZ_PAS_D_ANNONCES', 'Pas de fiches trouv&eacute;es.');
define ('BAZ_S_INSCRIRE_AUX_ANNONCES', 'S\'abonner &agrave; un type de fiche');
define ('BAZ_ABONNE', 'Abonn&eacute;');
define ('BAZ_PAS_ABONNE', 'Pas abonn&eacute;');
define ('BAZ_S_ABONNER', 'S\'abonner');
define ('BAZ_LAIUS_S_ABONNER', 'Il y a deux mani&egrave;res de s\'abonner:<br />- soit en s\'abonnant pour recevoir les fiches par mails<br />- soit par flux RSS');
define ('BAZ_SE_DESABONNER', 'Se d&eacute;sabonner');
define ('BAZ_RSS', 'Flux RSS');
define ('BAZ_DERNIERE_ACTU', 'Derni&egrave;res actualit&eacute;s');
if (!defined ('BAZ_DERNIERES_FICHES')) define ('BAZ_DERNIERES_FICHES', 'Les derni&egrave;re fiches enregistr&eacute;es');
define ('BAZ_A_MODERER',' &agrave; mod&eacute;rer');
define ('BAZ_CONSULTER','Consulter');
define ('BAZ_SAISIR','Saisir');
define ('BAZ_ADMINISTRER','Administrer');
define ('BAZ_FICHE_ECRITE','Fiche &eacute;crite par : ');
define ('BAZ_NB_VUS','Cette fiche a &eacute;t&eacute; consult&eacute;e ');
define ('BAZ_FOIS', ' fois depuis sa cr&eacute;ation.');
define ('BAZ_LES_COMMENTAIRES', 'Les commentaires sur cette fiche');
define ('BAZ_PAS_DE_COMMENTAIRES', 'Pas de commentaires post&eacute;s pour l\'instant, vous &ecirc;tes le (la) premier (premi&egrave;re) !!');
define ('BAZ_IL_Y_A', 'Il y a ');
define ('BAZ_COMMENTAIRE', 'commentaire : ');
define ('BAZ_COMMENTAIRES', 'commentaires : ');
define ('BAZ_ENTREZ_VOTRE_NOM', 'Entrez votre nom : ');
define ('BAZ_ENTREZ_VOTRE_COMMENTAIRE', 'Entrez votre commentaire : ');
define ('BAZ_ENVOYER','Envoyer');
define ('BAZ_NOM_REQUIS', 'Le champs nom ne doit pas rester vide');
define ('BAZ_COMMENTAIRE_REQUIS', 'Le champs commentaire ne doit pas rester vide');
define ('BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE', 'Les structures possédant cette ressource');
define ('BAZ_FICHES_PAS_VALIDEES','Seulement les fiches pas valid&eacute;es');
define ('BAZ_FICHES_VALIDEES','Seulement les fiches valid&eacute;es');
define ('BAZ_LES_DEUX','Fiches valid&eacute;es et non valid&eacute;es');
define ('BAZ_VOIR_VOS_ANNONCES', 'Vos fiches');
define ('BAZ_RECHERCHER','Rechercher');
define ('BAZ_SAISIR_UNE_NOUVELLE_FICHE','Saisir une nouvelle fiche');
define ('BAZ_POUR_CHANGER_IMAGE','Pour changer d\'image, il suffit d\'en saisir une autre ci dessous.');
define ('BAZ_CONFIRMATION_SUPPRESSION_LIEN', 'Etes-vous s&ucirc;r de vouloir supprimer ce lien ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_FICHIER', 'Etes-vous s&ucirc;r de vouloir supprimer ce fichier ?') ;
define ('BAZ_CONFIRMATION_SUPPRESSION_IMAGE', 'Etes-vous s&ucirc;r de vouloir supprimer cette image ?') ;
define ('BAZ_VALIDER_PUBLICATION', 'Valider la publication');
define ('BAZ_ENTRER_PROJET', 'ENTRER SUR L\'ESPACE DU PROJET');
//================Textes pour les libellés======================================
define ('BAZ_ANNONCES','annonces');
define ('BAZ_PUBLICATIONS','publications');
define ('BAZ_EVENEMENTS','&eacute;v&egrave;nements');
define ('BAZ_FORMATIONS','formations');
define ('BAZ_SEJOURS','s&eacute;jours');
define ('BAZ_EMPLOIS','emplois');
define ('BAZ_RESS_HUMAINES','Ressources humaines');
define ('BAZ_RESS_DOCS','Ressources documentaires');
define ('BAZ_RESS_PHYSIQUES','Ressources physiques');
define ('BAZ_RESS_FINANCIERES','Ressources financi&egrave;res');
define ('BAZ_JEUX','jeux');
define ('BAZ_PETITES_ANNONCES','petites annonces');
define ('BAZ_BREVES','br&egrave;ves');
define('BAZ_COMPTES_RENDUS','comptes rendus');
define ('BAZ_REALISATION','r&eacute;alisation');
define ('BAZ_PERSONNES_EXPERTES','personnes expertes');
define ('BAZ_THEMATIQUE','th&eacute;matique');
define ('BAZ_THEMATIQUE_REQUIS','la thematique est requise');
define ('BAZ_SITE_INTERNET','site internet');
define ('BAZ_ADRESSE_CONTACT','Adresse du contact');
define ('BAZ_MAIL_CONTACT','Mail du contact');
define ('BAZ_MAIL_CONTACT_REQUIS','Le mail du contact est requis');
 
//================Textes pour les formations====================================
define ('BAZ_TITRE_FORMATION','Intitul&eacute; de la formation');
define ('BAZ_TITRE_FORMATION_REQUIS','L\'intitul&eacute; de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_MODULE','Si plusieurs modules de formation');
define ('BAZ_NUMERO_MODULE','Num&eacute;ro de module');
define ('BAZ_NB_TOTAL_MODULE','Nombre total de modules');
define ('BAZ_TYPE_FORMATION','Type de la formation');
define ('BAZ_TYPE_FORMATION_REQUIS','Le type de la formation est obligatoire, veuillez le saisir');
define ('BAZ_SI_DIPLOMANTE','Si la formation est diplomante');
define ('BAZ_DIPLOME_PREPARE', 'Dipl&ograve;me pr&eacute;par&eacute;');
define ('BAZ_NIVEAU', 'Niveau');
define ('BAZ_SI_QUALIFIANTE', 'Si la formation est qualifiante');
define ('BAZ_QUALIF_PREPAREE', 'Qualification pr&eacute;par&eacute;e');
define ('BAZ_OBJECTIFS', 'Objectifs');
define ('BAZ_OBJECTIFS_REQUIS', 'Entrer les objectifs est obligatoire, veuillez les saisir');
define ('BAZ_CONTENU', 'Contenu');
define ('BAZ_PUBLIC', 'Publics');
define ('BAZ_PUBLIC_REQUIS', 'Publics');
define ('BAZ_CONDITIONS_ACCES', 'Conditions d\'acc&egrave;s');
define ('BAZ_DATE_DEBUT_FORMATION', 'Date de d&eacute;but de la formation');
define ('BAZ_DATE_FIN_FORMATION', 'Date de fin de la formation');
define ('BAZ_DATE_FIN_INSCRIPTION', 'Date limite d\'inscription');
define ('BAZ_CP_LIEU_EVENEMENT', 'Code postal du lieu de l\'&eacute;v&eacute;nement');
define ('BAZ_TARIF_INDIVIDUEL', 'Tarif individuel (en euros)');
define ('BAZ_TARIF_ENTREPRISE', 'Tarif entreprise (en euros)');
define ('BAZ_TARIF_OPCA', 'Tarif OPCA (en euros)');
define ('BAZ_NUM_AGREMENT', 'Num&eacute;ro d\'agr&eacute;ement de la structure');
define ('BAZ_NUM_AGREMENT_REQUIS', 'Le numéro d\'agr&eacute;ement de la structure est obligatoire, veuillez le saisir');
define ('BAZ_ANNONCE_REQUIS','Le corps de l\'annonce est requis');
define ('BAZ_PRENOM_CONTACT', 'Pr&eacute;nom');
define ('BAZ_PRENOM_CONTACT_REQUIS', 'Le pr&eacute;nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_NOM_CONTACT', 'Nom');
define ('BAZ_NOM_CONTACT_REQUIS', 'Le nom de la personne contact est obligatoire, veuillez le saisir');
define ('BAZ_MAIL', 'Adresse &eacute;lectronique');
define ('BAZ_TELEPHONE', 'T&eacute;l&eacute;phone');
define ('BAZ_TELEPHONE_REQUIS', 'Le t&eacute;l&eacute;phone du contact est obligatoire, veuillez le saisir');
define ('BAZ_INTERVENANTS', 'Les intervenants');
define ('BAZ_INFOS_COMPLEMENTAIRE', 'Informations compl&eacute;mentaires');
define ('BAZ_COORDONNEES_CONTACT', 'Coordonn&eacute;es de la personne contact<br />');
define ('BAZ_DUREE_DE_PARUTION', '<strong>Dur&eacute;e de parution:</strong> la date de d&eacute;but de parution indique le moment ou la fiche devient visible sur le site, et la date de fin de parution, le moment o&ugrave; elle disparait.<br />');
define ('BAZ_LIGNE_HORIZONTALE', '<hr />');
define ('BAZ_CHAMPS_REQUIS', ': champs requis');
define ('BAZ_PAR', 'par');
define ('BAZ_CHAMPS_INDISPENSABLES_CLASSES', 'Champs indispensables pour les classes<br />');
define ('BAZ_ECRIT_LE',', &eacute;crit le ');
define ('BAZ_FICHES_CORRESPONDANTES', 'fiches correspondantes à votre recherche') ;
define ('BAZ_FICHE_CORRESPONDANTE', 'fiche correspondante à votre recherche') ;
 
//================Le formulaire ================================================
define ('BAZ_AJOUTER_CHAMPS_DE_BASE', 'Ajouter les informations de base pour la fiche');
define ('BAZ_PAYS', 'Pays');
define ('BAZ_PAYS_REQUIS', 'Le champs pays est requis!');
define ('BAZ_ORGANISME', 'Organisme');
define ('BAZ_CONTACT', 'Contact');
define ('BAZ_REGION', 'R&eacute;gion');
define ('BAZ_REGION_REQUIS', 'Le champs r&eacute;gion est requis!');
define ('BAZ_DEPARTEMENT', 'D&eacute;partement') ;
define ('BAZ_DEPARTEMENT_REQUIS', 'Le champs d&eacute;partement est requis!');
define ('BAZ_LICENCE', 'Type de licence') ;
define ('BAZ_LICENCE_REQUIS', 'Le type de licence est requis!') ;
define ('BAZ_TITRE', 'Titre') ;
define ('BAZ_TITRE_REQUIS', 'Un titre de fiche est requis!') ;
define ('BAZ_DESCRIPTION', 'Description') ;
define ('BAZ_DESCRIPTION_REQUIS', 'Une description de la fiche est requise!!') ;
define ('BAZ_DATEDEBVALID', 'D&eacute;but de parution' );
define ('BAZ_DATEDEBVALID_REQUIS', 'La date de d&eacute;but de parution est requise!!') ;
define ('BAZ_DATEFINVALID', 'Fin de parution' );
define ('BAZ_DATEFINVALID_REQUIS', 'La date de fin de parution est requise!!') ;
define ('BAZ_DU', 'du') ;
define ('BAZ_AU', 'au') ;
define ('BAZ_DATE_DEBUT_EVENEMENT', 'D&eacute;but de l\'&eacute;venement' );
define ('BAZ_DATE_DEBUT_EVENEMENT_REQUIS', 'La date de d&eacute;but de l\'&eacute;venement est requise!!') ;
define ('BAZ_DATE_FIN_EVENEMENT', 'Fin de l\'&eacute;venement' );
define ('BAZ_DATE_FIN_EVENEMENT_REQUIS', 'La date de fin de l\'&eacute;venement est requise!!') ;
define ('BAZ_LIEU_EVENEMENT', 'Lieu de l\'&eacute;venement' );
define ('BAZ_LIEU_EVENEMENT_REQUIS', 'Le lieu de l\'&eacute;venement est requis!!') ;
define ('BAZ_PAS_UNE_IMAGE', 'Ce fichier n\'est pas une image.' );
define ('BAZ_AJOUTER_IMAGE', 'Pour l\'instant, pas d\'image associ&eacute;e &agrave; la fiche, vous pouvez en ajouter une ci-dessous.' );
define ('BAZ_IMAGE', 'Image pour la fiche (facultatif)' );
define ('BAZ_IMAGE_VALIDE_REQUIS', 'Le fichier image n\'est pas valide.') ;
 
//================Textes pour les parutions=====================================
define ('BAZ_CODE', 'Code ISBN ou ISSN (s\'il existe)' );
define ('BAZ_NOM_AUTEUR', 'Auteur' );
define ('BAZ_NOM_AUTEUR_REQUIS', 'L\'auteur est requis');
define ('BAZ_EDITEUR', 'Editeur');
define ('BAZ_TYPE_PARUTION', 'Type de parution');
define ('BAZ_ANNONCE','Annonce');
define ('BAZ_CAPACITE_ACCUEIL', 'Capacit&eacute; d\'accueil' );
define ('BAZ_CAPACITE_ACCUEIL_REQUIS', 'La capacit&eacute; d\'accueil est requise!!') ;
define ('BAZ_NB_ANIMATEURS', 'Nombre d\'animateurs' );
define ('BAZ_NB_ANIMATEURS_REQUIS', 'Le nombre d\'animateurs est requis!!') ;
define ('BAZ_TARIF', 'Tarif (en euros)' );
define ('BAZ_TARIF_REQUIS', 'Le tarif est requis!!') ;
define ('BAZ_LISTE_TRANCHES_AGES', 'Tranches d\'&agrave;ges' );
define ('BAZ_LISTE_TRANCHES_AGES_REQUIS', 'Les tranches d\'&agrave;ges sont requises!!') ;
define ('BAZ_LISTE_URL', 'Liens associ&eacute;s &agrave; l\'annonce: ');
define ('BAZ_PAS_URL', 'Pour l\'instant, pas de lien associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_AJOUTER_URL', 'Ajouter un lien (URL) &agrave la fiche');
define ('BAZ_LIEN', 'Lien' );
define ('BAZ_LIEN_INTERNET', 'Liens Internet' );
define ('BAZ_URL_LIEN', 'Adresse du lien (URL)' );
define ('BAZ_URL_LIEN_REQUIS', 'L\'adresse du lien (URL) est requise!!') ;
define ('BAZ_URL_TEXTE', 'Texte du lien' );
define ('BAZ_URL_TEXTE_REQUIS', 'Le texte du lien est requis!!') ;
define ('BAZ_AJOUTER_FICHIER_JOINT','Ajouter un fichier joint &agrave la fiche');
define ('BAZ_FICHIER_JOINT', 'Fichier joint' );
define ('BAZ_LISTE_FICHIERS_JOINTS', 'Fichiers associ&eacute;s &agrave; la fiche ');
define ('BAZ_PAS_DE_FICHIERS_JOINTS', 'Pour l\'instant, pas de fichier associ&eacute; &agrave; la fiche, vous pouvez en ajouter ci-dessous.');
define ('BAZ_FICHIER','Fichier');
define ('BAZ_FICHIER_JOINT_REQUIS', 'Le fichier joint est requis!!') ;
define ('BAZ_FICHIER_DESCRIPTION', 'Description du fichier' );
define ('BAZ_FICHIER_TEXTE_REQUIS', 'Le texte du fichier est requis!!') ;
define ('BAZ_FICHIER_LABEL', 'Label du fichier') ;
define ('BAZ_FICHIER_LABEL_REQUIS', 'Le label du fichier est requis!!') ;
define ('BAZ_FICHIER_EXISTANT', 'Il existe d&eacute;j&agrave; un fichier du même nom sur le site.<br />Votre fiche a &eacute;t&eacute; associ&eacute;e avec le fichier existant d&eacute;j&agrave;.');
define ('BAZ_ACCEPTE_CONDITIONS', 'J\'accepte les conditions de saisie de la fiche');
define ('BAZ_ACCEPTE_CONDITIONS_REQUIS', 'Vous devez accepter les conditions de saisie de la fiche');
 
//================Textes pour les emplois=======================================
define ('BAZ_INTITULE_POSTE', 'Intitul&eacute; du poste');
define ('BAZ_INTITULE_POSTE_REQUIS', 'L\'intitul&eacute; du poste est requis');
define ('BAZ_DESCRIPTION_STRUCTURE', 'Description de la structure qui embauche');
define ('BAZ_DESCRIPTION_STRUCTURE_REQUIS', 'La description de la structure qui embauche est requise');
define ('BAZ_CP_LIEU_TRAVAIL', 'Code postal du lieu de travail');
define ('BAZ_LIEU_TRAVAIL', 'Lieu de travail');
define ('BAZ_MISSIONS', 'Missions du poste');
define ('BAZ_PROFIL', 'Profil du poste');
define ('BAZ_PROFIL_REQUIS', 'Le profil du poste est requis');
define ('BAZ_NIVEAU_DIPLOME_DEMANDE', 'Niveau de diplome demand&eacute;');
define ('BAZ_ELEGIBILITE', 'Elegibilit&eacute; (CES, Emploi jeune,...)');
define ('BAZ_TYPE_CONTRAT', 'Type de contrat');
define ('BAZ_TYPE_CONTRAT_REQUIS', 'Type de contrat requis');
define ('BAZ_FORME_CANDIDATURE', 'Moyen de candidature (envois de CV par mail, lettre manucrite,...)');
define ('BAZ_INDICE_SALAIRE', 'Indice salaire');
define ('BAZ_SALAIRE_BRUT_MENSUEL', 'Salaire brut mensuel');
define ('BAZ_SALAIRE_BRUT_MENSUEL_REQUIS', 'Le salaire brut mensuel est requis');
define ('BAZ_ECHEANCE_CANDIDATURE', 'Date d\'&eacute;ch&eacute;ance de candidature');
define ('BAZ_DATE_DEBUT_EMBAUCHE', 'Date de d&eacute;but d\'embauche');
 
//================Textes pour les ressources=======================================
define ('BAZ_THEME','Th&egrave;me');
define ('BAZ_THEME_REQUIS','Le th&egrave;me est requis');
define ('BAZ_TRANCHES_AGES','Tranches d\'&acirc;ge');
define ('BAZ_TRANCHES_AGES_REQUIS','les tranches d\'&acirc; soTRUCTUREnt requises');
define ('BAZ_PERIODE', 'P&eacute;riode');
define ('BAZ_PERIODE_REQUIS', 'P&eacute;riode requise');
define ('BAZ_NIVEAU_SCOLAIRE', 'Niveau scolaire');
define ('BAZ_DATE_DEBUT_SEJOUR', 'Date de d&eacute;but du s&eacute;jour');
define ('BAZ_DATE_DEBUT_SEJOUR_REQUIS', 'Date de d&eacute;but du s&eacute;jour requise');
define ('BAZ_DATE_FIN_SEJOUR', 'Date de fin du s&eacute;jour');
define ('BAZ_DATE_FIN_SEJOUR_REQUIS', 'Date de fin du s&eacute;jour requise');
define ('BAZ_LIEU', 'Lieu');
define ('BAZ_LIEU_REQUIS', 'Lieu requis');
define ('BAZ_MILIEU_DOMINANT', 'Milieu dominant');
define ('BAZ_HEBERGEMENT', 'H&eacute;bergement');
define ('BAZ_HEBERGEMENT_REQUIS', 'H&eacute;bergement requis');
define ('BAZ_NOMBRE_PLACES', 'Nombre de places');
define ('BAZ_NOMBRE_PLACES_REQUIS', 'Nombre de places requis');
define ('BAZ_NOMBRE_ANIMS', 'Nombre d\'animateurs');
define ('BAZ_NOMBRE_ANIMS_REQUIS', 'Nombre d\'animateurs requis');
define ('BAZ_QUALIF_ANIMS', 'Qualification des animateurs');
define ('BAZ_QUALIF_ANIMS_REQUIS', 'Qualification des animateurs requise');
define ('BAZ_AGREMENTS', 'Agr&eacute;ments');
define ('BAZ_ACTIVITES_DOMINANTES', 'Activit&eacute;s dominantes (en 3 mots cl&eacute;s)');
define ('BAZ_ACTIVITES_DOMINANTES_REQUIS', 'Activit&eacute;s dominantes requises');
define ('BAZ_PRECISION_PRIX', 'Pr&eacute;cision sur le prix');
define ('BAZ_PRECISION_PRIX_REQUIS', 'Pr&eacute;cision sur le prix requise');
define ('BAZ_VOYAGE_COMPRIS', 'Voyage compris');
define ('BAZ_VOYAGE_COMPRIS_REQUIS', 'Voyage compris requis');
define ('BAZ_AIDES_POSSIBLES', 'Aides possibles');
define ('BAZ_CHOISIR', 'Choisir...');
define ('BAZ_CHOISIR_OBLIGATOIRE', 'Il faut choisir une option dans la liste ');
define ('BAZ_INDIFFERENT','Indiff&eacute;rent');
 
define ('BAZ_COORDONNEES','Coordonn&eacute;es');
define ('BAZ_ANNEE_PARUTION','Ann&eacute;e de parution');
define ('BAZ_LANGUE','Langue');
define ('BAZ_THEMES','Thèmes');
define ('BAZ_PAS_D_APPROPRIATION','Aucune structure ne s\'est appropri&eacute; cette ressource pour l\'instant.');
define ('BAZ_STRUCTURE_POSSEDANT', 'structure poss&eacute;dant cette ressource.');
define ('BAZ_STRUCTURES_POSSEDANT', 'structures poss&eacute;dant cette ressource.');
define ('BAZ_SI_POSSEDE_RESSOURCE', 'Si vous poss&egrave;dez cette ressource dans votre structure:');
define ('BAZ_POSSEDE_DEJA_RESSOURCE', 'Vous poss&egrave;dez cette ressource.');
define ('BAZ_CLIQUER_POUR_VOUS_ENLEVER', 'cliquez ici pour vous enlever de la liste.');
define ('BAZ_IL_FAUT_ETRE_STRUCTURE', 'Seules les structures identifi&eacute;es peuvent s\'approprier cette ressource.');
define ('BAZ_IL_FAUT_ETRE_IDENTIFIE_STRUCTURE', 'En vous identifiant ou ou vous inscrivant en tant que structure, vous pouvez vous associer cette ressource.');
define ('BAZ_CLIQUER_POUR_APPARAITRE', 'cliquez ici pour appaitre dans la liste.');
define ('BAZ_NON_PRECISE','Non pr&eacute;cis&eacute;');
 
 
define ('BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR', 'Pour saisir des fiches, voir vos fiches ou s\'abonner:<br /> veuillez vous identifier ou vous inscrire.');
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_DROIT_REDACTEUR', 'r&eacute;dacteur');
define ('BAZ_DROIT_ADMIN', 'administrateur');
define ('BAZ_PASSER_SUPERADMINISTRATEUR', 'Passer la personne en super administrateur');
define ('BAZ_ENLEVER_DROIT', 'Passer en utilisateur sans pouvoir');
define ('BAZ_TYPE_ANNONCES', 'Types de fiche');
define ('BAZ_DROITS_ACTUELS', 'Droits actuels');
define ('BAZ_PASSER_EN', 'Passer en');
define ('BAZ_OU_PASSER_EN', 'ou passer en');
 
 
define ('BAZ_CHECKBOX_SUPERADMIN', 'Super administrateur : ');
define ('BAZ_RADIO_AUCUN', 'aucun &nbsp;');
define ('BAZ_RADIO_REDACTEUR', 'r&eacute;dacteur &nbsp;');
define ('BAZ_RADIO_ADMINISTRATEUR', 'administrateur &nbsp;');
 
//================Textes pour les sejours==================================
define ('BAZ_TITRE_SEJOUR','Titre du s&eacute;jour');
define ('BAZ_TITRE_SEJOUR_REQUIS','Le titre du s&eacute;jour est obligatoire, veuillez le saisir');
define ('BAZ_MAX_60_CAR', '(maximum 60 caractères)');
 
// ================ Texte pour les structures =============================
define ('BAZ_FICHE_STRUCTURE', 'Fiche structure') ;
define ('BAZ_NOM_STRUCTURE', 'Nom de la structure');
define ('BAZ_NOM_STRUCTURE_REQUIS', 'Le nom de la structure est requis');
define ('BAZ_RAISON_SOCIALE', 'Raison sociale');
define ('BAZ_RAISON_SOCIALE_REQUIS', 'Raison sociale requise');
define ('BAZ_OBJET', 'Objet');
define ('BAZ_OBJET_REQUIS', 'Objet requis');
define ('BAZ_ACTIONS', 'Actions');
define ('BAZ_PRODUCTIONS', 'Productions');
define ('BAZ_RESEAUX', 'Réseaux');
define ('BAZ_ADRESSE', 'Adresse');
define ('BAZ_ADRESSE_REQUIS', 'Adresse requise');
define ('BAZ_FAX', 'Fax');
 
 
//================ Calendrier Bazar =======================================
 
define ('BAZ_LUNDI','Lundi');
define ('BAZ_MARDI','Mardi');
define ('BAZ_MERCREDI','Mercredi');
define ('BAZ_JEUDI','Jeudi');
define ('BAZ_VENDREDI','Vendredi');
define ('BAZ_SAMEDI','Samedi');
define ('BAZ_DIMANCHE','Dimanche');
 
define ('BAZ_LUNDI_COURT','Lun');
define ('BAZ_MARDI_COURT','Mar');
define ('BAZ_MERCREDI_COURT','Mer');
define ('BAZ_JEUDI_COURT','Jeu');
define ('BAZ_VENDREDI_COURT','Ven');
define ('BAZ_SAMEDI_COURT','Sam');
define ('BAZ_DIMANCHE_COURT','Dim');
 
define ('BAZ_JANVIER','Janvier');
define ('BAZ_FEVRIER','F&eacute;vrier');
define ('BAZ_MARS','Mars');
define ('BAZ_AVRIL','Avril');
define ('BAZ_MAI','Mai');
define ('BAZ_JUIN','Juin');
define ('BAZ_JUILLET','Juillet');
define ('BAZ_AOUT','Ao&uacute;t');
define ('BAZ_SEPTEMBRE','Septembre');
define ('BAZ_OCTOBRE','Octobre');
define ('BAZ_NOVEMBRE','Novembre');
define ('BAZ_DECEMBRE','D&eacute;cembre');
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.48 2007/03/28 15:54:33 florian
* correction de bugs
*
* Revision 1.47 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.46 2007/03/28 09:20:44 florian
* suppression accent
*
* Revision 1.45 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.44 2007/03/08 15:12:13 jp_milcent
* Fusion avec la livraison Menes : 08 mars 2007
*
* Revision 1.42.2.2 2007/03/07 17:20:47 jp_milcent
* Ajout d'une majuscule accentuée.
*
* Revision 1.43 2007/02/15 14:18:38 jp_milcent
* Fusion avec la livraison Menes : 15 février 2007
*
* 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
*
552,68 → 528,68
*
* Revision 1.17 2005/10/21 16:15:04 florian
* mise a jour appropriation
*
* Revision 1.13 2005/10/13 14:43:42 florian
* corrections pb accents
*
* Revision 1.12 2005/10/12 16:28:37 florian
* corrections fautes orthographes
*
* Revision 1.11 2005/10/12 16:27:22 florian
* ajout textes des Ressources
*
* Revision 1.10 2005/10/12 16:17:37 florian
* corrections pb accents
*
* Revision 1.9 2005/10/12 16:12:34 florian
* corrections pb accents
*
* Revision 1.8 2005/10/12 15:31:43 florian
* corrections pb accents
*
* Revision 1.7 2005/10/10 16:22:06 alexandre_tb
* Modification de label pour les rendre plus générique
*
* Revision 1.6 2005/09/30 23:04:31 ddelon
* calendrier bazar
*
* Revision 1.5 2005/09/30 12:22:54 florian
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.3 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* Revision 1.1.1.1 2005/02/17 18:05:11 florian
* Import initial de Bazar
*
* Revision 1.1.1.1 2005/02/17 11:09:50 florian
* Import initial
*
* Revision 1.1.1.1 2005/02/16 18:06:35 florian
* import de la nouvelle version
*
* Revision 1.6 2004/07/06 16:21:50 florian
* d&eacute;buggage modification + MAJ flux RSS
*
* Revision 1.5 2004/07/05 15:13:53 florian
* changement interface de saisie
*
* Revision 1.4 2004/07/02 14:51:41 florian
* ajouts de labels divers
*
* Revision 1.3 2004/07/01 16:37:14 florian
* ajout de labels
*
* Revision 1.2 2004/07/01 13:00:24 florian
* modif Florian
*
* Revision 1.1 2004/06/23 09:58:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 09:00:46 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
*
* Revision 1.13 2005/10/13 14:43:42 florian
* corrections pb accents
*
* Revision 1.12 2005/10/12 16:28:37 florian
* corrections fautes orthographes
*
* Revision 1.11 2005/10/12 16:27:22 florian
* ajout textes des Ressources
*
* Revision 1.10 2005/10/12 16:17:37 florian
* corrections pb accents
*
* Revision 1.9 2005/10/12 16:12:34 florian
* corrections pb accents
*
* Revision 1.8 2005/10/12 15:31:43 florian
* corrections pb accents
*
* Revision 1.7 2005/10/10 16:22:06 alexandre_tb
* Modification de label pour les rendre plus générique
*
* Revision 1.6 2005/09/30 23:04:31 ddelon
* calendrier bazar
*
* Revision 1.5 2005/09/30 12:22:54 florian
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.3 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* Revision 1.1.1.1 2005/02/17 18:05:11 florian
* Import initial de Bazar
*
* Revision 1.1.1.1 2005/02/17 11:09:50 florian
* Import initial
*
* Revision 1.1.1.1 2005/02/16 18:06:35 florian
* import de la nouvelle version
*
* Revision 1.6 2004/07/06 16:21:50 florian
* d&eacute;buggage modification + MAJ flux RSS
*
* Revision 1.5 2004/07/05 15:13:53 florian
* changement interface de saisie
*
* Revision 1.4 2004/07/02 14:51:41 florian
* ajouts de labels divers
*
* Revision 1.3 2004/07/01 16:37:14 florian
* ajout de labels
*
* Revision 1.2 2004/07/01 13:00:24 florian
* modif Florian
*
* Revision 1.1 2004/06/23 09:58:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 09:00:46 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/bazar/configuration/baz_config.inc.php
19,11 → 19,11
// | 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.26 2007-04-06 08:42:41 neiluj Exp $
// CVS : $Id: baz_config.inc.php,v 1.27 2007-04-11 08:30:12 neiluj Exp $
/**
* Fichier de configuration du bazar
*
* A editer de facon specifique a chaque deploiement
* A éditer de façon spécifique à chaque déploiement
*
*@package bazar
//Auteur original :
31,7 → 31,7
*@author Florian SCHMITT <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.26 $ $Date: 2007-04-06 08:42:41 $
*@version $Revision: 1.27 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
63,53 → 63,53
//==================================================================================
 
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','Educ-Envir.org'); //Nom du site indique dans les flux rss
define('BAZ_RSS_ADRESSESITE','http://educ-envir.org'); //Adresse Internet du site indique dans les flux rss
define('BAZ_RSS_DESCRIPTIONSITE','Educ-Envir.org, pour mutualiser l\'information en l\'éducation à l\'environnement.'); //Description du site indiquée dans les flux rss
define('BAZ_RSS_LOGOSITE','http://ecole-et-nature.org/images/Logo_REN-Site.png'); //Logo du site indique dans les flux rss
define('BAZ_RSS_MANAGINGEDITOR', 'baz@domain.tld') ; //Managing editor du site
define('BAZ_RSS_WEBMASTER', 'baz@domain.tld') ; //Mail Webmaster du site
define('BAZ_RSS_CATEGORIE', 'Education a l\'environnement'); //categorie du flux RSS
define('BAZ_RSS_NOMSITE','Educ-Envir.org'); //Nom du site indiqué dans les flux rss
define('BAZ_RSS_ADRESSESITE','http://educ-envir.org'); //Adresse Internet du site indiqué dans les flux rss
define('BAZ_RSS_DESCRIPTIONSITE','Educ-Envir.org, pour mutualiser l\'information en éducation à l\'environnement.'); //Description du site indiquée dans les flux rss
define('BAZ_RSS_LOGOSITE','http://ecole-et-nature.org/images/Logo_REN-Site.png'); //Logo du site indiqué dans les flux rss
define('BAZ_RSS_MANAGINGEDITOR', '') ; //Managing editor du site
define('BAZ_RSS_WEBMASTER', '') ; //Mail Webmaster du site
define('BAZ_RSS_CATEGORIE', 'Education a l\'environnement'); //catégorie du flux RSS
 
 
//==================================== PARAMETRAGE =================================
// Pour regler certaines fonctionnalite de l'application
// Pour régler certaines fonctionnalité de l'application
//==================================================================================
 
define ('BAZ_ETAT_VALIDATION',0);
//Valeur par defaut d'etat de la fiche annonce apres saisie
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 validee en ligne'
//Mettre 1 pour 'directement validée en ligne'
 
define ('BAZ_TAILLE_MAX_FICHIER',8000*1024);
//Valeur maximale en octets pour la taille d'un fichier joint a telecharger
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 identifiee
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
 
/** Reglage des droits pour deposer des annonces */
// Mettre a true pour limiter le depot aux redacteurs
/** Réglage des droits pour déposer des annonces */
// Mettre à true pour limiter le dépot aux rédacteurs
define ('BAZ_RESTREINDRE_DEPOT', 0) ;
 
/** Reglage de l'affichage de la liste deroulante pour la saisie des dates */
// Mettre a true pour afficher une liste deroulante vide pour la saisie des dates
/** 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);
 
/** Reglage de l'URL de l'annuaire */
// Mettre l'URL correspondant a l'annuaire
/** Réglage de l'URL de l'annuaire */
// Mettre l'URL correspondant à l'annuaire
define ('BAZ_URL_ANNUAIRE', 'http://localhost/papyrus/papyrus.php?site=1&menu=13');
 
// Mettre a true pour faire apparaitre un champs texte deroulant dans le formulaire
// de recherche des fiches, pour choisir les emetteurs
// 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'];
118,11 → 118,11
define('BAZ_CHEMIN_APPLI', PAP_CHEMIN_RACINE.'client/bazar/');
 
//==================================== LES LANGUES ==================================
// Constantes liees a l'utilisation des langues
// Constantes liées à l'utilisation des langues
//==================================================================================
$GLOBALS['_BAZAR_']['langue']='fr-FR';
define ('BAZ_LANGUE_PAR_DEFAUT', 'fr') ; //Indique un code langue par defaut
define ('BAZ_VAR_URL_LANGUE', 'lang') ; //Nom de la variable GET qui sera passee dans l'URL (Laisser vide pour les sites monolingues)
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';
133,90 → 133,68
// 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 a afficher avant le 'next';
define ('BAZ_DELTA', 12); // Le nombre de page à afficher avant le 'next';
 
/** Reglage de l'affichage du formulaire de recherche avancee */
// Mettre a true pour afficher automatiquement le formulaire de recherche avancee, a false pour avoir un lien afficher la recherche avancee
/** 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);
 
/** Reglage du systeme utilise pour l'affichage du formulaire de recherche, par template ou pas */
// Mettre a true pour utiliser les templates de bazar_template , a false pour le formulaire de recherche classique
define ('BAZ_UTILISE_TEMPLATE',0);
 
/** Reglage de l'affichage par defaut des dates' */
// Mettre a jm, jma, jmah ou rien pour spécifier le format des dates
define ('BAZ_FORMAT_DATE_DEFAUT','jma');
 
// 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 separant les nombre par des
// 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);
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.25 2007/03/28 15:54:32 florian
* correction de bugs
* $Log: not supported by cvs2svn $
* 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.24 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.23 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.22 2007/02/15 14:18:38 jp_milcent
* Fusion avec la livraison Menes : 15 février 2007
*
* 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 emetteurs
*
* 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
*
239,7 → 217,7
* ajout constantes pour flux RSS
*
* Revision 1.4 2004/07/06 16:21:54 florian
* débogage modification + MAJ flux RSS
* 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,...)
/trunk/client/bazar/bazar.calendrier.applette.php
32,7 → 32,7
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
// termes.
// ----
// CVS : $Id: bazar.calendrier.applette.php,v 1.7 2007-02-15 18:16:45 jp_milcent Exp $
// CVS : $Id: bazar.calendrier.applette.php,v 1.8 2007-04-11 08:30:12 neiluj Exp $
/**
* bazar_calendrier : programme affichant les evenements du bazar sous forme de Calendrier
*
40,7 → 40,7
*@package Bazar
//Auteur original :
*@author David DELON <david.delon@clapas.net>
*@version $Revision: 1.7 $ $Date: 2007-02-15 18:16:45 $
*@version $Revision: 1.8 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
50,8 → 50,11
 
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
include_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazar
 
include_once 'bibliotheque/bazar.fonct.cal.php'; //fichier des fonctions de Bazar
 
 
 
$GLOBALS['_CAL_']['nom_fonction'] = 'afficherCalendrier';
$_GEN_commun['info_applette_nom_fonction'] = $GLOBALS['_CAL_']['nom_fonction'];
// Balise : CLIENT_BAZAR_CALENDRIER
/trunk/client/bazar/documentation/bazar_v0.24.sql
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/bazar/bibliotheque/bazar.fonct.formulaire.php
19,7 → 19,7
// | 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.formulaire.php,v 1.24 2007-03-08 15:12:13 jp_milcent Exp $
// CVS : $Id: bazar.fonct.formulaire.php,v 1.25 2007-04-11 08:30:12 neiluj Exp $
/**
* Formulaire
*
31,7 → 31,7
//Autres auteurs :
*@author Aleandre GRANIER <alexandre@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.24 $ $Date: 2007-03-08 15:12:13 $
*@version $Revision: 1.25 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
144,7 → 144,11
);
$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
//gestion des valeurs par défaut (date du jour)
if (isset($defaut) && $defaut!='') $formtemplate->setDefaults(array($nom_bdd => $defaut));
if (isset($defaut) && $defaut!='') {
$tableau_date = explode ('-', $defaut);
$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
}
else {
$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
$formtemplate->setDefaults($defauts);
436,17 → 440,16
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.22.2.2 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage systématique des URLs.
*
* Revision 1.23 2007/01/18 14:39:28 alexandre_tb
* backport
* Revision 1.22.2.3 2007/03/16 14:48:32 alexandre_tb
* on peut maintenant saisir une date par défaut
* et 0000-00-00 pour des champs vide
*
* Revision 1.22.2.2 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage systématique des URLs.
*
* Revision 1.22.2.1 2007/01/17 16:01:37 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.22.2.1 2007/01/17 16:01:37 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.22 2006/06/02 09:29:07 florian
* debut d'integration de wikini
/trunk/client/bazar/bibliotheque/bazar.fonct.rss.php
1,1206 → 1,1087
<?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.77 2007-04-04 15:15:22 neiluj Exp $
/**
*
*@package bazar
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2006
*@version $Revision: 1.77 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | 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 à l'application (date de modification, lien vers la page de départ de l'appli)
* @global integer Tableau d(Identifiant des fiches à 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 départ 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('action', BAZ_VOIR_FICHE);
$url->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url = preg_replace ('/&amp;/', '&', $url->getURL()) ;
//cas ou la fiche a ete validee
if (isset($_GET['publiee'])) {
publier_fiche($_GET['publiee']);
}
//cas on une structure s'approprie une ressource
if (isset($_GET['appropriation'])) {
if ($_GET['appropriation']==1) {
$requete = 'INSERT INTO bazar_appropriation VALUES ('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID).')';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
elseif ($_GET['appropriation']==0) {
$requete = 'DELETE FROM bazar_appropriation WHERE ba_ce_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND ba_ce_id_structure='.$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID);
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
}
//cas ou un commentaire a ete entre
if (isset($_POST['Nom'])) {
$requete = 'INSERT INTO bazar_commentaires VALUES ('.
baz_nextid('bazar_commentaires', 'bc_id_commentaire', $GLOBALS['_BAZAR_']['db']).
', '.$GLOBALS['_BAZAR_']['id_fiche'].', "'.$_POST['Nom'].'", "'.$_POST['Commentaire'].
'", NOW() )';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
//cas ou un commentaire va etre supprime
elseif (isset($_GET['id_commentaire'])) {
$requete = 'DELETE FROM bazar_commentaires WHERE bc_id_commentaire='.$_GET['id_commentaire'].' LIMIT 1';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
else {
if (isset($_GET['action'])) {
if ($_GET['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 WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$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;
$requete='SELECT bn_id_nature, bn_template, bn_commentaire, bn_label_class 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()) ;
}
$result = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$id_nature = $result['bn_id_nature'];
if (!isset($GLOBALS['_BAZAR_']['template'])) $GLOBALS['_BAZAR_']['template'] = $result['bn_template'];
if (!isset($GLOBALS['_BAZAR_']['commentaire'])) $GLOBALS['_BAZAR_']['commentaire'] = $result['bn_commentaire'];
if (!isset($GLOBALS['_BAZAR_']['class'])) $GLOBALS['_BAZAR_']['class'] = $result['bn_label_class'];
if ($GLOBALS['AUTH']->getAuth()) {
if ((niveau_droit($result['bn_id_nature'],$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='administrateur')
or(niveau_droit('0',$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur'))
{
$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="'.$result['bn_label_nature'].'" />'.'<br />'."\n";
}
//affiche le texte sinon
else {
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$GLOBALS['_BAZAR_']['typeannonce'].'</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 {
//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 .= '<h1 class="BAZ_fiche_titre BAZ_fiche_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bf_titre'].'</h1>'."\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']=='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') {
$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_wiki($ligne["bf_titre"], TRUE).'">'.BAZ_ENTRER_PROJET.'</a></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 .= BAZ_FICHE_NUMERO.$GLOBALS['_BAZAR_']['id_fiche'].BAZ_ECRITE.'<a href="mailto:'.$redacteur[BAZ_CHAMPS_EMAIL].'">'.$redacteur[BAZ_CHAMPS_PRENOM].' '.$redacteur[BAZ_CHAMPS_NOM].'</a><br />'."\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";
if ( $est_admin ) {
$res .= '<ul>'."\n";
$lien_publie = &$GLOBALS['_BAZAR_']['url'];
$lien_publie->addQueryString('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('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('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";
//on ajoute les appropriations, s'il le faut
if (($danslappli==1)and($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)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$possede_ressource=0;
if ($resultat->numRows()>0) {
$res .= BAZ_IL_Y_A.$resultat->numRows().' ';
if ($resultat->numRows()==1) $res .= BAZ_STRUCTURE_POSSEDANT.'<br />'."\n";
else $res .= BAZ_STRUCTURES_POSSEDANT.'<br />'."\n";
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.BAZ_URL_ANNUAIRE.'&amp;voir_fiche='.$ligne[BAZ_CHAMPS_ID].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[BAZ_CHAMPS_NOM].'</a></li>'."\n";
if ($GLOBALS['AUTH']->getAuth() && $GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID)==$ligne[BAZ_CHAMPS_ID]) $possede_ressource=1;
}
$res .= '</ul><br />'."\n";
}
else $res .= BAZ_PAS_D_APPROPRIATION.'<br /><br />'."\n";
$res .='<p class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$lien_appropriation = $GLOBALS['_BAZAR_']['url'];
$lien_appropriation->addQueryString('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";
}
//on ajoute les commentaires, s'il le faut
if (($danslappli==1)and($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)) {
die ($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('action', BAZ_VOIR_FICHE);
$url_comment->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url_comment->addQueryString('id_commentaire', $ligne['bc_id_commentaire']);
$res .= '&nbsp;&nbsp;<a href="'.$url_comment->getURL().'">'.BAZ_SUPPRIMER.'</a>'."\n";
}
$res .= '</div>'."\n";
$res .= '</div>'."\n";
}
}
else $res .= BAZ_PAS_DE_COMMENTAIRES.'<br /><br />'."\n";
//formulaire des commentaires
$form_commentaire = new HTML_QuickForm('bazar_commentaire', 'post', $url);
$squelette =& $form_commentaire->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<label style="width:200px;">{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
'</label><br />'."\n".'{element}<br />'."\n");
$squelette->setRequiredNoteTemplate("\n".'<span class="symbole_obligatoire"> *{requiredNote}</span>'."\n");
$option=array('style'=>'width:300px;border:1px solid #000;', 'maxlength'=>100);
$form_commentaire->addElement('text', 'Nom', BAZ_ENTREZ_VOTRE_NOM, $option);
$option=array('style'=>'width:95%;height:100px;white-space: pre;padding:3px;border:1px solid #000;');
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php';
$formtexte= new HTML_QuickForm_textarea('Commentaire', BAZ_ENTREZ_VOTRE_COMMENTAIRE, $option);
$form_commentaire->addElement($formtexte) ;
$option=array('style'=>'border:1px solid #000;');
$form_commentaire->addElement('submit', 'Envoyer', BAZ_ENVOYER, $option);
$form_commentaire->addRule('Nom', BAZ_NOM_REQUIS, 'required', '', 'client') ;
$form_commentaire->addRule('Commentaire', BAZ_COMMENTAIRE_REQUIS, 'required', '', 'client') ;
$form_commentaire->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$res .= $form_commentaire->toHTML();
$res .= '</div>'."\n";
}
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString('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_split($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 genere_nom_wiki($nom, $spaces = FALSE)
{
// traitement des accents
$nom = str_replace(array('é','è','ë','ê','É','È','Ë','Ê','&','£'), 'e', $nom);
$nom = str_replace(array('à','ä','â','Â','Ä','À','@'), 'a', $nom);
$nom = str_replace(array('ç','Ç'), 'c', $nom);
$nom = str_replace(array('ÿ','¾'), 'y', $nom);
$nom = str_replace(array('ô','ö','ò','Ô','Ò','Ö'), 'o', $nom);
$nom = str_replace(array('ï','î','ì','Î','Ï','Ì'), 'i', $nom);
$nom = str_replace('$', 's', $nom);
$temp = mb_str_split($nom);
$count = 0;
$final = NULL;
foreach($temp as $letter)
{
if(preg_match('/([[:space:]]|[[:punct:]])/', $letter))
{
$final .= ($spaces ? '_' : '');
} elseif(preg_match ('/[a-zA-Z0-9]/', $letter)) {
$final .= (($count == 0 || $count == (strlen($nom) - 1)) ? strtoupper($letter) : strtolower($letter));
}
$count++;
}
// vérifions que le retour n'est pas uniquement un underscore
if(preg_match('/^[[:punct:]]+$/', $final)) return FALSE;
 
// sinon retour du nom formaté
return($final);
}
 
 
 
/** RSSversHTML () transforme un flux RSS (en XML) en page HTML
*
* On passe en paramètre le contenu du flux RSS, on affiche ou non la description,
* et on choisit de format de la date à l'affichage. On a en sortie du code HTML à afficher
*
* @param string le contenu du flux RSS
* @param boolean afficher ou non la description
* @param string choisir le format de date: jmah (12/02/2004 12h34) jmh (12/02 12h34) jma (12/02/2004) jm (12/02) ou rien
*
* @return string le code HTML
*/
function RSSversHTML($rss, $voirdesc, $formatdate, $affichenb) {
if ($rss!='') {
$rawitems='';$title='';$url='';$cat='';$date='';
$res='';
if( eregi('<item>(.*)</item>', $rss, $rawitems ) ) {
$items = explode('<item>', $rawitems[0]);
$res.='<ul id="BAZ_liste_fiche">'."\n";
for( $i = 0; $i < count($items)-1; $i++ ) {
eregi('<title>(.*)</title>',$items[$i+1], $title );
eregi('<link>(.*)</link>',$items[$i+1], $url );
eregi('<description>(.*)</description>',$items[$i+1], $cat);
eregi('<pubDate>(.*)</pubDate>',$items[$i+1], $date);
$res.='<li>';
if ($formatdate=='jm') {$res.=strftime('%d.%m',strtotime($date[1])).': ';}
if ($formatdate=='jma') {$res.=strftime('%d.%m.%Y',strtotime($date[1])).': ';}
if ($formatdate=='jmh') {$res.=strftime('%d.%m %H:%M',strtotime($date[1])).': ';}
if ($formatdate=='jmah') {$res.=strftime('%d.%m.%Y %H:%M',strtotime($date[1])).': ';}
$res.='<a href="'.preg_replace ('/&amp;/', '&', $url[1]).'">'.$title[1].'</a>';
if ($voirdesc) {$res.=$cat[1];}
// Ajout du bouton supprimer pour les superadministrateur
if (($GLOBALS['AUTH']->getAuth() && niveau_droit(0,$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur')and($url[1]!='#')) {
$mon_url = preg_replace ('/&amp;/', '&', $url[1]) ;
$url_suppr = new Net_URL(preg_replace ('/&amp;/', '&', $mon_url)) ;
$url_suppr->addQueryString('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('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 où 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, BAZ_RSS_ADRESSESITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('description', null, 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, utf8_encode(html_entity_decode(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, utf8_encode(html_entity_decode(($ligne['bf_titre']))));
$xml .= "\r\n ";
$lien=$GLOBALS['_BAZAR_']['url'];
$lien->addQueryString('action', BAZ_VOIR_FICHE);
$lien->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$xml .= XML_Util::createTag ('link', null, utf8_encode(html_entity_decode($lien->getURL())));
$xml .= "\r\n ";
$xml .= XML_Util::createTag ('guid', null, utf8_encode(html_entity_decode($lien->getURL())));
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('description');
$xml .= "\r\n ";
if ($_GET['action'] != BAZ_VOIR_TOUTES_ANNONCES) {
$xml .= XML_Util::createCDataSection ( utf8_encode(html_entity_decode(($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('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('action', BAZ_VOIR_TOUTES_ANNONCES);
if (isset($_REQUEST['recherche_avancee'])) $GLOBALS['_BAZAR_']['url']->addQueryString ('recherche_avancee', $_REQUEST['recherche_avancee']);
$lien_formulaire = preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
$squelette =& $formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:120px;text-align:right;">'."\n".'{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
' :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".'</tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2">{label}{element}</td></tr>'."\n", 'rechercher');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature '.
'FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '.
'ORDER BY bn_label_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($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') {
$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;',
'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>'.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)) {
die ($resultat->getMessage().$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]['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) ;
}
}
}
else {
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '1');
$lien_recherche_avancee = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_AVANCEE.'</a><br />';
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->removeQueryString($cle);
}
}
//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'].') AND bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].' AND bn_id_nature=bf_ce_nature 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('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="Derni&egrave;res actualit&eacute;s" url="'.$GLOBALS['_BAZAR_']['url']->getURL().'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_FORMAT_DATE_DEFAUT.'"}}';
}
}
 
//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('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 />';
$res .= '<ul>' ;
$GLOBALS['_BAZAR_']['url']->addQueryString('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 .= '<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('action', BAZ_ACTION_MODIFIER);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
$GLOBALS['_BAZAR_']['url']->removeQueryString('personnes');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_effectuee');
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">('.BAZ_MODIFIER.')</a>&nbsp;'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION);
$res .='<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>&nbsp;'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
}
$GLOBALS['_BAZAR_']['url']->addQueryString('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('action');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_avancee');
 
return $res ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
<?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.78 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2006
*@version $Revision: 1.78 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | 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 à l'application (date de modification, lien vers la page de départ de l'appli)
* @global integer Tableau d(Identifiant des fiches à 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 départ 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('action', BAZ_VOIR_FICHE);
$url->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url = preg_replace ('/&amp;/', '&', $url->getURL()) ;
//cas ou la fiche a été 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 été 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['action'])) {
if ($_GET['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 WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$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'];
//on verifie si l'utilisateur est administrateur
$est_admin=0;
$requete='SELECT bn_id_nature, bn_template, bn_commentaire FROM bazar_nature WHERE bn_id_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$result = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$id_nature = $result['bn_id_nature'];
if (!isset($GLOBALS['_BAZAR_']['template'])) $GLOBALS['_BAZAR_']['template'] = $result['bn_template'];
if (!isset($GLOBALS['_BAZAR_']['commentaire'])) $GLOBALS['_BAZAR_']['commentaire'] = $result['bn_commentaire'];
if ($GLOBALS['AUTH']->getAuth()) {
if ((niveau_droit($result['bn_id_nature'],$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='administrateur')
or(niveau_droit('0',$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur'))
{
$est_admin=1;
}
}
//affiche le titre sous forme d'image
if (isset ($GLOBALS['_BAZAR_']['image_titre']) && $GLOBALS['_BAZAR_']['image_titre']!='') {
$res .= '<img id="BAZ_img_titre" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_titre'].'" alt="'.$result['bn_label_nature'].'" />'.'<br />'."\n";
}
//affiche le texte sinon
else {
//$res .= '<h2 class="BAZ_titre">'.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
}
$res .= '<div class="BAZ_cadre_fiche">'."\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 {
//cas d'une image personalisée
if (isset($ligne['bf_url_image'])) {
$res .= '<div id="fiche_image">'."\n";
$res .= '<img src="client/bazar/upload/'.$ligne['bf_url_image'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
$res .= '</div>'."\n";
}
//cas d'une image par défaut
elseif (isset ($GLOBALS['_BAZAR_']['image_logo']) && $GLOBALS['_BAZAR_']['image_logo']!='') {
$res .= '<div id="fiche_image">'."\n";
$res .= '<img src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_logo'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n";
$res .= '</div>'."\n";
}
$res .= '<h1 id="fiche_titre">'.$ligne['bf_titre'].'</h1>'."\n";
$res .= '<div id="BAZ_description">'.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 .= '<span class="rubrique" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="description" id="'.$tableau[$i]['nom_bdd'].'_description"> '.nl2br($ligne[$val]).'</span>'."\n".'<br />'."\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 .= '<span class="rubrique" id="rubrique_'.$tableau[$i]['nom_bdd'].'">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="description" id="description_'.$tableau[$i]['nom_bdd'].'"> '.$val.'</span>'."\n".'<br />'."\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') {
$res .= '<span class="rubrique" id="'.$tableau[$i]['nom_bdd'].'_rubrique">'.$tableau[$i]['label'].':</span>'."\n";
$res .= '<span class="description" id="'.$tableau[$i]['nom_bdd'].'_description"> '.strftime('%d.%m.%Y',strtotime($ligne[$val])).'</span>'."\n".'<br />'."\n";
}
}
}
elseif ( $tableau[$i]['type']=='wikini' ) {
$res .= '<div class="lien_wikini"><a href="wikini/'.baz_titre_wiki($ligne["bf_titre"]).'">'.BAZ_ENTRER_PROJET.'</a></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="rubrique">'.BAZ_LIEN_INTERNET.':</span>'."\n";
$res .= '<span class="description">'."\n";
$res .= '<ul>'."\n";
while ($ligne1 = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.$ligne1['bu_url'].'" 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="rubrique">'.BAZ_LISTE_FICHIERS_JOINTS.':</span>'."\n";
$res .= '<span class="description">'."\n";
$res .= '<ul>'."\n";
while ($ligne2 = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="client/bazar/upload/'.$ligne2['bfj_fichier'].'">'.$ligne2['bfj_description'].'</a></li>'."\n";
}
$res .= '</ul></span>'."\n";
}
$res .= '<div class="bulle_haut">&nbsp;</div>'."\n";
$res .= '<div class="bulle_corps">'."\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 .= BAZ_FICHE_ECRITE.'<a href="mailto:'.$redacteur[BAZ_CHAMPS_EMAIL].'">'.$redacteur[BAZ_CHAMPS_PRENOM].' '.$redacteur[BAZ_CHAMPS_NOM].'</a><br />'."\n";
}
$res .= BAZ_NB_VUS.'<strong>'.$ligne['bf_nb_consultations'].'</strong>'.BAZ_FOIS.'<br />'."\n";
$res .= '</div>'."\n";
$res .= '<div class="bulle_bas">&nbsp;</div>'."\n";
$res .= '<div id="BAZ_bas_page">';
}
//informations complementaires (id fiche, etat publication,... )
if ($danslappli==1) {
if ($ligne['bf_statut_fiche']==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="rubrique">'.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 || $ligne['bf_statut_fiche']!=1) {
$res .= '<span class="rubrique">'.BAZ_PUBLIEE.':</span> '.BAZ_NON;
if ( $est_admin ) {
$res .= '&nbsp;&nbsp;&nbsp;<strong>'.BAZ_VALIDER_PUBLICATION.'&nbsp;:&nbsp;</strong>'."\n";
$lien_publie = &$GLOBALS['_BAZAR_']['url'];
$lien_publie->addQueryString('action', BAZ_VOIR_FICHE);
$lien_publie->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_publie->addQueryString('typeannonce', $ligne['bf_ce_nature']);
$lien_publie->addQueryString('publiee', 1);
$res .= '<a href="'.$lien_publie->getURL().'">'.BAZ_OUI.'</a>&nbsp;/&nbsp;';
$lien_publie->removeQueryString('publiee');
$lien_publie->addQueryString('publiee', 0);
$res .='<a href="'.$lien_publie->getURL().'">'.BAZ_NON.'</a>'."\n";
$lien_publie->removeQueryString('publiee');
}
$res .= '<br />'."\n";
}
//affichage des infos pouvant interesser les admins
if ( $est_admin ) {
$res .= '<span class="rubrique" id="numero_fiche">'.BAZ_NUM_FICHE.':</span> '.$GLOBALS['_BAZAR_']['id_fiche'].'<br />'."\n";
$res .= '<span class="rubrique" id="date_creation">'.BAZ_DATE_CREATION.' :</span> '.strftime('%d.%m.%Y &agrave; %H:%M',strtotime($ligne['bf_date_creation_fiche'])).'<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="rubrique" id="date_mise_a_jour">'.BAZ_DATE_MAJ.' :</span> '.strftime('%d.%m.%Y &agrave; %H:%M',strtotime($ligne['bf_date_maj_fiche']))."\n";
$lien_modifier=$GLOBALS['_BAZAR_']['url'];
$lien_modifier->addQueryString('action', BAZ_ACTION_MODIFIER);
$lien_modifier->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_modifier->addQueryString('typeannonce', $ligne['bf_ce_nature']);
$res .= '&nbsp;&nbsp;&nbsp;<a href="'.$lien_modifier->getURL().'" id="modifier_fiche">'.BAZ_MODIFIER_LA_FICHE.'</a>'."\n";
}
}
$res .= '</div>'."\n";
$res .= '</div>'."\n";
//on ajoute les appropriations, s'il le faut
if (($danslappli==1)and($GLOBALS['_BAZAR_']['appropriation']==1)) {
$res .= '<br />'."\n".'<div class="BAZ_cadre_fiche">'."\n";
$res .= '<h3>'.BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE.'</h3>'."\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)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
$possede_ressource=0;
if ($resultat->numRows()>0) {
$res .= BAZ_IL_Y_A.$resultat->numRows().' ';
if ($resultat->numRows()==1) $res .= BAZ_STRUCTURE_POSSEDANT.'<br />'."\n";
else $res .= BAZ_STRUCTURES_POSSEDANT.'<br />'."\n";
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.BAZ_URL_ANNUAIRE.'&amp;voir_fiche='.$ligne[BAZ_CHAMPS_ID].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[BAZ_CHAMPS_NOM].'</a></li>'."\n";
if ($GLOBALS['AUTH']->getAuth() && $GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID)==$ligne[BAZ_CHAMPS_ID]) $possede_ressource=1;
}
$res .= '</ul><br />'."\n";
}
else $res .= BAZ_PAS_D_APPROPRIATION.'<br /><br />'."\n";
$res .='<p class="bulle_corps">'."\n";
$lien_appropriation = $GLOBALS['_BAZAR_']['url'];
$lien_appropriation->addQueryString('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";
}
//on ajoute les commentaires, s'il le faut
if (($danslappli==1)and($GLOBALS['_BAZAR_']['commentaire']==1)) {
$res .= '<br />'."\n".'<div class="BAZ_cadre_fiche">'."\n";
$res .= '<h3>'.BAZ_LES_COMMENTAIRES.'</h3>'."\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)) {
die ($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="bulle_haut">&nbsp;</div>'."\n";
$res .= '<div class="bulle_corps">'."\n";
//affichage du commentaire
$res .= $ligne['bc_commentaire'].'<br />'."\n";
$res .= '</div>'."\n";
$res .= '<div class="bulle_bas">'."\n";
$res .= '<div style="font-size:9px;margin-left:10px;">'.BAZ_PAR.' : <strong>'.$ligne['bc_nom'].'</strong>'.BAZ_ECRIT_LE.$ligne['bc_date'].'</div>'."\n";
//pour les identifies seulement, administrateurs de la rubrique ou superadmins
if ($est_admin==1) {
$url_comment= $GLOBALS['_BAZAR_']['url'];
$url_comment->addQueryString('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().'" style="font-size:9px;float:right;">'.BAZ_SUPPRIMER.'</a>'."\n";
}
$res .= '</div>'."\n";
}
}
else $res .= BAZ_PAS_DE_COMMENTAIRES.'<br /><br />'."\n";
//formulaire des commentaires
$form_commentaire = new HTML_QuickForm('bazar_commentaire', 'post', $url);
$squelette =& $form_commentaire->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<label style="width:200px;">{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
'</label><br />'."\n".'{element}<br />'."\n");
$squelette->setRequiredNoteTemplate("\n".'<span class="symbole_obligatoire"> *{requiredNote}</span>'."\n");
$option=array('style'=>'width:300px;border:1px solid #000;', 'maxlength'=>100);
$form_commentaire->addElement('text', 'Nom', BAZ_ENTREZ_VOTRE_NOM, $option);
$option=array('style'=>'width:95%;height:100px;white-space: pre;padding:3px;border:1px solid #000;');
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php';
$formtexte= new HTML_QuickForm_textarea('Commentaire', BAZ_ENTREZ_VOTRE_COMMENTAIRE, $option);
$form_commentaire->addElement($formtexte) ;
$option=array('style'=>'border:1px solid #000;');
$form_commentaire->addElement('submit', 'Envoyer', BAZ_ENVOYER, $option);
$form_commentaire->addRule('Nom', BAZ_NOM_REQUIS, 'required', '', 'client') ;
$form_commentaire->addRule('Commentaire', BAZ_COMMENTAIRE_REQUIS, 'required', '', 'client') ;
$form_commentaire->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$res .= $form_commentaire->toHTML();
$res .= '</div>'."\n";
}
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_commentaire');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
return $res ;
}
 
 
/** RSSversHTML () transforme un flux RSS (en XML) en page HTML
*
* On passe en paramètre le contenu du flux RSS, on affiche ou non la description,
* et on choisit de format de la date à l'affichage. On a en sortie du code HTML à afficher
*
* @param string le contenu du flux RSS
* @param boolean afficher ou non la description
* @param string choisir le format de date: jmah (12/02/2004 12h34) jmh (12/02 12h34) jma (12/02/2004) jm (12/02) ou rien
*
* @return string le code HTML
*/
function RSSversHTML($rss, $voirdesc, $formatdate, $affichenb) {
if ($rss!='') {
$rawitems='';$title='';$url='';$cat='';$date='';
$res='';
if( eregi('<item>(.*)</item>', $rss, $rawitems ) ) {
$items = explode('<item>', $rawitems[0]);
$res.='<ul id="BAZ_liste_fiche">'."\n";
for( $i = 0; $i < count($items)-1; $i++ ) {
eregi('<title>(.*)</title>',$items[$i+1], $title );
eregi('<link>(.*)</link>',$items[$i+1], $url );
eregi('<description>(.*)</description>',$items[$i+1], $cat);
eregi('<pubDate>(.*)</pubDate>',$items[$i+1], $date);
$res.='<li>';
if ($formatdate=='jm') {$res.=strftime('%d.%m',strtotime($date[1])).': ';}
if ($formatdate=='jma') {$res.=strftime('%d.%m.%Y',strtotime($date[1])).': ';}
if ($formatdate=='jmh') {$res.=strftime('%d.%m %H:%M',strtotime($date[1])).': ';}
if ($formatdate=='jmah') {$res.=strftime('%d.%m.%Y %H:%M',strtotime($date[1])).': ';}
$res.='<a href="'.preg_replace ('/&amp;/', '&', $url[1]).'">'.$title[1].'</a>';
if ($voirdesc) {$res.=$cat[1];}
// Ajout du bouton supprimer pour les superadministrateur
if (($GLOBALS['AUTH']->getAuth() && niveau_droit(0,$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID))=='superadministrateur')and($url[1]!='#')) {
$mon_url = preg_replace ('/&amp;/', '&', $url[1]) ;
$url_suppr = new Net_URL(preg_replace ('/&amp;/', '&', $mon_url)) ;
$url_suppr->addQueryString('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('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=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 où 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()) ;
}
function xmlEntities($s){
//build first an assoc. array with the entities we want to match
$table1 = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
//now build another assoc. array with the entities we want to replace (numeric entities)
foreach ($table1 as $k=>$v){
$table1[$k] = "/$v/";
$c = htmlentities($k,ENT_QUOTES,"UTF-8");
$table2[$c] = "&#".ord($k).";";
}
//now perform a replacement using preg_replace
//each matched value in array 1 will be replaced with the corresponding value in array 2
$s = preg_replace($table1,$table2,$s);
return $s;
}
include_once 'XML/Util.php' ;
 
$xml = XML_Util::getXMLDeclaration('1.0', 'ISO-8859-1', 'no') ;
$xml .= XML_Util::createStartElement ('rss', array('version' => '2.0')) ;
$xml .= XML_Util::createStartElement ('channel');
$xml .= XML_Util::createTag ('title', null, $nomflux, null, false);
$xml .= XML_Util::createTag ('link', null, BAZ_RSS_ADRESSESITE);
$xml .= XML_Util::createTag ('description', null, BAZ_RSS_DESCRIPTIONSITE);
$xml .= XML_Util::createTag ('language', null, 'fr-FR');
$xml .= XML_Util::createTag ('copyright', null, 'Copyright 2005 '.BAZ_RSS_NOMSITE);
$xml .= XML_Util::createTag ('lastBuildDate', null, strftime('%d %b %Y %H:%M:%S GMT'));
$xml .= XML_Util::createTag ('docs', null, 'http://www.stervinou.com/projets/rss/');
$xml .= XML_Util::createTag ('category', null, BAZ_RSS_CATEGORIE);
$xml .= XML_Util::createTag ('managingEditor', null, BAZ_RSS_MANAGINGEDITOR);
$xml .= XML_Util::createTag ('webMaster', null, BAZ_RSS_WEBMASTER);
$xml .= XML_Util::createTag ('ttl', null, '60');
$xml .= XML_Util::createStartElement ('image');
$xml .= XML_Util::createTag ('title', null, BAZ_RSS_NOMSITE);
$xml .= XML_Util::createTag ('url', null, BAZ_RSS_LOGOSITE);
$xml .= XML_Util::createTag ('link', null, BAZ_RSS_ADRESSESITE);
$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 .= XML_Util::createStartElement ('item');
$caractere = array('/\x92/', '/\x85/', '/\x80/', '/\x97/', '/\x96/');
$caractere_remplacement = array ('&#8217;', '&#8230;', '&#8364;', '&#8212;', '&#8211;');
$xml .= XML_Util::createTag ('title', null, preg_replace ($caractere, $caractere_remplacement,
XML_Util::replaceEntities($ligne['bf_titre'])));
$lien=$GLOBALS['_BAZAR_']['url'];
$lien->addQueryString('action', BAZ_VOIR_FICHE);
$lien->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$xml .= XML_Util::createTag ('link', null, $lien->getURL());
$xml .= XML_Util::createTag ('guid', null, $lien->getURL());
$xml .= XML_Util::createStartElement ('description');
if ($_GET['action'] != BAZ_VOIR_TOUTES_ANNONCES) {
$xml .= XML_Util::createCDataSection (preg_replace ($caractere, $caractere_remplacement, $ligne['bf_description']));
}
$xml .= XML_Util::createEndElement ('description');
if ($ligne['bf_date_debut_validite_fiche'] == '0000-00-00') $date_pub = $ligne[' bf_date_creation_fiche'] ; else
$date_pub = $ligne['bf_date_debut_validite_fiche'];
$xml .= XML_Util::createTag ('pubDate', null, strftime('%d %b %Y %H:%M:%S GMT',strtotime($date_pub)));
$xml .= XML_Util::createEndElement ('item');
}
}
else {//pas d'annonces
$xml .= XML_Util::createStartElement ('item');
$xml .= XML_Util::createTag ('title', null, BAZ_PAS_D_ANNONCES);
$xml .= XML_Util::createTag ('link', null, '#');
$xml .= XML_Util::createTag ('description', null, BAZ_PAS_D_ANNONCES);
$xml .= XML_Util::createTag ('pubDate', null, strftime('%d %b %Y %H:%M:%S GMT',strtotime('12/12/2004')));
$xml .= XML_Util::createEndElement ('item');
 
}
$xml .= XML_Util::createEndElement ('channel');
$xml .= XML_Util::createEndElement('rss') ;
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString('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('action', BAZ_VOIR_TOUTES_ANNONCES);
if (isset($_REQUEST['recherche_avancee'])) $GLOBALS['_BAZAR_']['url']->addQueryString ('recherche_avancee', $_REQUEST['recherche_avancee']);
$lien_formulaire = preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
$squelette =& $formtemplate->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:120px;text-align:right;">'."\n".'{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
' :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".'</tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2">{label}{element}</td></tr>'."\n", 'rechercher');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature '.
'FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '.
'ORDER BY bn_label_nature ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
//on récupère 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') {
$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;',
'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 prédéfini
else {
if ($nb_type_de_fiches==1) {
$GLOBALS['_BAZAR_']['typeannonce']=end($type_annonce_select);
$GLOBALS['_BAZAR_']['id_typeannonce']=key($type_annonce_select);
}
$res = '<h2>'.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'élément de formulaire select avec les noms des émetteurs de fiche
if (BAZ_RECHERCHE_PAR_EMETTEUR) {
$requete = 'SELECT '.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 validées
//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];
}
}
// Récupération 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)) {
die ($resultat->getMessage().$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 />';
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->removeQueryString($cle);
//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]['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) ;
}
}
}
else {
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '1');
$lien_recherche_avancee = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_AVANCEE.'</a><br />';
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->removeQueryString($cle);
}
}
//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'].') AND bn_id_nature=bf_ce_nature 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;
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Numéro de la liste
$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) {
$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 ';
$case_coche = true;
}
}
}
}
}
if ($case_coche) {
for ($i = 0; $i < $nb_jointures ; $i++) {
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($i+1) ;
$requeteWhere .= ' bfvl'.($i+1).'.bfvl_ce_fiche=bf_id_fiche AND ';
}
$requeteWhere .= $requeteWhereListe;
}
if (isset($_REQUEST['nature']) && $_REQUEST['nature']!='' && $_REQUEST['nature']!='toutes') {
$requeteWhere = 'bf_ce_nature="'.$_REQUEST['nature'].'" AND '.$requeteWhere;
}
//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['personne'])) $_REQUEST['personne']='tous';
$res .= baz_liste_pagine_HTML($typedefiches, '', $_REQUEST['personne'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
}
else {
//on affiche toutes les annonces
$res .= '<br /><p class="zone_info">'."\n".BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FLUX_RSS);
$GLOBALS['_BAZAR_']['url']->addQueryString('annonce', $typeannonce);
$GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature', $GLOBALS['_BAZAR_']['categorie_nature']);
$res .= '{{Syndication titre="'.BAZ_DERNIERES_FICHES.'" url="'.preg_replace ('/&amp;/', '&', $GLOBALS['_BAZAR_']['url']->getURL()).
'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';
}
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString('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 DISTINCT bf_id_fiche, bf_titre, bf_ce_utilisateur, bf_date_debut_validite_fiche '.
'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;
//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;
}
$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)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
$res .= '<ul>' ;
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE);
$donnees = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne->bf_id_fiche) ;
array_push ($donnees, array ($ligne->bf_id_fiche,$ligne->bf_titre,$ligne->bf_ce_utilisateur));
}
// 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();
$res .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n";
foreach ($data as $valeur) {
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur[0]) ;
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE) ;
$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur[1].'</a>'."\n" ;
if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur[2]) {
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_MODIFIER);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
$GLOBALS['_BAZAR_']['url']->removeQueryString('personnes');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_effectuee');
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">('.BAZ_MODIFIER.')</a>&nbsp;' ;
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION);
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>' ;
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
}
$res .= '</li>';
}
$res .= '</ul>';
$res .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n";
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_avancee');
 
return $res ;
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* 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.
*
1207,17 → 1088,6
* Revision 1.60.2.10 2007/03/06 09:41:15 alexandre_tb
* backport de corrections de bugs de la branche principale
*
* Revision 1.69 2007/03/06 09:39:00 alexandre_tb
* correction de bug sur les jointures et sur les flux rss
*
* Revision 1.68 2007/03/05 10:27:06 alexandre_tb
* ajout d identifiant dans les span qui affiche le detail d une fiche.
* ajout d un modele pour les fiches -> du code a ete deplace dans
* bazar_template
*
* Revision 1.67 2007/02/28 10:18:56 alexandre_tb
* backport de bug depuis la 1.60 de menes
*
* Revision 1.60.2.9 2007/02/27 15:32:40 alexandre_tb
* utilisation de la fonction xmlEntities pour transformer les &amp; en &#...;
* fixe les plantages des flux rss lorsque des guillemets ou des esperluettes étaient présents
1234,9 → 1104,6
* 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
*
1246,11 → 1113,6
* 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
1296,7 → 1158,7
*
* 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 ----------------------------------------------------------------------------------------+
*/
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/bazar/bibliotheque/bazar.class.php
19,7 → 19,7
// | 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.class.php,v 1.4 2007-03-08 15:12:13 jp_milcent Exp $
// CVS : $Id: bazar.class.php,v 1.5 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@author Florian Schmitt <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $
*@version $Revision: 1.5 $
// +------------------------------------------------------------------------------------------------------+
*/
 
/trunk/client/bazar/bibliotheque/bazar.fonct.cal.php
19,7 → 19,7
// | 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.cal.php,v 1.16 2007-03-22 14:29:27 jp_milcent Exp $
// CVS : $Id: bazar.fonct.cal.php,v 1.17 2007-04-11 08:30:12 neiluj Exp $
/**
*
* Fonctions calendrier du module bazar
29,7 → 29,7
*@author David Delon <david.delon@clapas.net>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.16 $ $Date: 2007-03-22 14:29:27 $
*@version $Revision: 1.17 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
36,6 → 36,7
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once PAP_CHEMIN_RACINE.'api/pear/Calendar/Month/Weekdays.php';
require_once PAP_CHEMIN_RACINE.'api/pear/Calendar/Day.php';
require_once PAP_CHEMIN_RACINE.'api/pear/Calendar/Decorator.php';
68,22 → 69,11
function GestionAffichageCalendrier($type = 'calendrier') {
$retour = '';
 
$url = $GLOBALS['_GEN_commun']['url'] ;
$db =& $GLOBALS['_GEN_commun']['pear_db'] ;
$auth =& $GLOBALS['_GEN_commun']['pear_auth'] ;
// Nettoyage de l'url de la query string
$chaine_url = $url->getQueryString();
$tab_params = explode('&amp;', $chaine_url);
if (count($tab_params) == 0) {
$tab_params = explode('&', $chaine_url);
}
foreach ($tab_params as $param) {
$tab_parametre = explode('=', $param);
$url->removeQueryString($tab_parametre[0]);
}
if (!isset($_GET['y'])) {
$_GET['y'] = date('Y');
}
100,31 → 90,6
$url->addQueryString('m', date('n',$curStamp));
$url->addQueryString('d', date('j',$curStamp));
$cur = $url->getUrl();
 
// Gestion de l'affichage des titres des évènements
if (isset($_GET['ctt']) && $_GET['ctt'] == '1') {
$url->addQueryString('tt', '0');
if ($_GET['tt'] == '0') {
$url->addQueryString('tt', '1');
}
$tc_lien = $url->getUrl();
} else {
$url->addQueryString('tt', '0');
if ($_GET['tt'] == '0') {
$url->addQueryString('tt', '1');
}
$url->addQueryString('ctt', '1');
$tc_lien = $url->getUrl();
}
$url->removeQueryString('ctt');
$url->removeQueryString('tt');
$tc_txt = 'Afficher les titres complets des évènements';
if (isset($_GET['tt'])) {
if ($_GET['tt'] == '0') {
$tc_txt = 'Tronquer les titres des évènements';
$url->addQueryString('tt', $_GET['tt']);
}
}
// Navigation
$prevStamp = $month->prevMonth(true);
139,168 → 104,79
$url->addQueryString('d', date('j',$nextStamp));
$next = $url->getUrl();
// Suppression du paramêtre de troncage des titres
$url->removeQueryString('tt');
$fr_month = array( "1"=>BAZ_JANVIER,"2"=>BAZ_FEVRIER,"3"=>BAZ_MARS,"4"=>BAZ_AVRIL,"5"=>BAZ_MAI,"6"=>BAZ_JUIN,
"7"=>BAZ_JUILLET,"8"=>BAZ_AOUT,"9"=>BAZ_SEPTEMBRE,"10"=>BAZ_OCTOBRE,"11"=>BAZ_NOVEMBRE,"12"=>BAZ_DECEMBRE);
 
// Titre
if ($type=='calendrier') {
// Ajout des styles du bazar
if (defined('PAP_VERSION')) { //si on est dans Papyrus
GEN_stockerStyleExterne( 'bazar_interne', 'client/bazar/bazar.interne.css');
GEN_stockerFichierScript('domLib', '/api/js/domtooltip/domLib.js');
GEN_stockerFichierScript('domTT', '/api/js/domtooltip/domTT.js');
// DomToolTip
$script = 'var domTT_styleClass = "niceTitle";'."\n";
$script .= 'function nicetitleDecorator(el) {'."\n";
$script .= ' var result = el.title;'."\n";
$script .= ' result = result.replace(new RegExp("\n", "g"), "<br />");'."\n";
$script .= ' if (el.href) {'."\n";
$script .= ' result += "<p>" + el.href + "</p>";'."\n";
$script .= ' }'."\n";
$script .= ' return result;'."\n";
$script .= '}'."\n";
$script .= 'domTT_replaceTitles(nicetitleDecorator);'."\n";
GEN_stockerCodeScript('var domTT_styleClass = "niceTitle";'."\n");
}
$retour .= '<div id="cal_entete">';
$retour .= '<span class="cal_navigation">';
$retour .= '<a id="cal_precedent_lien" href="'.$prev.'" title="Allez au mois précédent"><img id="cal_precedent_img" src="client/bazar/images/cal_precedent.png" alt="&lt;&lt;"/></a>';
$retour .= '&nbsp;&nbsp;';
$retour .= '<span id="cal_encadre_mois_courrant"><a id="cal_mois_courrant" href="'.$cur.'">';
$retour .= $fr_month[(date('n',$curStamp))];
$retour .= '&nbsp;';
$retour .= (date('Y',$curStamp));
$retour .= '</a></span>';
$retour .= '&nbsp;&nbsp;';
$retour .= '<a id="cal_suivant_lien" href="'.$next.'" title="Allez au mois suivant"><img id="cal_suivant_img" src="client/bazar/images/cal_suivant.png" alt="&gt;&gt;"/></a>';
$retour .= '</span>';
$retour .= '<h1 id="cal_titre"><img id="cal_titre_img" src="client/bazar/images/cal_titre.png" alt="Calendrier"/></h1>';
$retour .= '</div>';
$retour .= '<p>'.'<a href="'.$tc_lien.'">'.$tc_txt.'</a>'.'</p>';
} else {
$retour.= "<div class=\"navi\">";
$retour.= "<a href=\"".$prev."\"> &lt;&lt; </a>";
$retour.= "&nbsp;&nbsp;";
$retour.= "<a href=\"".$cur;
$retour.= "\"> ";
$retour.= $fr_month[(date('n',$curStamp))];
$retour.= "&nbsp;";
$retour.= (date('Y',$curStamp));
$retour.= "</a>";
$retour.= "&nbsp;&nbsp;";
$retour.= "<a href=\"".$next."\"> &gt;&gt; </a>";
$retour.= "</div>";
}
$retour.= "<div class=\"navi\">";
$retour.= "<a href=\"".$prev."\"> &lt;&lt; </a>";
 
$retour.= "&nbsp;&nbsp;";
$retour.= "<a href=\"".$cur;
$retour.= "\"> ";
$retour.= $fr_month[(date('n',$curStamp))];
$retour.= "&nbsp;";
$retour.= (date('Y',$curStamp));
$retour.= "</a>";
$retour.= "&nbsp;&nbsp;";
$retour.= "<a href=\"".$next."\"> &gt;&gt; </a>";
 
$retour.= "</div>";
 
$retour.="<br></br>";
 
// Vue Mois calendrier ou vue applette
if ((!isset($_GET['id_fiche']) && ($type=='calendrier')) || ($type=='calendrier_applette')){
// Recherche evenement de la periode selectionnée
$ts_jour_fin_mois = $month->nextMonth('timestamp');
$ts_jour_debut_mois = $month->thisMonth('timestamp');;
$requete_evenements = "SELECT DISTINCT bf_id_fiche, bf_titre, bf_lieu_evenement, DAY(bf_date_debut_evenement) AS bf_jour_debut_evenement, bf_date_debut_evenement, bf_date_fin_evenement, bf_description ".
// TODO : Selectionner element du mois en cours
$requete_evenements = "SELECT DISTINCT bf_id_fiche, bf_titre, bf_lieu_evenement, DAY(bf_date_debut_evenement) AS bf_jour_debut_evenement , bf_date_fin_evenement, bf_description ".
"FROM bazar_fiche, bazar_nature ".
"WHERE bf_date_debut_evenement < '".date('Y-m-d', $ts_jour_fin_mois)."' ".
"AND bf_date_fin_evenement >= '".date('Y-m-d', $ts_jour_debut_mois)."' ".
"WHERE YEAR(bf_date_debut_evenement) = ".date('Y',$curStamp)." ".
"AND month(bf_date_debut_evenement) = ".date('m',$curStamp)." ".
"AND bf_ce_nature = bn_id_nature ".
"AND bn_id_nature IN (".BAZ_NUM_ANNONCE_CALENDRIER.") ".
"AND bf_statut_fiche = 1";
$resultat_evenement = $db->query($requete_evenements);
(DB::isError($resultat_evenement))
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_evenement->getMessage(), $requete_evenements))
: '';
 
$selection = array();
$evenements = array();
$annee = date('Y', $curStamp);
$mois = date('m', $curStamp);
$tablo_jours = array();
$calcom="";
$selection=array();
$evenements=array();
$prev_curday_ymd=0;
while ($ligne_evenements = $resultat_evenement->fetchRow(DB_FETCHMODE_OBJECT)) {
list($annee_debut, $mois_debut, $jour_debut) = explode('-', $ligne_evenements->bf_date_debut_evenement);
list($annee_fin, $mois_fin, $jour_fin) = explode('-', $ligne_evenements->bf_date_fin_evenement);
$curday_ymd=date('Ym',$curStamp).$ligne_evenements->bf_jour_debut_evenement;
if ($curday_ymd!=$prev_curday_ymd) {
$Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), $ligne_evenements->bf_jour_debut_evenement);
$DiaryEvent = new DiaryEvent($Day);
$prev_curday_ymd=$curday_ymd;
}
$Calendrier = new Calendar($annee_debut, $mois_debut, $jour_debut);
$ts_jour_suivant = $Calendrier->thisDay('timestamp');
$ts_jour_fin = mktime(0,0,0,$mois_fin, $jour_fin, $annee_fin);
$DiaryEvent->setEntry($ligne_evenements);
if ($ts_jour_suivant < $ts_jour_fin) {
//echo "$ts_jour_suivant-";
$naviguer = true;
while ($naviguer) {
// Si le jours suivant est inférieur à la date de fin, on continue...
if ($ts_jour_suivant <= $ts_jour_fin) {
// Si le jours suivant est inférieur à la date de fin du mois courrant, on continue...
if ($ts_jour_suivant < $ts_jour_fin_mois) {
$cle_j = date('Y-m-d', $ts_jour_suivant);
if (!isset($tablo_jours[$cle_j])) {
$tablo_jours[$cle_j]['Calendar_Day'] = new Calendar_Day(date('Y', $ts_jour_suivant),date('m', $ts_jour_suivant), date('d', $ts_jour_suivant));
$tablo_jours[$cle_j]['Diary_Event'] = new DiaryEvent($tablo_jours[$cle_j]['Calendar_Day']);
}
$tablo_jours[$cle_j]['Diary_Event']->setEntry($ligne_evenements);
$ts_jour_suivant = $Calendrier->nextDay('timestamp');
//echo "ici$ts_jour_suivant-";
$Calendrier->setTimestamp($ts_jour_suivant);
//echo "la".$Calendrier->thisDay('timestamp')."-";
} else {
$naviguer = false;
}
} else {
$naviguer = false;
}
}
} else {
$curday_ymd = $annee.$mois.$ligne_evenements->bf_jour_debut_evenement;
$cle_j = $annee.'-'.$mois.'-'.$ligne_evenements->bf_jour_debut_evenement;
if (!isset($tablo_jours[$cle_j])) {
$tablo_jours[$cle_j]['Calendar_Day'] = new Calendar_Day($annee, $mois, $ligne_evenements->bf_jour_debut_evenement);
$tablo_jours[$cle_j]['Diary_Event'] = new DiaryEvent($tablo_jours[$cle_j]['Calendar_Day']);
}
$tablo_jours[$cle_j]['Diary_Event']->setEntry($ligne_evenements);
}
// Add the decorator to the selection
$selection[] = $DiaryEvent;
}
// Add the decorator to the selection
foreach ($tablo_jours as $jour) {
$selection[] = $jour['Diary_Event'];
}
// $calcom = "";
// $selection = array();
// $evenements = array();
// $prev_curday_ymd=0;
// while ($ligne_evenements = $resultat_evenement->fetchRow(DB_FETCHMODE_OBJECT)) {
//
// $curday_ymd=date('Ym',$curStamp).$ligne_evenements->bf_jour_debut_evenement;
// if ($curday_ymd!=$prev_curday_ymd) {
// $Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), $ligne_evenements->bf_jour_debut_evenement);
// $DiaryEvent = new DiaryEvent($Day);
// $prev_curday_ymd=$curday_ymd;
// }
// $DiaryEvent->setEntry($ligne_evenements);
//
// // Add the decorator to the selection
// $selection[] = $DiaryEvent;
// }
// Affichage Calendrier
$month->build($selection);
if ($type == 'calendrier') {
$retour.= '<table class="calendrier">'.
'<colgroup>'.
'<col class="cal_lundi"/>'.
'<col class="cal_mardi"/>'.
'<col class="cal_mercredi"/>'.
'<col class="cal_jeudi"/>'.
'<col class="cal_vendredi"/>'.
'<col class="cal_samedi"/>'.
'<col class="cal_dimanche"/>'.
'</colgroup>'.
'<thead>'.
"<tr>
if ($type=='calendrier') {
$retour.= "<table class=\"calendar\">
<tr>
<th> ". BAZ_LUNDI ."</th>
<th> ". BAZ_MARDI ."</th>
310,21 → 186,11
<th> ". BAZ_SAMEDI ."</th>
<th> ". BAZ_DIMANCHE ."</th>
</tr>
".'</thead>'.'<tbody>';
";
}
else {
$retour.= '<table class="calendrier_applette">'.
'<colgroup>'.
'<col class="cal_lundi"/>'.
'<col class="cal_mardi"/>'.
'<col class="cal_mercredi"/>'.
'<col class="cal_jeudi"/>'.
'<col class="cal_vendredi"/>'.
'<col class="cal_samedi"/>'.
'<col class="cal_dimanche"/>'.
'</colgroup>'.
'<thead>'.
"<tr>
$retour.= "<table class=\"calendar\">
<tr>
<th> ". BAZ_LUNDI_COURT ."</th>
<th> ". BAZ_MARDI_COURT ."</th>
334,7 → 200,7
<th> ". BAZ_SAMEDI_COURT ."</th>
<th> ". BAZ_DIMANCHE_COURT ."</th>
</tr>
".'</thead>'.'<tbody>';
";
}
351,18 → 217,18
$day_ymd=date('Ymd',$dayStamp);
if ( $day->isEmpty() ) {
$class = "cal_ma";
$class = "other_month";
}
else {
if (($day_ymd < $today_ymd)) {
$class= "cal_mp";
$class= "previous_month";
}
else {
if ($day_ymd == $today_ymd) {
$class= "cal_jc";
$class= "current_day";
}
else {
$class="cal_mc";
$class="current_month";
}
}
}
370,40 → 236,30
$url->addQueryString ('y', date('Y',$dayStamp));
$url->addQueryString ('m', date('n',$dayStamp));
$url->addQueryString ('d', date('j',$dayStamp));
$link = $url->getUrl();
// isFirst() to find start of week
if ($day->isFirst()) {
if ($day->isFirst())
$retour.= ( "<tr>\n" );
}
if ($type == 'calendrier') {
$retour.= "<td class=\"".$class."\">".'<span class="cal_j">'.$day->thisDay().'</span>'."\n";
//$retour.= ( "<td class=\"".$class."\"><a href=\"".$link."\">".$day->thisDay()."</a>\n" );
if ($type=='calendrier') {
$retour.= "<td class=\"".$class."\">".$day->thisDay()."\n";
if ($day->isSelected() ) {
$evenements = $day->getEntry();
$evenements_nbre = count($evenements);
$evenemt_xhtml = '';
while ($ligne_evenement = array_pop($evenements)) {
$id_fiches = array();
$id_fiches[] = $ligne_evenement->bf_id_fiche;
$evenements=$day->getEntry();
while ($ligne_evenement=array_pop($evenements)) {
$id_fiches=array();
$id_fiches[]=$ligne_evenement->bf_id_fiche;
$url->addQueryString ('id_fiches',$id_fiches);
$link = $url->getUrl();
if (!isset($_GET['tt']) || (isset($_GET['tt']) && $_GET['tt'] == '1')) {
$titre_taille = strlen($ligne_evenement->bf_titre);
$titre = ($titre_taille > 20)?substr($ligne_evenement->bf_titre, 0, 20).'...':$ligne_evenement->bf_titre;
} else {
$titre = $ligne_evenement->bf_titre;
}
$evenemt_xhtml .= '<li class="tooltip" title="'.$ligne_evenement->bf_titre.'"><a class="cal_evenemt" href="'.$link.'">'.$titre.'</a></li>'."\n";
$retour.= "<a href=\"".$link."\">".$ligne_evenement->bf_titre."</a>\n";
$url->removeQueryString ('id_fiches');
}
if ($evenements_nbre > 0) {
$retour .= '<ul class="cal_evenemt_liste">';
$retour .= $evenemt_xhtml;
$retour .= '</ul>';
}
}
} else {
}
else {
$lien_date= "<td class=\"".$class."\">".$day->thisDay()."\n";
if ($day->isSelected() ) {
$evenements=$day->getEntry();
426,27 → 282,27
$retour.= ( "</tr>\n" );
}
$retour.= "</tbody></table>";
$retour.= "</table>";
}
$retour.= '<script type="text/javascript">//<![CDATA['."\n".$script.'//]]></script>'."\n";
// Vue detail
if ((isset($_GET['id_fiches']))) {
// Ajout des styles du bazar
if (defined('PAP_VERSION')) { //si on est dans Papyrus
GEN_stockerStyleExterne( 'bazar_interne2', 'client/bazar/bazar.interne.css');
}
// Ajout d'un titre pour la page avec la date
$jours = array ('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche') ;
$mois = array ('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre',
'octobre', 'novembre', 'décembre') ;
$timestamp = strtotime ($_GET['y'].'/'.$_GET['m'].'/'.$_GET['d']) ;
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_NAVIGATION'] = '';
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_TETE'] = '';
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] = '<h1>'.$jours[date('w', $timestamp)].
' '.$_GET['d'].' '.$mois[$_GET['m']-1].' '.$_GET['y'].'</h1>' ;
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] .= baz_voir_fiches(0,$_GET['id_fiches'] );
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_PIED'] = '';
$GLOBALS['_GEN_commun']['info_menu'] = '';
}
 
// Nettoyage de l'url
/trunk/client/bazar/bibliotheque/bazar.fonct.php
19,7 → 19,7
// | 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.62 2007-03-08 15:12:13 jp_milcent Exp $
// CVS : $Id: bazar.fonct.php,v 1.63 2007-04-11 08:30:12 neiluj Exp $
/**
*
* Fonctions du module bazar
31,7 → 31,7
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.62 $ $Date: 2007-03-08 15:12:13 $
*@version $Revision: 1.63 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
418,6 → 418,7
}
}
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
$table->updateColAttributes(0, array('align' => 'left'));
$table->updateColAttributes(1, array('align' => 'left'));
555,7 → 556,8
if ($mode == BAZ_ACTION_NOUVEAU) {
unset ($_SESSION['formulaire_annonce_valide']) ;
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
$formtemplate->updateAttributes(array('action' => str_replace('&amp;', '&', $lien_formulaire->getURL())));
$formtemplate->updateAttributes(array('action' => str_replace('&amp;', '&', $lien_formulaire->getURL())));
 
$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
}
608,6 → 610,7
</fieldset>
</form>';
}
 
return $res;
}
 
748,7 → 751,20
}
//cas des dates
elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
// 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
1278,6 → 1294,10
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* 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.
*
1293,15 → 1313,6
* Revision 1.57.2.7 2007/03/05 10:28:03 alexandre_tb
* correction d un commentaire
*
* Revision 1.61 2007/02/28 10:23:46 alexandre_tb
* backport de bug depuis menes
*
* Revision 1.60 2007/02/15 14:18:38 jp_milcent
* Fusion avec la livraison Menes : 15 février 2007
*
* Revision 1.59 2007/01/22 16:05:56 alexandre_tb
* backport : 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.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.
/trunk/client/bazar/bazarRSS.php
19,9 → 19,9
// | 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: bazarRSS.php,v 1.6 2007-03-28 15:54:33 florian Exp $
// CVS : $Id: bazarRSS.php,v 1.7 2007-04-11 08:30:12 neiluj Exp $
/**
* Generateur de flux RSS a partir du bazar
* Générateur de flux RSS à partir du bazar
*
*@package bazar
//Auteur original :
29,7 → 29,7
*@author Alexandre Granier <alexandre@tela-botanica.org>
*
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.6 $
*@version $Revision: 1.7 $
// +------------------------------------------------------------------------------------------------------+
*/
 
86,17 → 86,12
$requeteSQL='';
}
 
echo gen_RSS($annonce, $nbitem, $emetteur, $valide, $requeteSQL, '', '', $categorie_nature);
echo html_entity_decode(gen_RSS($annonce, $nbitem, $emetteur, $valide, $requeteSQL, '', '', $categorie_nature));
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.5 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.4 2006/05/19 13:54:32 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
/trunk/client/bottin/annuaire_backoffice.php
19,7 → 19,7
// | 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_backoffice.php,v 1.5 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: annuaire_backoffice.php,v 1.6 2007-04-11 08:30:12 neiluj Exp $
/**
* programme principal du module annuaire_moteur
*
31,7 → 31,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.5 $
*@version $Revision: 1.6 $
// +------------------------------------------------------------------------------------------------------+
*/
 
43,27 → 43,35
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
include_once 'configuration/bottin.config.inc.php';
include_once INS_CHEMIN_APPLI.'configuration/annuaire_backoffice.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/annuaire.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/annuaire_backoffice.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
$lang=INS_LANGUE_DEFAUT;
define ("ANN_MAIL_TOUS", 1) ;
define ("ANN_MAIL_TOUS_ENVOIE", 2) ;
 
if (!isset($GLOBALS['lang'])) {
$GLOBALS['lang'] = INS_LANGUE_DEFAUT ;
// Recherche parametres menu actif : ils ne sont pas present dans le contexte, quel dommage !
$requete_menu = 'SELECT gm_application_arguments '.
'FROM gen_menu '.
'WHERE gm_id_menu = '.$_GET['menu'];
$resultat_menu = $GLOBALS['_GEN_commun']['pear_db']->query($requete_menu);
$info_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
$resultat_menu->free();
if (isset($info_menu->gm_application_arguments)) {
$arguments = explode(' ', $info_menu->gm_application_arguments);
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if ($attr[0] != '') {
$info_application->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
}
}
}
include_once INS_CHEMIN_APPLI."langues/bottin_langue_".$GLOBALS['lang'].".inc.php" ;
 
if (isset($lang)) {
include_once INS_CHEMIN_APPLI."/langues/annuaire_backoffice.langue.$lang.inc.php" ;
} else {
include_once INS_CHEMIN_APPLI.'/langues/annuaire_backoffice.langue.fr.inc.php' ;
//cas de l'annuaire admin papyrus, on modifie certaines constantes
if ($info_application->type_annuaire==1) {
include_once INS_CHEMIN_APPLI.'configuration/annuaire_backoffice.config.inc.php';
}
 
define ("ANN_MAIL_TOUS", 1) ;
define ("ANN_MAIL_TOUS_ENVOIE", 2) ;
 
 
function afficherContenuCorps () {
global $statut ;
 
/trunk/client/bottin/cartographie.admin.php
19,7 → 19,7
// | 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: cartographie.admin.php,v 1.5 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: cartographie.admin.php,v 1.6 2007-04-11 08:30:12 neiluj Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.5 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.6 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
// +------------------------------------------------------------------------------------------------------+
54,7 → 54,7
/** Inclusion du fichier de configuration de cette application.*/
require_once PAP_CHEMIN_RACINE.'client/bottin/configuration/bottin.config.inc.php';
require_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';
require_once 'HTML/QuickForm.php' ;
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
//-------------------------------------------------------------------------------------------------------------------
// Initialisation des attributs
/trunk/client/bottin/configuration/annuaire_backoffice.config.inc.php
10,7 → 10,7
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_backoffice.config.inc.php,v 1.3 2006-12-01 16:02:15 florian Exp $
// $Id: annuaire_backoffice.config.inc.php,v 1.4 2007-04-11 08:30:12 neiluj Exp $
 
/**
//==================================== CONSTANTES ==================================
30,16 → 30,4
define ('INS_CHAMPS_PRENOM', 'ga_prenom');
/** Champs mot de passe */
define ('INS_CHAMPS_PASSE', 'ga_mot_de_passe');
/** Champs identifiant pays */
define ('INS_CHAMPS_PAYS', 'ga_ce_i18n');
/** Nom de la table des départements */
define ('INS_TABLE_DPT', 'gen_departement');
/** Nom de la table des pays */
define ('INS_TABLE_PAYS', 'gen_i18n_pays');
/** Champs identifiant du pays de la table des pays*/
define ('INS_CHAMPS_ID_PAYS', 'gip_id_pays');
/** Champs nom du pays de la table des pays*/
define ('INS_CHAMPS_LABEL_PAYS', 'gip_nom_pays_traduit');
/** Champs qui contient la localisation */
define ('INS_CHAMPS_I18N_PAYS', ' gip_id_i18n') ;
?>
/trunk/client/bottin/configuration/bottin.config.inc.php
19,7 → 19,7
// | 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: bottin.config.inc.php,v 1.15 2006-12-01 16:02:15 florian Exp $
// CVS : $Id: bottin.config.inc.php,v 1.16 2007-04-11 08:30:12 neiluj Exp $
/**
* Fichier de configuration de l'application d'inscription/annuaire
*
32,11 → 32,83
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.15 $ $Date: 2006-12-01 16:02:15 $
*@version $Revision: 1.16 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
//================================= CONSTANTES DB ==================================
/** Nom de la table Annuaire */
define ('INS_ANNUAIRE', 'annuaire');
/** Nom de la table des départements */
define ('INS_TABLE_DPT', 'gen_departement');
/** Nom de la table des pays */
define ('INS_TABLE_PAYS', 'gen_i18n_pays');
/** Champs identifiant */
define ('INS_CHAMPS_ID', 'a_id');
/** Champs adresse mail */
define ('INS_CHAMPS_MAIL', 'a_mail');
/** Champs nom */
define ('INS_CHAMPS_NOM', 'a_nom');
/** Champs prénom */
define ('INS_CHAMPS_PRENOM', 'a_prenom');
/** Champs description */
define ('INS_CHAMPS_DESCRIPTION','a_description');
/** Champs mot de passe */
define ('INS_CHAMPS_PASSE', 'a_mot_de_passe');
/** Champs identifiant pays */
define ('INS_CHAMPS_PAYS', 'a_ce_pays');
/** Champs code postal */
define ('INS_CHAMPS_CODE_POSTAL', 'a_code_postal');
/** Champs département */
define ('INS_CHAMPS_DEPARTEMENT', 'a_numero_dpt');
/** Champs adresse 1 */
define ('INS_CHAMPS_ADRESSE_1', 'a_adresse1');
/** Champs adresse 2 */
define ('INS_CHAMPS_ADRESSE_2', 'a_adresse2');
/** Champs ville */
define ('INS_CHAMPS_VILLE', 'a_ville');
/** Champs date de l'inscription */
define ('INS_CHAMPS_DATE_INSCRIPTION', 'a_date_inscription');
/** Champs pour désigner si c'est l'inscription d'une structure */
define ('INS_CHAMPS_EST_STRUCTURE', 'a_est_structure');
/** Champs sigle de la structure */
define ('INS_CHAMPS_SIGLE_STRUCTURE', 'a_sigle_structure');
/** Champs numéro de téléphone */
define ('INS_CHAMPS_TELEPHONE', 'a_telephone');
/** Champs numéro de fax */
define ('INS_CHAMPS_FAX', 'a_fax');
/** Champs d'appartenance à une structure */
define ('INS_CHAMPS_STRUCTURE', 'a_ce_structure');
/** Champs identifiant du pays de la table des pays*/
define ('INS_CHAMPS_ID_PAYS', 'gip_id_pays');
/** Champs nom du pays de la table des pays*/
define ('INS_CHAMPS_LABEL_PAYS', 'gip_nom_pays_traduit');
/** Champs qui contient la localisation */
define ('INS_CHAMPS_I18N_PAYS', ' gip_id_i18n') ;
/** Champs identifiant du département de la table des departement*/
define ('INS_CHAMPS_ID_DEPARTEMENT','gd_id_departement');
/** Champs nom du département de la table des departement*/
define ('INS_CHAMPS_NOM_DEPARTEMENT','gd_nom');
/** Champs pour l'abonnement à une liste, laisser vide si vous ne souhaitez pas d'inscription' */
define ('INS_CHAMPS_LETTRE', 'a_lettre');
/** Champs de la date d'inscription */
define ('INS_CHAMPS_DATE', 'a_date_inscription');
/** Champs du site Internet*/
define ('INS_CHAMPS_SITE_INTERNET', 'a_site_internet');
/** Champs pour la vue sur carto*/
define ('INS_CHAMPS_VISIBLE', 'a_voir_sur_carto');
/** Champs pour la vue sur carto*/
define ('INS_CHAMPS_NUM_AGREMENT', 'a_num_agrement_fpc');
/** Champs pour le logo*/
define ('INS_CHAMPS_LOGO', 'a_logo');
 
 
if (INS_CHAMPS_LETTRE != '') {
/** adresse d'inscription à la newsletter */
define ('INS_MAIL_INSCRIPTION_LISTE', 'newsletter-subscribe@domaine.org');
/** adresse de désinscription à la newsletter */
define ('INS_MAIL_DESINSCRIPTION_LISTE', 'newsletter-unsubscribe@domaine.org');
}
 
//teste si l'on est dans l'application Papyrus
if (!defined('PAP_VERSION')) { //pas dans Papyrus
//================================ BASE DE DONNEES =================================
111,36 → 183,7
include_once INS_CHEMIN_APPLI.'langues/bottin.langue_'.INS_LANGUE_DEFAUT.'.inc.php'; //appel du fichier de constantes des langues
}
 
// Recherche parametres menu actif : ils ne sont pas present dans le contexte, quel dommage !
$requete_menu = 'SELECT gm_application_arguments '.
'FROM gen_menu '.
'WHERE gm_id_menu = '.$_GET['menu'];
$resultat_menu = $GLOBALS['_GEN_commun']['pear_db']->query($requete_menu);
$info_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT);
$resultat_menu->free();
if (isset($info_menu->gm_application_arguments)) {
$arguments = explode(' ', $info_menu->gm_application_arguments);
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if ($attr[0] != '') {
$info_application->$attr[0] = (isset($attr[1]) ? $attr[1] : '');
}
}
}
//cas de l'annuaire admin papyrus, on modifie certaines constantes
if (isset($info_application) && $info_application->type_annuaire==1) {
include_once INS_CHEMIN_APPLI.'configuration/annuaire_backoffice.config.inc.php';
} else {
include_once INS_CHEMIN_APPLI.'configuration/annuaire_backoffice_bottin.config.inc.php';
}
 
if (defined('INS_CHAMPS_LETTRE')) {
/** adresse d'inscription à la newsletter */
define ('INS_MAIL_INSCRIPTION_LISTE', 'newsletter-subscribe@domaine.org');
/** adresse de désinscription à la newsletter */
define ('INS_MAIL_DESINSCRIPTION_LISTE', 'newsletter-unsubscribe@domaine.org');
}
 
/** Définir la présence d'un formulaire d'inscription de structure (mettre à 1 pour oui, 0 pour non */
define ('INS_FORMULAIRE_STRUCTURE', 1);
 
/trunk/client/bottin/inscription.php
19,7 → 19,7
// | 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: inscription.php,v 1.22 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.php,v 1.23 2007-04-11 08:30:12 neiluj Exp $
/**
* Inscription
*
32,7 → 32,7
//Autres auteurs :
*@author Florian SCHMITT <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.22 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.23 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
40,43 → 40,56
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
include_once 'configuration/bottin.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
 
// Inclusion d'une classe personnalisé si elle existe
if (file_exists (INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php')) {
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php' ;
} else {
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
}
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
if (!isset($_REQUEST['action'])) {
$_REQUEST['action']='';
}
 
 
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences'])
or (isset($_REQUEST['action'])&&($_REQUEST['action']=='modifier_v'||$_REQUEST['action']=='modifier_v'))
or ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) ) {
//---------------le menu de l'appli-----------
function afficherContenuNavigation () {
$res =inscription_onglets();
return $res ;
}
}
 
function afficherContenuCorps() {
$res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ;
if (!isset($_REQUEST['action'])) {
$_REQUEST['action']='';
}
 
//cas de la dàconnexion----------------------------------------------------------------------------------
//cas de la déconnexion----------------------------------------------------------------------------------
if ($_REQUEST['action'] == 'deconnexion') {
$GLOBALS['AUTH']->logout() ;
$_POST['username'] = '' ;
$_POST['password'] = '' ;
return $res.AUTH_formulaire_login() ;
return $res.inscription_AUTH_formulaire_login() ;
}
//cas de la désinscription-------------------------------------------------------------------------------
if ($_REQUEST['action'] == 'supprimer') {
$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
$resultat = $GLOBALS['AUTH']->removeUser($GLOBALS['AUTH']->getUsername()) ;
if (PEAR::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
// Suppression dans SPIP
// Suppression dans SPIP
if (INS_UTILISE_SPIP) {
desinscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) ;
}
// Suppression dans Wikini
if (INS_UTILISE_WIKINI) {
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_NOM_WIKI) ;
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ;
desinscription_interwikini_users($nom_wiki) ;
}
// Appel des actions desinscriptions des applications clientes
86,14 → 99,21
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;
}
$d->close();
$resultat = $GLOBALS['AUTH']->removeUser($GLOBALS['AUTH']->getUsername()) ;
if (PEAR::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
// Deconnection
$GLOBALS['AUTH']->logout() ;
return $res.AUTH_formulaire_login() ;
return $res.inscription_AUTH_formulaire_login() ;
}
//cas de l'envoi de mot de passe par mail----------------------------------------------------------------
if ($_REQUEST['action'] == 'sendpasswd') {
return envoie_passe()."\n".formulaire_envoi_passe() ;
return inscription_envoie_passe()."\n".inscription_formulaire_envoi_passe() ;
}
 
//cas de la saisie ou la modification de l'inscription individuelle ou structure
106,10 → 126,15
}
}
// On ajoute la règle de vérification mail uniquement lors de l inscription
if ($_REQUEST['action'] == 'inscription') {
$formulaire->registerRule('doublonmail', 'callback', 'verif_doublonMail');
$formulaire->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true);
}
//pour la modification d'une inscription, on charge les valeurs par défauts
if ($_REQUEST['action'] == 'modifier') {
$formulaire->addElement('hidden', 'action', 'modifier_v') ;
$formulaire->setDefaults(formulaire_defaults()) ;
$formulaire->setDefaults(inscription_formulaire_defaults()) ;
}
if ($_REQUEST['action'] == 'inscription') {
117,26 → 142,39
} else {
$formulaire->addElement('hidden', 'action', 'inscription_v') ;
$formulaire->setDefaults(array('pays' => 'FR', 'visible' => 1));
$formulaire->setDefaults(array('pays' => 'fr', 'visible' => 1,'lettre'=>1));
}
}
if ($_REQUEST['action'] == 'inscription_v') {
if ($formulaire->validate()) {
if (INS_MAIL_VALIDATION_INSCRIPTION) {
$formulaire->process('demande_inscription', false) ;
return $res.INS_MESSAGE_INSCRIPTION;
} else {
$formulaire->process('inscription_validee', false) ;
return $res.info();
}
if (INS_MAIL_VALIDATION_INSCRIPTION) {
$formulaire->process('inscription_demande', false) ;
return $res.INS_MESSAGE_INSCRIPTION;
} else {
$formulaire->process('inscription_validee', false) ;
$id_utilisateur = $GLOBALS['ins_db']->getOne('SELECT MAX('.INS_CHAMPS_ID.') FROM '.INS_ANNUAIRE) ;
// Appel des actions des inscriptions des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php'))
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ;
}
$d->close();
return $res.info();
}
} else {
// Si le formulaire n'est pas bon on remet l'action à inscription_v
$formulaire->addElement('hidden', 'action', 'inscription_v') ;
}
}
if ($_REQUEST['action'] == 'modifier_v') {
if ($formulaire->validate()) {
$formulaire->process('mise_a_jour', false) ;
return $res.info();
$formulaire->process('inscription_mise_a_jour', false) ;
} else {
return $formulaire->toHTML();
}
return $res.info();
}
return $res.$formulaire->toHTML() ;
154,7 → 192,7
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
$donnees = unserialize (stripslashes($ligne->id_donnees)) ;
insertion($donnees) ;
$id_utilisateur = inscription_insertion($donnees) ;
$GLOBALS['AUTH']->username = $donnees['email'] ;
$GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
171,18 → 209,25
if (DB::isError($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
// Appel des actions desinscriptions des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php'))
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ;
}
$d->close();
envoie_mail() ;
}
if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {
if (isset($_POST['username']) && $_POST['username'] != '') {
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".formulaire_envoi_passe();
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".inscription_formulaire_envoi_passe();
} else {
$res .= AUTH_formulaire_login() ;
$res .= inscription_AUTH_formulaire_login() ;
}
}
//cas d'une authentification ràussie---------------------------------------------------------------------
//cas d'une authentification réussie---------------------------------------------------------------------
if ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) {
return info() ;
}
193,6 → 238,49
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.20.2.1 2007/01/26 10:32:59 alexandre_tb
* suppression d un notice
*
* Revision 1.20 2006/12/01 13:23:17 florian
* integration annuaire backoffice
*
* Revision 1.19 2006/10/05 13:53:54 florian
* amélioration des fichiers sql
*
* Revision 1.18 2006/07/20 09:48:07 alexandre_tb
* réglages
*
* Revision 1.17 2006/07/06 10:33:30 alexandre_tb
* correction bug du à dernière mise à jour
*
* Revision 1.16 2006/07/04 09:38:31 alexandre_tb
* Ajout de la règle doublon email uniquement lors de création d'une entrée
*
* Revision 1.15 2006/06/01 10:00:35 alexandre_tb
* correction bug désinscription des appli cliente
*
* Revision 1.14 2006/04/10 09:48:16 alexandre_tb
* Correction de bug pour les inscriptions aux autres applications
*
* Revision 1.13 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.12 2006/03/15 11:05:45 alexandre_tb
* ajout de l'action caché inscription_v lors du réaffichage du formulaire après erreur de saisie.
*
* Revision 1.11 2006/03/02 14:10:35 alexandre_tb
* correction du bug desinscription wikini
*
* Revision 1.10 2006/03/02 13:03:45 alexandre_tb
* bug de désinscription interwikini_users
*
* Revision 1.9 2006/02/28 14:08:27 alexandre_tb
* appel des inscriptions des autres appli, sous le format:
* client/appli/appli.inscription.php
*
* Revision 1.8 2006/02/14 10:21:08 alexandre_tb
* ajout d'un appel à un fichier de classe personnalisé
*
* Revision 1.7 2005/12/19 13:16:14 alexandre_tb
* correction d'un bug
*
/trunk/client/bottin/annuaire.php
19,7 → 19,7
// | 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.php,v 1.6 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: annuaire.php,v 1.7 2007-04-11 08:30:12 neiluj Exp $
/**
* programme principal du module annuaire
*
32,7 → 32,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.6 $
*@version $Revision: 1.7 $
// +------------------------------------------------------------------------------------------------------+
*/
 
41,7 → 41,7
// +------------------------------------------------------------------------------------------------------+
include_once 'configuration/bottin.config.inc.php';
include_once 'configuration/annuaire.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/annuaire.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
 
if (!isset($GLOBALS['lang'])) {
$GLOBALS['lang'] = INS_LANGUE_DEFAUT ;
48,6 → 48,14
}
include_once INS_CHEMIN_APPLI."langues/annuaire.langue.".$GLOBALS['lang'].".inc.php" ;
 
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
//---------------le menu de l'appli-----------
function afficherContenuNavigation () {
$res =inscription_onglets();
return $res ;
}
}
 
/**
* Renvoie le code HTML de l'application
*
54,10 → 62,8
* @return string HTML
*/
function afficherContenuCorps () {
if (isset($_GET['voir_fiche'])) {
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
$res=info($_GET['voir_fiche']);
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
$res = affiche_onglet_info();
} else {
$res = '<h1 class="annuaire_titre1">'.INS_ANNUAIRE_MEMBRES.'</h1>'."\n" ;
if (!$GLOBALS['AUTH']->getAuth()&&INS_NECESSITE_LOGIN) {
75,6 → 81,12
 
/**------------------------------------------------------------------------------
* $Log: not supported by cvs2svn $
* Revision 1.5 2006/04/10 14:01:36 florian
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
*
* Revision 1.4 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.3 2005/10/03 09:38:42 alexandre_tb
* Lorsque non loggué, on renvoie un message et non un formulaire
*
/trunk/client/bottin/documentation/bottin_v0.24.sql
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/bottin/annuaire_backoffice.admin.php
84,9 → 84,10
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
$valeurs_par_defaut = array();
if ($resultat->numRows()>0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$arguments = explode(' ', $ligne->gm_application_arguments);
if ($resultat->numRows()>0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$arguments = explode(' ', $ligne->gm_application_arguments);
var_dump($arguments);
for ($i = 0; $i < count($arguments); $i++) {
$attr = explode('=', $arguments[$i]);
if ($attr[0] != '') {
/trunk/client/bottin/bibliotheque/inscription.class.php
19,7 → 19,7
// | 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: inscription.class.php,v 1.17 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.class.php,v 1.18 2007-04-11 08:30:12 neiluj Exp $
/**
* Inscription
*
31,7 → 31,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.17 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.18 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
75,8 → 75,8
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_ID_PAYS.'="'.$i18n.'"';
$requete = 'select '.INS_CHAMPS_ID_PAYS.', '.INS_CHAMPS_LABEL_PAYS.' from '.INS_TABLE_PAYS
.' where '.INS_CHAMPS_I18N_PAYS.'="'.$i18n.'"';
$resultat = $this->_db->query($requete) ;
if (DB::isError($resultat)) {
102,7 → 102,8
$i18n = strtolower($i18n)."-".strtoupper($i18n) ;
}
$requete = 'select '.INS_CHAMPS_LABEL_PAYS.' from '.INS_TABLE_PAYS.
' where '.INS_CHAMPS_ID_PAYS.'="'.$codeIso.'"';
' where '.INS_CHAMPS_I18N_PAYS.'="'.$i18n.'" and '.
INS_CHAMPS_ID_PAYS.'="'.$codeIso.'"';
$resultat = $this->_db->query($requete) ;
if (DB::isError($resultat)) {
144,316 → 145,62
*/
function construitFormulaire($url)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form {attributes}><table style="width:100%;">'."\n".'{content}'."\n".'</table></form>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".
'<td style="font-size:12px;font-weight:bold;width:150px;text-align:right;">'."\n".'{label} :</td> '."\n".
'<td style="font-size:12px;text-align:left;padding-left:20px;">'."\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->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2">{label}{element}</td>'."\n".'</tr>', 'lettre');
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2">{label}{element}</td>'."\n".'</tr>', 'visible');
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2">{label}{element}</td>'."\n".'</tr>', 'annuler');
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2">{label}{element}</td>'."\n".'</tr>', 'valider');
$squelette->setGroupElementTemplate('<tr>'."\n".'<td colspan="2">{label}{element}</td>'."\n".'</tr>', 'groupe_bouton') ;
//Traduction de champs requis
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
$this->setJsWarnings(INS_ERREUR_SAISIE,INS_VEUILLEZ_CORRIGER);
$squelette =& $this->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 style="font-size:12px;width:140px;text-align:right;">'."\n".'{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
' :</td>'."\n".
'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</td>'."\n".
'</tr>'."\n");
$squelette->setElementTemplate( '<tr><td colspan="2" style="font-size:12px;text-align:left;">{label}{element}</td></tr>'."\n", 'lettre');
$squelette->setElementTemplate( '<tr><td colspan="2" style="font-size:12px;text-align:left;">{label}{element}</td></tr>'."\n", 'visible');
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton" id="bouton_annuler">{label}{element}</td></tr>'."\n", 'groupe_bouton');
$squelette->setGroupTemplate('<tr><td colspan="2">{content}</td></tr>'."\n", 'groupe_bouton');
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
$this->setJsWarnings(INS_ERREUR_SAISIE,INS_VEUILLEZ_CORRIGER);
$debut = '<h2>'.INS_AJOUT_MEMBRE.'</h2>'."\n";
$this->addElement('html', $debut);
$this->addElement('text', 'nom', INS_NOM) ;
$this->addRule('nom', INS_NOM_REQUIS, 'required', '', 'client') ;
$this->addElement('text', 'email', INS_EMAIL) ;
$this->addRule('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->registerRule('doublonmail', 'callback', 'verif_doublonMail');
$this->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', (isset($GLOBALS['AUTH']) ? $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) : ''));
$this->addElement('password', 'mot_de_passe', INS_MOT_DE_PASSE, array('size' => '10')) ;
$this->addElement('text', 'email', INS_EMAIL) ;
$this->addRule('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->addElement('password', 'mot_de_passe', INS_MOT_DE_PASSE, array('size' => '10')) ;
$this->addElement('password', 'mot_de_passe_repete', INS_REPETE_MOT_DE_PASSE, array('size' => '10')) ;
$this->addRule('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule('mot_de_passe_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule('mot_de_passe', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule('mot_de_passe_repete', INS_MOT_DE_PASSE_REQUIS, 'required', '', 'client') ;
$this->addRule(array ('mot_de_passe', 'mot_de_passe_repete'), INS_MOTS_DE_PASSE_DIFFERENTS, 'compare', '', 'client') ;
$this->addElement('text', 'adresse_1', INS_ADRESSE_1) ;
$this->addElement('text', 'nom', INS_NOM) ;
$this->addRule('nom', INS_NOM_REQUIS, 'required', '', 'client') ;
$this->addElement('text', 'prenom', INS_PRENOM) ;
$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', 'cp', INS_CODE_POSTAL) ;
$this->addRule('cp', INS_CODE_POSTAL_REQUIS, 'required', '', 'client') ;
$this->addElement('text', 'ville', INS_VILLE) ;
$this->addRule('ville', 'Vous devez indiquer votre ville', 'required', '', 'client') ;
// L'élément pays est construit à partir du tableau liste_pays
$liste_pays = new ListeDePays($GLOBALS['ins_db']) ;
$this->addElement('select', 'pays', INS_PAYS, $liste_pays->getListePays(INS_LANGUE_DEFAUT)) ;
$this->addElement('file', 'image', 'Avatar <a href="http://fr.wikipedia.org/wiki/Avatar_%28informatique%29" title="voir la d&eacute;finition d\'avatar" target="_blank">(c\'est quoi avatar?)</a> (facultatif, en .JPG, 20 ko maxi, 150*150 pixels maxi)');
$this->addRule('image', 'Le fichier choisi est trop gros', 'maxfilesize', 24288);
$this->addRule('image', 'Vous devez choisir un .JPG', 'mimetype', array('image/jpg', 'image/jpeg') );
$this->addElement('html', '<tr><td colspan="2"><br /><br /><h2>Pour les groupes : </h2></td></tr>'."\n");
$agemin='<tr>
<td style="font-size: 12px; font-weight: bold; width: 150px; text-align: right;">
Age minimum des participants:</td>
<td style="padding-left: 20px; text-align: left;">
<select style="width: 160px;" name="age_min" size="1">
<option value="1">de 1 an</option>
<option value="2">de 2 ans</option>
<option value="3">de 3 ans</option>
<option value="4">de 4 ans</option>
<option value="5">de 5 ans</option>
<option value="6">de 6 ans</option>
<option value="7">de 7 ans</option>
<option value="8">de 8 ans</option>
<option value="9">de 9 ans</option>
<option value="10">de 10 ans</option>
<option value="11">de 11 ans</option>
<option value="12">de 12 ans</option>
<option value="13">de 13 ans</option>
<option value="14">de 14 ans</option>
<option value="15">de 15 ans</option>
<option value="16">de 16 ans</option>
<option value="17">de 17 ans</option>
<option value="18">de 18 ans</option>
<option value="19">de 19 ans</option>
<option value="20">de 20 ans</option>
<option value="21">de 21 ans</option>
<option value="22">de 22 ans</option>
<option value="23">de 23 ans</option>
<option value="24">de 24 ans</option>
<option value="25">de 25 ans</option>
<option value="26">de 26 ans</option>
<option value="27">de 27 ans</option>
<option value="28">de 28 ans</option>
<option value="29">de 29 ans</option>
<option value="30">de 30 ans</option>
<option value="31">de 31 ans</option>
<option value="32">de 32 ans</option>
<option value="33">de 33 ans</option>
<option value="34">de 34 ans</option>
<option value="35">de 35 ans</option>
<option value="36">de 36 ans</option>
<option value="37">de 37 ans</option>
<option value="38">de 38 ans</option>
<option value="39">de 39 ans</option>
<option value="40">de 40 ans</option>
<option value="41">de 41 ans</option>
<option value="42">de 42 ans</option>
<option value="43">de 43 ans</option>
<option value="44">de 44 ans</option>
<option value="45">de 45 ans</option>
<option value="46">de 46 ans</option>
<option value="47">de 47 ans</option>
<option value="48">de 48 ans</option>
<option value="49">de 49 ans</option>
<option value="50">de 50 ans</option>
<option value="51">de 51 ans</option>
<option value="52">de 52 ans</option>
<option value="53">de 53 ans</option>
<option value="54">de 54 ans</option>
<option value="55">de 55 ans</option>
<option value="56">de 56 ans</option>
<option value="57">de 57 ans</option>
<option value="58">de 58 ans</option>
<option value="59">de 59 ans</option>
<option value="60">de 60 ans</option>
<option value="61">de 61 ans</option>
<option value="62">de 62 ans</option>
<option value="63">de 63 ans</option>
<option value="64">de 64 ans</option>
<option value="65">de 65 ans</option>
<option value="66">de 66 ans</option>
<option value="67">de 67 ans</option>
<option value="68">de 68 ans</option>
<option value="69">de 69 ans</option>
<option value="70">de 70 ans</option>
<option value="71">de 71 ans</option>
<option value="72">de 72 ans</option>
<option value="73">de 73 ans</option>
<option value="74">de 74 ans</option>
<option value="75">de 75 ans</option>
<option value="76">de 76 ans</option>
<option value="77">de 77 ans</option>
<option value="78">de 78 ans</option>
<option value="79">de 79 ans</option>
<option value="80">de 80 ans</option>
<option value="81">de 81 ans</option>
<option value="82">de 82 ans</option>
<option value="83">de 83 ans</option>
<option value="84">de 84 ans</option>
<option value="85">de 85 ans</option>
<option value="86">de 86 ans</option>
<option value="87">de 87 ans</option>
<option value="88">de 88 ans</option>
<option value="89">de 89 ans</option>
<option value="90">de 90 ans</option>
<option value="91">de 91 ans</option>
<option value="92">de 92 ans</option>
<option value="93">de 93 ans</option>
<option value="94">de 94 ans</option>
<option value="95">de 95 ans</option>
<option value="96">de 96 ans</option>
<option value="97">de 97 ans</option>
<option value="98">de 98 ans</option>
<option value="99">de 99 ans</option>
<option value="100">de 100 ans</option>
<option value="101">de 101 ans</option>
<option value="102">de 102 ans</option>
<option value="103">de 103 ans</option>
<option value="104">de 104 ans</option>
<option value="105">de 105 ans</option>
<option value="106">de 106 ans</option>
<option value="107">de 107 ans</option>
<option value="108">de 108 ans</option>
<option value="109">de 109 ans</option>
<option value="110">de 110 ans</option>
<option value="111">de 111 ans</option>
<option value="112">de 112 ans</option>
<option value="113">de 113 ans</option>
<option value="114">de 114 ans</option>
<option value="115">de 115 ans</option>
<option value="116">de 116 ans</option>
<option value="117">de 117 ans</option>
<option value="118">de 118 ans</option>
<option value="119">de 119 ans</option>
<option value="120">de 120 ans</option>
</select></td></tr>';
$agemax='<tr>
<td style="font-size: 12px; font-weight: bold; width: 150px; text-align: right;">
Age maximum des participants:</td>
<td style="padding-left: 20px; text-align: left;">
<select style="width: 160px;" name="age_max" size="1">
<option value="1">à 1 an</option>
<option value="2">à 2 ans</option>
<option value="3">à 3 ans</option>
<option value="4">à 4 ans</option>
<option value="5">à 5 ans</option>
<option value="6">à 6 ans</option>
<option value="7">à 7 ans</option>
<option value="8">à 8 ans</option>
<option value="9">à 9 ans</option>
<option value="10">à 10 ans</option>
<option value="11">à 11 ans</option>
<option value="12">à 12 ans</option>
<option value="13">à 13 ans</option>
<option value="14">à 14 ans</option>
<option value="15">à 15 ans</option>
<option value="16">à 16 ans</option>
<option value="17">à 17 ans</option>
<option value="18">à 18 ans</option>
<option value="19">à 19 ans</option>
<option value="20">à 20 ans</option>
<option value="21">à 21 ans</option>
<option value="22">à 22 ans</option>
<option value="23">à 23 ans</option>
<option value="24">à 24 ans</option>
<option value="25">à 25 ans</option>
<option value="26">à 26 ans</option>
<option value="27">à 27 ans</option>
<option value="28">à 28 ans</option>
<option value="29">à 29 ans</option>
<option value="30">à 30 ans</option>
<option value="31">à 31 ans</option>
<option value="32">à 32 ans</option>
<option value="33">à 33 ans</option>
<option value="34">à 34 ans</option>
<option value="35">à 35 ans</option>
<option value="36">à 36 ans</option>
<option value="37">à 37 ans</option>
<option value="38">à 38 ans</option>
<option value="39">à 39 ans</option>
<option value="40">à 40 ans</option>
<option value="41">à 41 ans</option>
<option value="42">à 42 ans</option>
<option value="43">à 43 ans</option>
<option value="44">à 44 ans</option>
<option value="45">à 45 ans</option>
<option value="46">à 46 ans</option>
<option value="47">à 47 ans</option>
<option value="48">à 48 ans</option>
<option value="49">à 49 ans</option>
<option value="50">à 50 ans</option>
<option value="51">à 51 ans</option>
<option value="52">à 52 ans</option>
<option value="53">à 53 ans</option>
<option value="54">à 54 ans</option>
<option value="55">à 55 ans</option>
<option value="56">à 56 ans</option>
<option value="57">à 57 ans</option>
<option value="58">à 58 ans</option>
<option value="59">à 59 ans</option>
<option value="60">à 60 ans</option>
<option value="61">à 61 ans</option>
<option value="62">à 62 ans</option>
<option value="63">à 63 ans</option>
<option value="64">à 64 ans</option>
<option value="65">à 65 ans</option>
<option value="66">à 66 ans</option>
<option value="67">à 67 ans</option>
<option value="68">à 68 ans</option>
<option value="69">à 69 ans</option>
<option value="70">à 70 ans</option>
<option value="71">à 71 ans</option>
<option value="72">à 72 ans</option>
<option value="73">à 73 ans</option>
<option value="74">à 74 ans</option>
<option value="75">à 75 ans</option>
<option value="76">à 76 ans</option>
<option value="77">à 77 ans</option>
<option value="78">à 78 ans</option>
<option value="79">à 79 ans</option>
<option value="80">à 80 ans</option>
<option value="81">à 81 ans</option>
<option value="82">à 82 ans</option>
<option value="83">à 83 ans</option>
<option value="84">à 84 ans</option>
<option value="85">à 85 ans</option>
<option value="86">à 86 ans</option>
<option value="87">à 87 ans</option>
<option value="88">à 88 ans</option>
<option value="89">à 89 ans</option>
<option value="90">à 90 ans</option>
<option value="91">à 91 ans</option>
<option value="92">à 92 ans</option>
<option value="93">à 93 ans</option>
<option value="94">à 94 ans</option>
<option value="95">à 95 ans</option>
<option value="96">à 96 ans</option>
<option value="97">à 97 ans</option>
<option value="98">à 98 ans</option>
<option value="99">à 99 ans</option>
<option value="100">à 100 ans</option>
<option value="101">à 101 ans</option>
<option value="102">à 102 ans</option>
<option value="103">à 103 ans</option>
<option value="104">à 104 ans</option>
<option value="105">à 105 ans</option>
<option value="106">à 106 ans</option>
<option value="107">à 107 ans</option>
<option value="108">à 108 ans</option>
<option value="109">à 109 ans</option>
<option value="110">à 110 ans</option>
<option value="111">à 111 ans</option>
<option value="112">à 112 ans</option>
<option value="113">à 113 ans</option>
<option value="114">à 114 ans</option>
<option value="115">à 115 ans</option>
<option value="116">à 116 ans</option>
<option value="117">à 117 ans</option>
<option value="118">à 118 ans</option>
<option value="119">à 119 ans</option>
<option value="120">à 120 ans</option>
</select></td></tr>';
$this->addElement('html', $agemin);
$this->addElement('html', $agemax);
$formtexte= new HTML_QuickForm_textarea('description', 'Courte description des participants et de leurs projets', array('style'=>'white-space: normal;width:300px;height:180px;'));
$this->addElement($formtexte) ;
$this->applyFilter('description', 'addslashes') ;
$this->addElement('text', 'nom_ref', 'Nom du r&eacute;f&eacute;rent');
if (INS_CHAMPS_LETTRE != '') $this->addElement('hidden', 'lettre',1) ;
$this->addElement('hidden', 'visible',1) ;
$this->addElement('select', 'pays', INS_PAYS, $liste_pays->getListePays(INS_LANGUE_DEFAUT)) ;
$this->addElement('text', 'telephone', INS_TELEPHONE, array('size' => '12')) ;
$this->addElement('text', 'fax', INS_FAX, array('size' => '12')) ;
$this->addElement('text', 'site', INS_SITE_INTERNET) ;
$this->addElement('file', 'image', INS_LOGO_OU_IMAGE) ;
$this->setMaxFileSize(150000); //logo de 15ko maximum
if (INS_CHAMPS_LETTRE != '') $this->addElement('checkbox', 'lettre',INS_LETTRE, '<br />') ;
$this->addElement('checkbox', 'visible',INS_VISIBLE, '<br />') ;
$this->addElement('hidden', 'est_structure', 0) ;
$defauts=array ('lettre'=>1,'pays'=>'FR');
$this->setDefaults($defauts);
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$this->addElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'"));
$this->addElement('submit', 'valider', INS_VALIDER);
$boutons[] = &HTML_QuickForm::createElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'",
'id' => 'annuler', 'class' => 'bouton'));
$boutons[] = &HTML_QuickForm::createElement('submit', 'valider', INS_VALIDER, array ('id' => 'valider', 'class' =>'bouton'));
$this->addGroup($boutons, 'groupe_bouton', '', "\n");
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
497,4 → 244,4
} // end of member function toHTML
}
 
?>
?>
/trunk/client/bottin/bibliotheque/annuaire_backoffice.fonct.php
10,7 → 10,7
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_backoffice.fonct.php,v 1.9 2007-04-06 08:35:46 neiluj Exp $
// $Id: annuaire_backoffice.fonct.php,v 1.10 2007-04-11 08:30:12 neiluj Exp $
 
 
/** function mkengine ()
20,8 → 20,8
* @return
*/
 
include_once 'Pager/Pager.php' ;
include_once 'HTML/Table.php';
include_once PAP_CHEMIN_API_PEAR.'Pager/Pager.php' ;
include_once PAP_CHEMIN_API_PEAR.'HTML/Table.php';
 
function mkengine()
{
80,10 → 80,10
if ($resultat_nbre_inscrit->numRows() == 1) {
$tmp_nb = $resultat_nbre_inscrit->fetchRow(DB_FETCHMODE_OBJECT);
$nbr_total = $tmp_nb->CPT;
if ($nbr_total > 0) $chaine = "parmi $nbr_total données";
else die("<B>Erreur</B> lors du comptage des structures ($nbr_total trouvées) : $query");
$chaine = "parmi $nbr_total données";
if ($nbr_total <= 0) $ret .= "<B>Erreur</B> lors du comptage des structures ($nbr_total trouvées) : $requete_nbre_inscrit";
}
else die("<B>Erreur</B> lors du comptage des structures : $query");
else $ret .= "<B>Erreur</B> lors du comptage des structures : $requete_nbre_inscrit";
 
 
// fin comptage
197,11 → 197,14
if ($data[$i][INS_CHAMPS_PAYS] != 'fr') {
array_push ($ligne_inscrit, $data[$i][INS_CHAMPS_LABEL_PAYS]);
} else {
$req_dpt = 'select '.INS_CHAMPS_NOM_DEPARTEMENT.' from '.INS_TABLE_DEPARTEMENT.",".INS_ANNUAIRE.
$req_dpt = 'select '.INS_CHAMPS_NOM_DEPARTEMENT.' from '.INS_TABLE_DPT.",".INS_ANNUAIRE.
" where ".INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'='.$data[$i][INS_CHAMPS_ID] ;
$req_dpt .= " and ".INS_ANNUAIRE.'.'.INS_CHAMPS_ID_DEPARTEMENT.'='.INS_TABLE_DEPARTEMENT.'.'
$req_dpt .= " and ".INS_ANNUAIRE.'.'.INS_CHAMPS_DEPARTEMENT.'='.INS_TABLE_DPT.'.'
.INS_CHAMPS_ID_DEPARTEMENT ;
$resultat_dpt = $GLOBALS['ins_db']->query($req_dpt) ;
if (DB::isError($resultat_dpt)) {
echo $resultat_dpt->getMessage().$resultat_dpt->getDebugInfo();
}
$ligne_dpt = $resultat_dpt->fetchRow(DB_FETCHMODE_ASSOC) ;
array_push ($ligne_inscrit, $ligne_dpt[INS_CHAMPS_NOM_DEPARTEMENT]) ;
}
351,7 → 354,15
if (isset($_REQUEST['ajouter_v'])) {
if ($formulaire->validate()) {
insertion($formulaire->getSubmitValues()) ;
$id_utilisateur = insertion($formulaire->getSubmitValues()) ;
// Appel des actions desinscriptions des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php'))
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ;
}
$d->close();
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
/trunk/client/bottin/bibliotheque/bottin.fonct.php
34,6 → 34,9
*/
 
 
include_once 'inscription.fonct.wiki.php' ;
if (INS_UTILISE_SPIP) include_once 'inscription.fonct.spip.php' ;
 
/** function inscription_onglets() Affiche les onglets de présentation de la structure
*
*
52,6 → 55,8
$id_fiche=$_GET['voir_ressources'];
} elseif (isset($_GET['voir_competences'])) {
$id_fiche=$_GET['voir_competences'];
} else {
$id_fiche = '';
}
//preparation de l'affichage des onglets
58,12 → 63,16
$res='<ul id="onglets_inscription">'."\n";
//partie présentation
$GLOBALS['ins_url']->addQueryString('voir_fiche', $id_fiche);
$res .= '<li id="fiche"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_PRESENTATION.'</a>'."\n".'</li>'."\n";
$res .= '<li id="fiche"';
if (isset($_GET['voir_fiche'])) $res .= ' class="onglet_actif" ';
$res .= '><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_PRESENTATION.'</a>'."\n".'</li>'."\n";
$GLOBALS['ins_url']->removeQueryString('voir_fiche');
if ($id_fiche==$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) {
//partie abonnement
$GLOBALS['ins_url']->addQueryString('voir_abonnement', $id_fiche);
$res .= '<li id="abonnements"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_ABONNEMENTS.'</a></li>'."\n" ;
$res .= '<li id="abonnements"';
if (isset($_GET['voir_abonnement'])) $res .= ' class="onglet_actif" ';
$res .= '><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_ABONNEMENTS.'</a></li>'."\n" ;
$GLOBALS['ins_url']->removeQueryString('voir_abonnement');
}
//partie actualites
562,7 → 571,7
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
 
include_once 'Mail.php' ;
include_once PAP_CHEMIN_API_PEAR.'Mail.php' ;
$entetes['From'] = $ligne[INS_CHAMPS_MAIL];
 
589,9 → 598,703
$GLOBALS['corps'] = '';
$GLOBALS['titre_mail'] = '';
}
 
//-----Fonctions de l'inscription-----------------------------------------------------+
 
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
function inscription_demande($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) ;
if (INS_UTILISE_REECRITURE_URL) {
$url = 'http://'.$GLOBALS['ins_url']->host.'/'.INS_URL_PREFIXE.$chaine ;
} else {
$url = str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()) ;
}
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le gabarit du mail est dans un template
// template 2
$requete = 'select it_template from inscription_template where it_id_template=2'.
' and it_i18n like "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $url) ;
 
mail ($GLOBALS['email'], 'Inscription', $tpl->get(), 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
}
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function inscription_validee($valeurs) {
inscription_insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
 
/**
* Renvoie l'accueil de l'inscription
*
* @return string HTML
*/
function inscription_AUTH_formulaire_login() {
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le formulaire pour se logguer est dans un template
// template 1
$requete = 'SELECT it_template FROM inscription_template WHERE it_id_template=1'.
' AND it_i18n LIKE "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $GLOBALS['ins_url']->getURL());
return $tpl->get() ;
}
 
 
/** formulaire_envoi_passe() - Renvoie le code HTML d'un formulaire d'envoi de mot de passe par mail
*
* @return string HTML
*/
function inscription_formulaire_envoi_passe() {
$res = '<h2>'.INS_SI_PASSE_PERDU.'</h2>'."\n" ;
$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'&amp;action=sendpasswd" method="post">'."\n" ;
$res .= '<p class="label100">'.INS_EMAIL.' : </p>'."\n" ;
$res .= '<input type="text" value="';
if (isset($_POST['username'])) $res .= $_POST['username'];
$res .= '" name="mail" size="32" />'."\n" ;
$res .= '<input type="submit" value="'.INS_ENVOIE_PASSE.'" />' ;
$res .= '</form><br />'."\n" ;
$res .= inscription_AUTH_formulaire_login() ;
return $res;
}
 
 
function inscription_insertion($valeur) {
// =========== Insertion dans l'annuaire ===================
// Génération du nom wikini à partir du nom et du prénom
if (INS_UTILISE_WIKINI && INS_NOM_WIKINI_GENERE) {
$valeur['nom_wiki'] = inscription_genere_nom_wiki ($valeur['nom'], isset ($valeur['prenom']) ? $valeur['prenom'] : '') ;
} else {
if (!INS_NOM_WIKINI_GENERE) {
$valeur['nom_wiki'] = $valeur['nomwiki'];
}
}
$id_utilisateur = inscription_nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$requete = 'INSERT INTO '.INS_ANNUAIRE.' SET '.
INS_CHAMPS_ID.'="'.$id_utilisateur.'",'.
inscription_requete_annuaire($valeur) ;
 
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// ================ Insertion dans SPIP =========================================
if (INS_UTILISE_SPIP) {
inscription_spip($id_utilisateur, $valeur) ;
}
if (INS_UTILISE_WIKINI) inscription_interwikini_users('', $valeur) ;
return $id_utilisateur ;
}
 
 
/**
* Réalise une mise à jour dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function inscription_mise_a_jour($valeur, $id = '') {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
}
$requete = 'update '.INS_ANNUAIRE.' set '.
inscription_requete_annuaire ($valeur).
'where '.INS_CHAMPS_ID.'="'.$id.'"';
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
 
// ========================= Mise à jour dans SPIP ================================
if (INS_UTILISE_SPIP) {
mod_inscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID), $valeur) ;
}
}
 
/** 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 inscription_requete_annuaire($valeur) {
$req = INS_CHAMPS_NOM.'="'.addslashes($valeur['nom']).'", ';
if (isset($valeur['est_structure']) && $valeur['est_structure'] == 0)
$req .= INS_CHAMPS_PRENOM.'="'.addslashes($valeur['prenom']).'", ';
// Initialisation de variable pour éviter des notices
foreach (array ('adresse_1', 'adresse_2', 'ville', 'telephone', 'fax', 'site') as $val) {
if (!isset ($valeur[$val])) $valeur[$val] = '' ;
}
 
$req .= INS_CHAMPS_MAIL.'="'.addslashes($valeur['email']).'", ' ;
$req .= INS_CHAMPS_PASSE.'="'.md5($valeur['mot_de_passe']).'", '.
INS_CHAMPS_PAYS.'="'.addslashes($valeur['pays']).'", '.
INS_CHAMPS_ADRESSE_1.'="'.addslashes($valeur['adresse_1']).'", '.
INS_CHAMPS_ADRESSE_2.'="'.addslashes($valeur['adresse_2']).'", '.
INS_CHAMPS_DATE_INSCRIPTION.'=NOW(), '.
INS_CHAMPS_CODE_POSTAL.'="'.addslashes($valeur['cp']).'", '.
INS_CHAMPS_VILLE.'="'.addslashes($valeur['ville']).'", '.
INS_CHAMPS_EST_STRUCTURE.'="'.addslashes($valeur['est_structure']).'", '.
INS_CHAMPS_TELEPHONE.'="'.addslashes($valeur['telephone']).'", '.
INS_CHAMPS_FAX.'="'.addslashes($valeur['fax']).'", '.
INS_CHAMPS_SITE_INTERNET.'="'.addslashes($valeur['site']).'" ';
if (isset($valeur['visible'])) $req .= ', '.INS_CHAMPS_VISIBLE.'="'.$valeur['visible'].'"';
else $req .= ', '.INS_CHAMPS_VISIBLE.'=0';
if (INS_CHAMPS_LETTRE != '') {
if (isset($valeur['lettre'])) {
$req .= ', '.INS_CHAMPS_LETTRE.'="'.$valeur['lettre'].'" ';
inscription_lettre('inscrire');
}
else {
$req .= ', '.INS_CHAMPS_LETTRE.'=0 ';
inscription_lettre('desinscrire');
}
}
if (isset($_FILES['image']['name']) && $_FILES['image']['name']!='') {
$chemin_destination=INS_CHEMIN_APPLI.'presentations/logos/'.$_FILES['image']['name'];
move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
$req .= ', '.INS_CHAMPS_LOGO.'="'.$_FILES['image']['name'].'"' ;
}
if (isset($valeur['sigle_structure'])) {
$req .= ', '.INS_CHAMPS_SIGLE_STRUCTURE.'="'.addslashes($valeur['sigle_structure']).'"' ;
}
if (isset($valeur['num_agrement'])) {
$req .= ', '.INS_CHAMPS_NUM_AGREMENT.'="'.addslashes($valeur['num_agrement']).'"' ;
}
// traitement du numéro de département pour la france
if ($valeur['pays'] == 'FR') {
if (preg_match("/^97|98[0-9]*/", $valeur['cp'])) {
$n_dpt = substr($valeur['cp'], 0, 3) ;
} else {
$n_dpt = substr($valeur['cp'], 0, 2) ;
}
$req .= ",".INS_CHAMPS_DEPARTEMENT."='$n_dpt'";
}
if (INS_UTILISE_WIKINI && isset ($valeur['nom_wiki'])) $req .= ','.INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nom_wiki'].'"';
return $req ;
}
 
 
 
/** 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 inscription_formulaire_defaults($id = '') {
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
}
$requete = 'select '.INS_ANNUAIRE.'.* '.
'from '.INS_ANNUAIRE.' '.
'where '.INS_ANNUAIRE.'.'.INS_CHAMPS_ID.'= "'.$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] ;
if (INS_UTILISE_WIKINI) {$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_NOM_WIKINI] ;}
$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['telephone'] = $ligne[INS_CHAMPS_TELEPHONE] ;
$valeurs_par_defaut['fax'] = $ligne[INS_CHAMPS_FAX] ;
if (INS_CHAMPS_STRUCTURE != '' && isset($ligne[INS_CHAMPS_STRUCTURE])) {
$valeurs_par_defaut['structure'] = $ligne[INS_CHAMPS_STRUCTURE] ;
//$valeurs_par_defaut['type_structure'] = $ligne['a_type_structure'];
}
$valeurs_par_defaut['site'] = $ligne[INS_CHAMPS_SITE_INTERNET] ;
$valeurs_par_defaut['lettre'] = $ligne[INS_CHAMPS_LETTRE] ;
$valeurs_par_defaut['visible'] = $ligne[INS_CHAMPS_VISIBLE] ;
$valeurs_par_defaut['sigle_structure'] = $ligne[INS_CHAMPS_SIGLE_STRUCTURE] ;
if (INS_CHAMPS_NUM_AGREMENT != '') $valeurs_par_defaut['num_agrement'] = $ligne[INS_CHAMPS_NUM_AGREMENT] ;
return $valeurs_par_defaut ;
}
 
 
/** info() - Renvoie une fiche d'information sur la personne ou la structure
*
* @param integer identifiant de la fiche a afficher, mettre -1 pour voir sa propre fiche
* @param text nom de l'onglet de la fiche
*
* @return text Code HTML de la fiche
*/
function info($id=-1, $type_info='fiche') {
if ($id==-1) $id=$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
$requete = 'SELECT * FROM '.INS_ANNUAIRE.' WHERE '.INS_ANNUAIRE.'.'
.INS_CHAMPS_ID.'="'.$id.'"' ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
//voir la présentation de la fiche
if ($type_info=='fiche') {
$res = '';
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
$res .= '<h2>'.INS_FICHE_STRUCTURE.'</h2>'."\n" ;
} else {
$res .= '<h2>'.INS_FICHE_PERSONNELLE.'</h2>'."\n" ;
}
$res .= '<div class="fiche">'."\n" ;
if ($ligne[INS_CHAMPS_LOGO] != NULL) {
$res .= '<img style="float:right;width:120px;height:120px;margin:0 0 10px 10px;" src="'.INS_CHEMIN_APPLI.'presentations/logos/'.$ligne[INS_CHAMPS_LOGO].'" alt="logo" />'."\n";
}
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
$res .= '<h3>'.$ligne[INS_CHAMPS_NOM].'</h3>'."\n";
$res .= inscription_ligne(INS_SIGLE_DE_LA_STRUCTURE, $ligne[INS_CHAMPS_SIGLE_STRUCTURE]) ;
if (INS_CHAMPS_NUM_AGREMENT != '') $res .= inscription_ligne(INS_NUM_AGREMENT, $ligne[INS_CHAMPS_NUM_AGREMENT]) ;
} else {
$res .= '<h3>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h3>'."\n";
}
$res .= inscription_ligne(INS_ADRESSE_1, $ligne[INS_CHAMPS_ADRESSE_1]) ;
$res .= inscription_ligne(INS_ADRESSE_2, $ligne[INS_CHAMPS_ADRESSE_2]) ;
$res .= inscription_ligne(INS_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
$res .= inscription_ligne(INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
$pays = new ListeDePays($GLOBALS['ins_db']) ;
$res .= inscription_ligne(INS_PAYS, $pays->getNomPays($ligne[INS_CHAMPS_PAYS], INS_LANGUE_DEFAUT)) ;
$res .= inscription_ligne(INS_TELEPHONE, $ligne[INS_CHAMPS_TELEPHONE]) ;
$res .= inscription_ligne(INS_FAX, $ligne[INS_CHAMPS_FAX]) ;
if ($ligne[INS_CHAMPS_SITE_INTERNET]!='') {
$res .= inscription_ligne(INS_SITE_INTERNET, '<a href="'.$ligne[INS_CHAMPS_SITE_INTERNET].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[INS_CHAMPS_SITE_INTERNET].'</a>');
}
if ($GLOBALS['AUTH']->getAuth()) $res .= inscription_ligne(INS_EMAIL, '<a href="mailto:'.$ligne[INS_CHAMPS_MAIL].'">'.$ligne[INS_CHAMPS_MAIL].'</a>');
else $res .= '<br /><p class="zone_info">'.INS_PAS_IDENTIFIE.'</p>'."\n";
if (INS_UTILISE_WIKINI) {
$res .= inscription_ligne (INS_NOM_WIKI, $ligne[INS_CHAMPS_NOM_WIKINI])."\n" ;
}
$res .= '</ul>'."\n";
if ($id==$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) {
$res .= '<ul style="margin-top:10px; clear:both;">'."\n";
if ($ligne[INS_CHAMPS_VISIBLE] == 1) {
$res .= '<li>'.INS_VOUS_APPARAISSEZ.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_APPARAISSEZ_PAS.'</li>'."\n";
if (INS_CHAMPS_LETTRE != '') {
if ($ligne[INS_CHAMPS_LETTRE] == 1) {
$res .= '<li>'.INS_VOUS_RECEVEZ_LETTRE.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_RECEVEZ_PAS_LETTRE.'</li>'."\n";
}
$res .= '</ul>'."\n";
$res .= '<ul style="margin:15px;">'."\n";;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=modifier&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'">'.INS_MODIFIER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=supprimer&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'" onclick="javascript:return confirm(\''.INS_SUPPRIMER_INSCRIPTION.'?\');">'.INS_SUPPRIMER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=deconnexion">'.INS_DECONNEXION.'</a></li>'."\n" ;
$res .= '</ul>'."\n";
$res .= '</div>'."\n"; //div fiche
}
//voir les abonnements presents dans les applis clientes
} elseif ($type_info=='abonnement') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_GESTION_DES_ABONNEMENTS.'</h2>'."\n" ;
// Appel des actions d'abonnement des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
$abonnement='';
$abonnements='';
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php')) {
require_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php' ;
$abonnements .= $abonnement;
}
}
$d->close();
$res .= $abonnements;
//voir les actus
} elseif ($type_info=='actus') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_ACTUALITES_DEPOSEES.'</h2>'."\n" ;
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'configuration'.GEN_SEP.'baz_config.inc.php';
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'bibliotheque'.GEN_SEP.'bazar.fonct.rss.php';
$_GET['action']=1;
$res .= RSSversHTML(gen_RSS('', '', $id, 1, ''), 0, 'jma', 0);
//voir les ressources
} elseif ($type_info=='ressources') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_RESSOURCES_ASSOCIEES.'</h2>'."\n" ;
$requete = 'SELECT bf_id_fiche, bf_titre FROM bazar_fiche, bazar_appropriation WHERE ba_ce_id_fiche=bf_id_fiche AND ba_ce_id_structure='.$id ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.INS_URL_BAZAR.'&amp;action=8&amp;id_fiche='.$ligne['bf_id_fiche'].'" onclick="window.open(this.href,\'_blank\');return false;">'.$ligne['bf_titre'].'</a></li>'."\n";
}
$res .= '</ul><br />'."\n";
//voir les competences
} elseif ($type_info=='competences') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_COMPETENCES_ASSOCIEES.'</h2>'."\n" ;
}
return $res ;
}
 
 
/** inscription_ligne() - Renvoie une ligne avec label et valeur
*
* @param string label Le label
* @param string valeur
* @return string HTML
*/
function inscription_ligne($label, $valeur) {
if ($valeur == '') {
return;
}
if (($label == '')or($label == '&nbsp;')) {
return '<div class="inscription_infos">'.$valeur.'</div>'."\n";
} else {
return '<div class="inscription_infos"><strong class="inscription_label">'."\n".$label.' : </strong>'.$valeur.'</div>'."\n";
}
}
 
 
/** Renvoie vrai si l'email passé en paramètre n'est pas déjà dans l'annuaire
* ou si, en cas de modification d'inscription, l'inscrit ne modifie pas son email
*
* @return boolean
*/
function inscription_verif_doublonMail($mail, $id = '') {
if ($id == '') {
if (isset ($GLOBALS['AUTH'])) {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
}
}
if (isset ($id) && $id != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".
INS_CHAMPS_ID."=".$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 inscription_envoie_passe() {
$res='';
$requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) {
$res .= '<p class="erreur">'.INS_MAIL_INCONNU_DANS_ANNUAIRE.'</p>'."\n" ;
} else {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$mail = & Mail::factory('smtp') ;
$headers ['Return-Path'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['From'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['Subject'] = INS_MOT_DE_PASSE_CHANGE ;
$headers ['Reply-To'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['To'] = "<".$_POST['mail'].">" ;
$nouveau_passe = create_new_random(6) ;
// modification du mot de passe dans la base
$requete = 'UPDATE '.INS_ANNUAIRE.' SET '.INS_CHAMPS_PASSE.'=MD5("'.$nouveau_passe.'") WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
$mail->send($_POST['mail'], $headers, $body) ;
if (PEAR::isError($mail)) {
$res .= '<p class="erreur">'.INS_PROBLEME_ENVOI_MAIL.'</p>'."\n" ;
return $res ;
}
$res .= '<p class="info">'.INS_NOUVEAU_MOT_DE_PASSE_ENVOYE.'</p>'."\n" ;
}
return $res ;
}
 
/**
* 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) {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$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 parti...</p>' ;
return false ;
}
return true ;
}
 
/**
*
* @global ins_db Un pointeur vers un objet PEAR::DB connecté
* @return
*/
 
function inscription_envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
include_once PAP_CHEMIN_RACINE.'api/pear/Mail/mime.php' ;
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.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_entete = INS_MAIL_COORD_CORPS."\n" ;
$body = "mail : ".$ligne[INS_CHAMPS_MAIL]."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_NOM.": ".unhtmlentities($ligne[INS_CHAMPS_NOM])." \n" ;
$body .= INS_PRENOM.' : '.unhtmlentities($ligne[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($ligne[INS_CHAMPS_LABEL_PAYS])." \n" ;
$body .= "-------------------------------------------\n" ;
$mime->setTXTBody($body);
$mime->setHTMLBody(info()) ;
$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
foreach ($GLOBALS['mail_admin'] as $administrateur) {
$mail -> send ($administrateur, $headers, $body) ;
}
if (PEAR::isError($mail)) {
echo 'erreur d\'envoi' ;
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 inscription_genere_nom_wiki($prenom, $nom) {
// 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 = inscription_trim_non_ascii ($nom) ;
$prenom = inscription_trim_non_ascii ($prenom) ;
// Vérification
$nom_wiki = $prenom.$nom ;
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 ;
}
 
/**
* Cette fonction supprime les caractères autres que asccii et les chiffres
*
* @return string la chaine épurée
*/
 
function inscription_trim_non_ascii ($nom) {
$premiere_lettre = true ;
for ($i = 0; $i < strlen ($nom); $i++) {
if (!preg_match ('/[a-zA-Z0-9]/', $nom[$i])) {
$nom[$i] = '_' ;
}
// 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 = preg_replace ('/_/', '', $nom) ;
return $nom ;
}
 
// For users prior to PHP 4.3.0 you may do this:
//function unhtmlentities($string)
//{
// $trans_tbl = array_flip ($trans_tbl);
// return strtr ($string, $trans_tbl);
//}
 
//==============================================================================
/** function 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){
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 inscription_nextId($table, $colonne_identifiant)
{
$requete = 'select MAX('.$colonne_identifiant.') as maxi from '.$table ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $GLOBALS['ins_db']->raiseError($resultat) ;
}
if ($resultat->numRows() > 1) {
return $GLOBALS['ins_db']->raiseError("<br />La table $table a un identifiant non unique<br/>") ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
return $ligne->maxi + 1 ;
}
 
 
//-- Fin du code source ------------------------------------------------------------
/*
* $Log$
* Revision 1.8.2.1 2007/01/26 10:28:43 alexandre_tb
* correction d un notice
*
* Revision 1.8 2006/12/01 13:23:15 florian
* integration annuaire backoffice
*
* Revision 1.7 2006/10/05 13:53:54 florian
* amélioration des fichiers sql
*
* Revision 1.6 2006/09/13 12:31:18 florian
* ménage: fichier de config Papyrus, fichiers temporaires
*
/trunk/client/bottin/bibliotheque/inscription.fonct.php
8,7 → 8,7
// | 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 veRrsion. |
// | 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 |
19,8 → 19,8
// | 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: inscription.fonct.php,v 1.26 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.fonct.php,v 1.26 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.fonct.php,v 1.27 2007-04-11 08:30:12 neiluj Exp $
// CVS : $Id: inscription.fonct.php,v 1.27 2007-04-11 08:30:12 neiluj Exp $
/**
* Fonctions du module inscription
*
30,10 → 30,10
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@author Florian Schmitt <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.26 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.26 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.27 $ $Date: 2007-04-11 08:30:12 $
*@version $Revision: 1.27 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
42,10 → 42,8
// +------------------------------------------------------------------------------------------------------+
 
include_once 'inscription.fonct.wiki.php' ;
include_once 'inscription.class.php' ;
if (INS_UTILISE_SPIP) include_once 'inscription.fonct.spip.php' ;
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm.php' ;
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/checkbox.php' ;
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/password.php' ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
54,212 → 52,190
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function demande_inscription($valeurs) {
// On stocke les informations dans un variable de session
// On coupe l'identifiant de session pour ne prendre que les 8 premiers caractères
// afin d'éviter d'obtenir une url trop longue
$chaine = substr (session_id(), 0, 8) ;
$requete_verif = 'select * from inscription_demande where id_identifiant_session="'.$chaine.'"' ;
$resultat_verif = $GLOBALS['ins_db']->query ($requete_verif) ;
if ($resultat_verif->numRows() != 0) {
$requete_suppression = 'delete from inscription_demande where id_identifiant_session="'.$chaine.'"' ;
$GLOBALS['ins_db']->query ($requete_suppression) ;
}
$requete = 'insert into inscription_demande set id_identifiant_session="'.$chaine.'", id_donnees="'.
addslashes(serialize($valeurs)).'", id_date=NOW()' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError ($resultat)) {
echo ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
// On envoie un email de confirmation pour l'utilisateur
$GLOBALS['ins_url']->addQueryString ('id', $chaine) ;
$corps = INS_MESSAGE_DEBUT_MAIL_INSCRIPTION ;
if (INS_UTILISE_REECRITURE_URL) {
$corps .= 'http://'.$GLOBALS['ins_url']->host.'/'.INS_URL_PREFIXE.$chaine ;
} else {
$corps .= str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()) ;
}
$corps .= INS_MESSAGE_FIN_MAIL_INSCRIPTION ;
mail ($GLOBALS['email'], 'Inscription', $corps, 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
}
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function inscription_validee($valeurs) {
insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
 
/**
* Réalise l'insertion dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function AUTH_formulaire_login($msg = '') {
//--------------------------------------------------------------------------
// Le formulaire
//--------------------------------------------------------------------------
$res = '';
if ($msg!='') {$res .= $msg.'<br /><br />';}
$res .= "\n".'<div>'.INS_LAIUS_INSCRIPTION_2.'</div><br />'."\n" ;
$res .= '<a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=inscription&amp;form_structure=0" style="font-size:16px;font-weight:bold;color:#EABE07;">'.'accède au formulaire d\'inscription'.'</a>'."\n" ;
 
return $res;
}
 
 
/** formulaire_envoi_passe() - Renvoie le code HTML d'un formulaire d'envoi de mot de passe par mail
*
* @return string HTML
*/
function formulaire_envoi_passe() {
$res = '<h2>'.INS_SI_PASSE_PERDU.'</h2>'."\n" ;
$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'&amp;action=sendpasswd" method="post">'."\n" ;
$res .= '<p class="label100">'.INS_EMAIL.' : </p>'."\n" ;
$res .= '<input type="text" value="';
if (isset($_POST['username'])) $res .= $_POST['username'];
$res .= '" name="mail" size="32" />'."\n" ;
$res .= '<input type="submit" value="'.INS_ENVOIE_PASSE.'" />' ;
$res .= '</form><br />'."\n" ;
$res .= AUTH_formulaire_login() ;
return $res;
}
 
 
function insertion($valeur) {
// =========== Insertion dans l'annuaire gen_annuaire ===================
// Génération du nom wikini à partir du nom et du prénom
if (INS_UTILISE_WIKINI) {
$valeur['nom_wiki'] = genere_nom_wiki ($valeur['nom']) ;
}
$id_utilisateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$requete = 'insert into '.INS_ANNUAIRE.' set '.
INS_CHAMPS_ID.'="'.$id_utilisateur.'",'.
requete_annuaire($valeur) ;
 
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// ================ Insertion dans SPIP =========================================
if (INS_UTILISE_SPIP) {
inscription_spip($id_utilisateur, $valeur) ;
}
if (INS_UTILISE_WIKINI) inscription_interwikini_users('', $valeur) ;
// TODO Créer un fichier bazar/bazar.inscription.inc.php et y mettre le code qui suit
// Vérifier tous les noms des répertoires du répertoire client et s'il existe
// un fichier nom/nom/inscription.inc.php l'inclure
//inscription dans Bazar
$requete = 'INSERT INTO bazar_droits VALUES ('.$id_utilisateur.',1,1),('.$id_utilisateur.',2,1),('.$id_utilisateur.',3,1),('.$id_utilisateur.',4,1),('.$id_utilisateur.',5,1),('.$id_utilisateur.',6,1),('.$id_utilisateur.',7,1),('.$id_utilisateur.',8,1)';
$resultat = $GLOBALS['ins_db']->query($requete);
if (DB::isError($resultat)) {
die($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset($resultat) ;
}
 
 
/**
* Réalise une mise à jour dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function mise_a_jour($valeur, $id = '') {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
}
$requete = 'update '.INS_ANNUAIRE.' set '.
requete_annuaire ($valeur, $maj = TRUE).
' where '.INS_CHAMPS_ID.'="'.$id.'"';
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
 
// ========================= Mise à jour dans SPIP ================================
if (INS_UTILISE_SPIP) {
mod_inscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID), $valeur) ;
}
}
 
* @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) ;
if (INS_UTILISE_REECRITURE_URL) {
$url = 'http://'.$GLOBALS['ins_url']->host.'/'.INS_URL_PREFIXE.$chaine ;
} else {
$url = str_replace ('&amp;', '&', $GLOBALS['ins_url']->getURL()) ;
}
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le gabarit du mail est dans un template
// template 2
$requete = 'select it_template from inscription_template where it_id_template=2'.
' and it_i18n like "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $url) ;
 
mail ($GLOBALS['email'], 'Inscription', $tpl->get(), 'From: '.INS_MAIL_ADMIN_APRES_INSCRIPTION) ;
}
 
/**
*
* @param array les valeurs renvoyés par le formulaire
* @return
*/
 
function inscription_validee($valeurs) {
insertion($valeurs) ;
$GLOBALS['AUTH']->username = $valeurs['email'] ;
$GLOBALS['AUTH']->password = $valeurs['mot_de_passe'] ;
// On loggue l'utilisateur
$GLOBALS['AUTH']->login() ;
// inscription à la lettre d'information
if (INS_CHAMPS_LETTRE != '' && isset ($valeurs['lettre'])) {
inscription_lettre(INS_MAIL_INSCRIPTION_LISTE) ;
}
}
 
/**
* Renvoie l'accueil de l'inscription
*
* @return string HTML
*/
function AUTH_formulaire_login() {
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php';
$tpl = new HTML_Template_IT() ;
// Le formulaire pour se logguer est dans un template
// template 1
$requete = 'SELECT it_template FROM inscription_template WHERE it_id_template=1'.
' AND it_i18n LIKE "%'.INS_LANGUE_DEFAUT.'"' ;
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) {
echo 'erreur' ;
}
$tpl->setVariable('URL_INSCRIPTION', $GLOBALS['ins_url']->getURL());
return $tpl->get() ;
}
 
 
/** formulaire_envoi_passe() - Renvoie le code HTML d'un formulaire d'envoi de mot de passe par mail
*
* @return string HTML
*/
function formulaire_envoi_passe() {
$res = '<h2>'.INS_SI_PASSE_PERDU.'</h2>'."\n" ;
$res .= '<form action="'.$GLOBALS['ins_url']->getURL().'&amp;action=sendpasswd" method="post">'."\n" ;
$res .= '<p class="label100">'.INS_EMAIL.' : </p>'."\n" ;
$res .= '<input type="text" value="';
if (isset($_POST['username'])) $res .= $_POST['username'];
$res .= '" name="mail" size="32" />'."\n" ;
$res .= '<input type="submit" value="'.INS_ENVOIE_PASSE.'" />' ;
$res .= '</form><br />'."\n" ;
$res .= AUTH_formulaire_login() ;
return $res;
}
 
 
function insertion($valeur) {
// =========== Insertion dans l'annuaire ===================
// Génération du nom wikini à partir du nom et du prénom
if (INS_UTILISE_WIKINI && INS_NOM_WIKINI_GENERE) {
$valeur['nom_wiki'] = genere_nom_wiki ($valeur['nom'], isset ($valeur['prenom']) ? $valeur['prenom'] : '') ;
} else {
if (!INS_NOM_WIKINI_GENERE) {
$valeur['nom_wiki'] = $valeur['nomwiki'];
}
}
$id_utilisateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$requete = 'INSERT INTO '.INS_ANNUAIRE.' SET '.
INS_CHAMPS_ID.'="'.$id_utilisateur.'",'.
requete_annuaire($valeur) ;
 
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// ================ Insertion dans SPIP =========================================
if (INS_UTILISE_SPIP) {
inscription_spip($id_utilisateur, $valeur) ;
}
if (INS_UTILISE_WIKINI) inscription_interwikini_users('', $valeur) ;
return $id_utilisateur ;
}
 
 
/**
* Réalise une mise à jour dans la base de donnée
*
* @param array un tableau de valeur avec en clé les noms des champs du formulaire
* @return void
*/
function mise_a_jour($valeur, $id = '') {
// ====================Mise à jour dans l'annuaire gen_annuaire ====================
if ($id == '') {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
}
$requete = 'update '.INS_ANNUAIRE.' set '.
requete_annuaire ($valeur).
'where '.INS_CHAMPS_ID.'="'.$id.'"';
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
unset ($resultat) ;
 
// ========================= Mise à jour dans SPIP ================================
if (INS_UTILISE_SPIP) {
mod_inscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID), $valeur) ;
}
}
 
/** 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, $maj = FALSE) {
function requete_annuaire($valeur) {
$req = INS_CHAMPS_NOM.'="'.addslashes($valeur['nom']).'", ';
if (INS_UTILISE_WIKINI) {
$req .= INS_CHAMPS_NOM_WIKINI.'="'.genere_nom_wiki($valeur['nom']).'", ' ;
if (isset($valeur['est_structure']) && $valeur['est_structure'] == 0)
$req .= INS_CHAMPS_PRENOM.'="'.addslashes($valeur['prenom']).'", ';
// Initialisation de variable pour éviter des notices
foreach (array ('adresse_1', 'adresse_2', 'ville', 'telephone', 'fax', 'site') as $val) {
if (!isset ($valeur[$val])) $valeur[$val] = '' ;
}
if($maj)
{
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
if(!$id) die("erreur"); // ne devrai jamais arriver --julien
$requete = 'SELECT * FROM '.INS_ANNUAIRE.' WHERE '.INS_ANNUAIRE.'.'
.INS_CHAMPS_ID.'="'.$id.'"' ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
} else
$id_utilisateur = nextId(INS_ANNUAIRE, INS_CHAMPS_ID, $GLOBALS['ins_db']) ;
$req .= INS_CHAMPS_MAIL.'="'.addslashes($valeur['email']).'", ' ;
if(is_file($_FILES['image']['tmp_name']))
{
if($maj && is_file($ligne[INS_CHAMPS_AVATAR]))
@unlink($ligne[INS_CHAMPS_AVATAR]);
$chemin_destination=INS_CHEMIN_APPLI.'images/'. ($maj ? $id : $id_utilisateur) .'_'.md5($_FILES['image']['name']).'.jpg';
move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination);
} elseif(is_file($ligne[INS_CHAMPS_AVATAR]))
$chemin_destination=$ligne[INS_CHAMPS_AVATAR];
 
$req .= INS_CHAMPS_PASSE.'="'.md5($valeur['mot_de_passe']).'", '.
'a_description="'.addslashes($valeur['description']).'", '.
'a_logo="'.$chemin_destination.'", '.
INS_CHAMPS_PAYS.'="'.addslashes($valeur['pays']).'", '.
'niveauscolaire="'.addslashes($valeur['nom_ref']).'", '.
INS_CHAMPS_ADRESSE_1.'="'.addslashes($valeur['adresse_1']).'", '.
INS_CHAMPS_ADRESSE_2.'="'.addslashes($valeur['adresse_2']).'", '.
INS_CHAMPS_DATE_INSCRIPTION.'="'.
($maj ? $ligne[INS_CHAMPS_DATE_INSCRIPTION] : 'NOW()'). '", '.
INS_CHAMPS_DATE_INSCRIPTION.'=NOW(), '.
INS_CHAMPS_CODE_POSTAL.'="'.addslashes($valeur['cp']).'", '.
INS_CHAMPS_VILLE.'="'.addslashes($valeur['ville']).'", '.
INS_CHAMPS_EST_STRUCTURE.'="'.addslashes($valeur['est_structure']).'" ';
// INS_CHAMPS_TELEPHONE.'="'.addslashes($valeur['telephone']).'", '.
//TODO:mettre un wiki
INS_CHAMPS_EST_STRUCTURE.'="'.addslashes($valeur['est_structure']).'", '.
INS_CHAMPS_TELEPHONE.'="'.addslashes($valeur['telephone']).'", '.
INS_CHAMPS_FAX.'="'.addslashes($valeur['fax']).'", '.
INS_CHAMPS_SITE_INTERNET.'="'.addslashes($valeur['site']).'" ';
if (isset($valeur['visible'])) $req .= ', '.INS_CHAMPS_VISIBLE.'="'.$valeur['visible'].'"';
291,6 → 267,7
}
$req .= ",".INS_CHAMPS_DEPARTEMENT."='$n_dpt'";
}
if (INS_UTILISE_WIKINI && isset ($valeur['nom_wiki'])) $req .= ','.INS_CHAMPS_NOM_WIKINI.'="'.$valeur['nom_wiki'].'"';
return $req ;
}
 
314,296 → 291,336
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$valeurs_par_defaut = array() ;
$valeurs_par_defaut['email'] = $ligne[INS_CHAMPS_MAIL];
$valeurs_par_defaut['description'] = $ligne['a_description'];
$valeurs_par_defaut['image'] = $ligne['a_logo'];
$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['niveauscolaire'] = $ligne['niveauscolaire'];
if (INS_UTILISE_WIKINI) {$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_NOM_WIKINI] ;}
$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['telephone'] = $ligne[INS_CHAMPS_TELEPHONE] ;
$valeurs_par_defaut['site'] = $ligne[INS_CHAMPS_SITE_INTERNET] ;
$valeurs_par_defaut['lettre'] = $ligne[INS_CHAMPS_LETTRE] ;
$valeurs_par_defaut['visible'] = $ligne[INS_CHAMPS_VISIBLE] ;
$valeurs_par_defaut['sigle_structure'] = $ligne[INS_CHAMPS_SIGLE_STRUCTURE] ;
return $valeurs_par_defaut ;
}
 
 
/** info() - Renvoie une fiche d'information sur la personne ou la structure
*
* @return text Code HTML de la fiche
*/
function info($id=-1) {
if ($id==-1) $id=$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
$requete = 'SELECT * FROM '.INS_ANNUAIRE.' WHERE '.INS_ANNUAIRE.'.'
.INS_CHAMPS_ID.'="'.$id.'"' ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
$res = '<h1>'.INS_FICHE_STRUCTURE.'</h1>'."\n" ;
$res .= '<h2>'.$ligne[INS_CHAMPS_NOM].'</h2>'."\n";
$res .= '<dl class="affiche_infos">'."\n";
$res .= ligne_inscription(INS_SIGLE_DE_LA_STRUCTURE, $ligne[INS_CHAMPS_SIGLE_STRUCTURE]) ;
$res .= ligne_inscription(INS_NUM_AGREMENT, $ligne[INS_CHAMPS_NUM_AGREMENT]) ;
} else {
$res = '<h1>'.INS_FICHE_PERSONNELLE.'</h1>'."\n" ;
if(!empty($ligne[INS_CHAMPS_AVATAR]) && is_file($ligne[INS_CHAMPS_AVATAR]))
$res = '<img src="'. INS_URL_IMAGES . $ligne[INS_CHAMPS_AVATAR] .'" style="float:right;" alt="avatar de '.$ligne[INS_CHAMPS_NOM_WIKINI].'" />'."\n" ;
if (INS_UTILISE_WIKINI) {$valeurs_par_defaut['nomwiki'] = $ligne[INS_CHAMPS_NOM_WIKINI] ;}
$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['telephone'] = $ligne[INS_CHAMPS_TELEPHONE] ;
$valeurs_par_defaut['fax'] = $ligne[INS_CHAMPS_FAX] ;
if (INS_CHAMPS_STRUCTURE != '' && isset($ligne[INS_CHAMPS_STRUCTURE])) {
$valeurs_par_defaut['structure'] = $ligne[INS_CHAMPS_STRUCTURE] ;
//$valeurs_par_defaut['type_structure'] = $ligne['a_type_structure'];
}
$valeurs_par_defaut['site'] = $ligne[INS_CHAMPS_SITE_INTERNET] ;
$valeurs_par_defaut['lettre'] = $ligne[INS_CHAMPS_LETTRE] ;
$valeurs_par_defaut['visible'] = $ligne[INS_CHAMPS_VISIBLE] ;
$valeurs_par_defaut['sigle_structure'] = $ligne[INS_CHAMPS_SIGLE_STRUCTURE] ;
if (INS_CHAMPS_NUM_AGREMENT != '') $valeurs_par_defaut['num_agrement'] = $ligne[INS_CHAMPS_NUM_AGREMENT] ;
return $valeurs_par_defaut ;
}
 
 
/** info() - Renvoie une fiche d'information sur la personne ou la structure
*
* @param integer identifiant de la fiche a afficher, mettre -1 pour voir sa propre fiche
* @param text nom de l'onglet de la fiche
*
* @return text Code HTML de la fiche
*/
function info($id=-1, $type_info='fiche') {
if ($id==-1) $id=$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID);
$requete = 'SELECT * FROM '.INS_ANNUAIRE.' WHERE '.INS_ANNUAIRE.'.'
.INS_CHAMPS_ID.'="'.$id.'"' ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
//voir la présentation de la fiche
if ($type_info=='fiche') {
if ($ligne[INS_CHAMPS_EST_STRUCTURE] == 1) {
$res = '<h1>'.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_FICHE_STRUCTURE.'</h2>'."\n" ;
$res .= '<ul class="affiche_infos">'."\n";
$res .= ligne_inscription(INS_SIGLE_DE_LA_STRUCTURE, $ligne[INS_CHAMPS_SIGLE_STRUCTURE]) ;
if (INS_CHAMPS_NUM_AGREMENT != '') $res .= ligne_inscription(INS_NUM_AGREMENT, $ligne[INS_CHAMPS_NUM_AGREMENT]) ;
} else {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_FICHE_PERSONNELLE.'</h2>'."\n" ;
$res .= '<ul class="affiche_infos">'."\n";
}
$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_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
$res .= ligne_inscription(INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
$pays = new ListeDePays($GLOBALS['ins_db']) ;
$res .= ligne_inscription(INS_PAYS, $pays->getNomPays($ligne[INS_CHAMPS_PAYS], INS_LANGUE_DEFAUT)) ;
$res .= ligne_inscription(INS_TELEPHONE, $ligne[INS_CHAMPS_TELEPHONE]) ;
$res .= ligne_inscription(INS_FAX, $ligne[INS_CHAMPS_FAX]) ;
if (INS_UTILISE_WIKINI) {
$res .= ligne_inscription (INS_NOM_WIKI, $ligne[INS_CHAMPS_NOM_WIKINI]) ;
}
if ($ligne[INS_CHAMPS_SITE_INTERNET]!='') {
$res .= ligne_inscription(INS_SITE_INTERNET, '<a href="'.$ligne[INS_CHAMPS_SITE_INTERNET].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[INS_CHAMPS_SITE_INTERNET].'</a>');
}
if ($GLOBALS['AUTH']->getAuth()) $res .= ligne_inscription(INS_EMAIL, '<a href="mailto:'.$ligne[INS_CHAMPS_MAIL].'">'.$ligne[INS_CHAMPS_MAIL].'</a>');
else $res .= '<br /><p class="zone_info">'.INS_PAS_IDENTIFIE.'</p>'."\n";
$res .= '</ul>'."\n";
if ($id==$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) {
$res .= '<br />'."\n";
$res .= '<ul>'."\n";
if ($ligne[INS_CHAMPS_VISIBLE] == 1) {
$res .= '<li>'.INS_VOUS_APPARAISSEZ.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_APPARAISSEZ_PAS.'</li>'."\n";
if (INS_CHAMPS_LETTRE != '') {
if ($ligne[INS_CHAMPS_LETTRE] == 1) {
$res .= '<li>'.INS_VOUS_RECEVEZ_LETTRE.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_RECEVEZ_PAS_LETTRE.'</li>'."\n";
}
$res .= '</ul>'."\n";
$res .= '<br />'."\n";
$res .= '<ul>'."\n";;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=modifier&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'">'.INS_MODIFIER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=supprimer&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'" onclick="javascript:return confirm(\''.INS_SUPPRIMER_INSCRIPTION.'?\');">'.INS_SUPPRIMER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=deconnexion">'.INS_DECONNEXION.'</a></li>'."\n" ;
$res .= '</ul>'."\n";
}
//voir les abonnements presents dans les applis clientes
} elseif ($type_info=='abonnement') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_GESTION_DES_ABONNEMENTS.'</h2>'."\n" ;
$res .= '<h2>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h2>'."\n";
$res .= '<dl class="affiche_infos">'."\n";
}
$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_CODE_POSTAL, $ligne[INS_CHAMPS_CODE_POSTAL]) ;
$res .= ligne_inscription(INS_VILLE, $ligne[INS_CHAMPS_VILLE]) ;
$pays = new ListeDePays($GLOBALS['ins_db']) ;
$res .= ligne_inscription(INS_PAYS, $pays->getNomPays($ligne[INS_CHAMPS_PAYS], INS_LANGUE_DEFAUT)) ;
$res .= ligne_inscription(INS_TELEPHONE, $ligne[INS_CHAMPS_TELEPHONE]) ;
$res .= ligne_inscription(INS_FAX, $ligne[INS_CHAMPS_FAX]) ;
$res .= ligne_inscription('&nbsp;', '&nbsp;') ;
if (INS_UTILISE_WIKINI) {
$res .= ligne_inscription (INS_NOM_WIKI, $ligne[INS_CHAMPS_NOM_WIKINI]) ;
}
$res .= ligne_inscription(INS_EMAIL, $ligne[INS_CHAMPS_MAIL]);
if ($ligne[INS_CHAMPS_SITE_INTERNET]!='') {
$res .= ligne_inscription(INS_SITE_INTERNET, '<a href="'.$ligne[INS_CHAMPS_SITE_INTERNET].'" onclick="javascript:window.open(this.href);return false;">'.$ligne[INS_CHAMPS_SITE_INTERNET].'</a>');
}
$res .= '</dl>'."\n";
$res .= '<br />'."\n";
if ($id==$GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) {
$res .= '<br />'."\n";
$res .= '<ul>'."\n";
if ($ligne[INS_CHAMPS_VISIBLE] == 1) {
$res .= '<li>'.INS_VOUS_APPARAISSEZ.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_APPARAISSEZ_PAS.'</li>'."\n";
if ($ligne[INS_CHAMPS_LETTRE] == 1) {
$res .= '<li>'.INS_VOUS_RECEVEZ_LETTRE.'</li>'."\n";
} else $res .= '<li>'.INS_VOUS_RECEVEZ_PAS_LETTRE.'</li>'."\n";
$res .= '</ul>'."\n";
$res .= '<br />'."\n";
$res .= '<ul>'."\n";;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=modifier&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'">'.INS_MODIFIER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=supprimer&amp;form_structure='.$ligne[INS_CHAMPS_EST_STRUCTURE].'" onclick="javascript:return confirm(\''.INS_SUPPRIMER_INSCRIPTION.'?\');">'.INS_SUPPRIMER_INSCRIPTION.'</a></li>'."\n" ;
$res .= '<li><a href="'.$GLOBALS['ins_url']->getURL().'&amp;action=deconnexion">'.INS_DECONNEXION.'</a></li>'."\n" ;
$res .= '</ul>'."\n";
// Appel des actions d'abonnement des applications clientes
$d = dir(GEN_CHEMIN_CLIENT);
$abonnement='';
$abonnements='';
while (false !== ($repertoire = $d->read())) {
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php')) {
require_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'bibliotheque'.GEN_SEP.$repertoire.'.abonnement.inc.php' ;
$abonnements .= $abonnement;
}
}
$d->close();
$res .= $abonnements;
//voir les actus
} elseif ($type_info=='actus') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_ACTUALITES_DEPOSEES.'</h2>'."\n" ;
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'configuration'.GEN_SEP.'baz_config.inc.php';
require_once GEN_CHEMIN_CLIENT.'bazar'.GEN_SEP.'bibliotheque'.GEN_SEP.'bazar.fonct.rss.php';
$_GET['action']=1;
$res .= RSSversHTML(gen_RSS('', '', $id, 1, ''), 0, 'jma', 0);
//voir les ressources
} elseif ($type_info=='ressources') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_RESSOURCES_ASSOCIEES.'</h2>'."\n" ;
$requete = 'SELECT bf_id_fiche, bf_titre FROM bazar_fiche, bazar_appropriation WHERE ba_ce_id_fiche=bf_id_fiche AND ba_ce_id_structure='.$id ;
$resultat = $GLOBALS['ins_db'] -> query($requete) ;
$res .= '<ul>'."\n";
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<li><a href="'.INS_URL_BAZAR.'&amp;action=8&amp;id_fiche='.$ligne['bf_id_fiche'].'" onclick="window.open(this.href,\'_blank\');return false;">'.$ligne['bf_titre'].'</a></li>'."\n";
}
$res .= '</ul><br />'."\n";
//voir les competences
} elseif ($type_info=='competences') {
$res = '<h1>'.$ligne[INS_CHAMPS_PRENOM].' '.$ligne[INS_CHAMPS_NOM].'</h1>'."\n";
$res .= '<h2>'.INS_COMPETENCES_ASSOCIEES.'</h2>'."\n" ;
}
$res .= '{{Syndication titre="Les fiches associ&eacute;es &agrave; ce participant" url="http://ekotribu.localhost/papyrus.php?menu=48&action=18&emetteur='. $ligne[INS_CHAMPS_ID].'" nb=0 nouvellefenetre=0 formatdate="jma"}}';
return $res ;
}
 
 
/** ligne_inscription() - Renvoie une ligne avec label et valeur
*
* @param string label Le label
* @param string valeur
* @return string HTML
*/
function ligne_inscription($label, $valeur) {
if ($valeur == '') {
return;
}
if (($label == '')or($label == '&nbsp;')) {
return '<dt>&nbsp;</dt>'."\n".'<dd>'.$valeur.'</dd>'."\n" ;
} else {
return '<dt>'.$label.' : </dt>'."\n".'<dd>'.$valeur.'</dd>'."\n" ;
}
}
 
 
/** Renvoie vrai si l'email passé en paramètre n'est pas déjà dans l'annuaire
* ou si, en cas de modification d'inscription, l'inscrit ne modifie pas son email
*
* @return boolean
*/
function verif_doublonMail($mail, $id = '') {
if ($id == '') {
if (isset ($GLOBALS['AUTH'])) {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
}
return $res ;
}
 
 
/** ligne_inscription() - Renvoie une ligne avec label et valeur
*
* @param string label Le label
* @param string valeur
* @return string HTML
*/
function ligne_inscription($label, $valeur) {
if ($valeur == '') {
return;
}
if (($label == '')or($label == '&nbsp;')) {
return '<li>'."\n".$valeur."\n".'</li>'."\n" ;
} else {
return '<li>'."\n".'<strong>'.$label.' : </strong>'."\n".$valeur."\n".'</li>'."\n" ;
}
}
 
 
/** Renvoie vrai si l'email passé en paramètre n'est pas déjà dans l'annuaire
* ou si, en cas de modification d'inscription, l'inscrit ne modifie pas son email
*
* @return boolean
*/
function verif_doublonMail($mail, $id = '') {
if ($id == '') {
if (isset ($GLOBALS['AUTH'])) {
$id = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
}
}
 
if (isset ($id) && $id != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".
INS_CHAMPS_ID."=".$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() {
$res='';
$requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) {
$res .= '<p class="erreur">'.INS_MAIL_INCONNU_DANS_ANNUAIRE.'</p>'."\n" ;
} else {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$mail = & Mail::factory('smtp') ;
$headers ['Return-Path'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['From'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['Subject'] = INS_MOT_DE_PASSE_CHANGE ;
$headers ['Reply-To'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['To'] = "<".$_POST['mail'].">" ;
$nouveau_passe = create_new_random(6) ;
// modification du mot de passe dans la base
$requete = 'UPDATE '.INS_ANNUAIRE.' SET '.INS_CHAMPS_PASSE.'=MD5("'.$nouveau_passe.'") WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
$mail->send($_POST['mail'], $headers, $body) ;
if (PEAR::isError($mail)) {
$res .= '<p class="erreur">'.INS_PROBLEME_ENVOI_MAIL.'</p>'."\n" ;
return $res ;
}
$res .= '<p class="info">'.INS_NOUVEAU_MOT_DE_PASSE_ENVOYE.'</p>'."\n" ;
}
return $res ;
}
 
/**
* 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) {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$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 parti...</p>' ;
return false ;
}
return true ;
}
 
/**
*
* @global ins_db Un pointeur vers un objet PEAR::DB connecté
* @return
*/
 
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
include_once PAP_CHEMIN_RACINE.'api/pear/Mail/mime.php' ;
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.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_entete = INS_MAIL_COORD_CORPS."\n" ;
$body = "mail : ".$ligne[INS_CHAMPS_MAIL]."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_NOM.": ".unhtmlentities($ligne[INS_CHAMPS_NOM])." \n" ;
$body .= INS_PRENOM.' : '.unhtmlentities($ligne[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($ligne[PROJET_CHAMPS_LABEL_PAYS])." \n" ;
$body .= "-------------------------------------------\n" ;
$mime->setTXTBody($body);
$mime->setHTMLBody(info()) ;
$body = $mime->get();
$headers = $mime->headers($headers);
$mail = & Mail::factory('mail') ;
$mail -> send ($ligne[INS_CHAMPS_MAIL], $headers, $body) ;
if (PEAR::isError($mail)) {
echo 'erreur d\'envoi' ;
return false ;
}
return true ;
}
 
// merci PHP 5 ...
function mb_str_split($str, $length = 1) {
if ($length < 1) return FALSE;
if (isset ($id) && $id != '') {
$requete_mail = "select ".INS_CHAMPS_MAIL." from ".INS_ANNUAIRE." where ".
INS_CHAMPS_ID."=".$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 ;
}
 
$result = array();
 
for ($i = 0; $i < strlen($str); $i += $length) {
$result[] = substr($str, $i, $length);
}
function envoie_passe() {
$res='';
$requete = 'SELECT '.INS_CHAMPS_MAIL.' FROM '.INS_ANNUAIRE.' WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) {
$res .= '<p class="erreur">'.INS_MAIL_INCONNU_DANS_ANNUAIRE.'</p>'."\n" ;
} else {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$mail = & Mail::factory('smtp') ;
$headers ['Return-Path'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['From'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['Subject'] = INS_MOT_DE_PASSE_CHANGE ;
$headers ['Reply-To'] = "<".INS_MAIL_ADMIN_APRES_INSCRIPTION.">" ;
$headers ['To'] = "<".$_POST['mail'].">" ;
$nouveau_passe = create_new_random(6) ;
// modification du mot de passe dans la base
$requete = 'UPDATE '.INS_ANNUAIRE.' SET '.INS_CHAMPS_PASSE.'=MD5("'.$nouveau_passe.'") WHERE '.INS_CHAMPS_MAIL.'="'.$_POST['mail'].'"' ;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
$body = INS_NOUVEAU_MOT_DE_PASSE_2.$nouveau_passe ;
$body .= INS_NOUVEAU_MOT_DE_PASSE_LAIUS ;
$mail->send($_POST['mail'], $headers, $body) ;
if (PEAR::isError($mail)) {
$res .= '<p class="erreur">'.INS_PROBLEME_ENVOI_MAIL.'</p>'."\n" ;
return $res ;
}
$res .= '<p class="info">'.INS_NOUVEAU_MOT_DE_PASSE_ENVOYE.'</p>'."\n" ;
}
return $res ;
}
 
return $result;
/**
* 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) {
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.php' ;
$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 parti...</p>' ;
return false ;
}
return true ;
}
//
 
/**
* Génère un nom wiki valide à partir des données saisies par l'utilisateur
 
/**
*
* @global ins_db Un pointeur vers un objet PEAR::DB connecté
* @return
*/
 
function envoie_mail() //A COMPLETER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
include_once PAP_CHEMIN_RACINE.'api/pear/Mail/mime.php' ;
include_once PAP_CHEMIN_RACINE.'api/pear/Mail.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_entete = INS_MAIL_COORD_CORPS."\n" ;
$body = "mail : ".$ligne[INS_CHAMPS_MAIL]."\n" ;
$body .= "------------------------------------------\n";
$body .= INS_NOM.": ".unhtmlentities($ligne[INS_CHAMPS_NOM])." \n" ;
$body .= INS_PRENOM.' : '.unhtmlentities($ligne[INS_CHAMPS_PRENOM])." \n" ;
$body .= INS_PAYS." : ".unhtmlentities($ligne[INS_CHAMPS_LABEL_PAYS])." \n" ;
$body .= "-------------------------------------------\n" ;
$mime->setTXTBody($body);
$mime->setHTMLBody(info()) ;
$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
foreach ($GLOBALS['mail_admin'] as $administrateur) {
$mail -> send ($administrateur, $headers, $body) ;
}
if (PEAR::isError($mail)) {
echo 'erreur d\'envoi' ;
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
*
* --> révision par julien suite nouvelle fonction get_wiki_name();
* --> ajout de la vérification des doublons.
*
* @return string un nom wiki valide
*/
 
function genere_nom_wiki($nom) {
// si le nom est trop invalide (____) on génère une chaine au hazard..
$nom_wiki = (!get_wiki_name($nom) ? get_wiki_name(create_new_random(5)) : get_wiki_name($nom));
// si le nom existe déjà: on ajoute des _ à la fin jusqu'à ce qu'il soit libre !
while(!verif_doublonNomWiki($nom_wiki))
{
$nom_wiki .= '_';
}
*
* @return string un nom wiki valide
*/
 
function genere_nom_wiki($prenom, $nom) {
// 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 = $prenom.$nom ;
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 ;
}
 
615,7 → 632,7
 
function trim_non_ascii ($nom) {
$premiere_lettre = true ;
for ($i = 0; $i <= strlen ($nom); $i++) {
for ($i = 0; $i < strlen ($nom); $i++) {
if (!preg_match ('/[a-zA-Z0-9]/', $nom[$i])) {
$nom[$i] = '_' ;
}
633,55 → 650,6
return $nom ;
}
 
//function get_wiki_name($nom)
//{
// $temp = explode('', $nom);
// $count = 0;
// $final = NULL;
// foreach($temp as $letter)
// {
// if(preg_match ('/[a-zA-Z0-9]/', $letter)) {
// $final .= (($count == 0 || $count == (strlen($nom) - 1)) ? strtoupper($letter) : strtolower($letter));
// }
// }
// return($final);
//}
 
// fonction révisée de get_wiki_name() --julien
function get_wiki_name($nom)
{
// traitement des accents
$nom = str_replace(array('é','è','ë','ê','É','È','Ë','Ê','&','£'), 'e', $nom);
$nom = str_replace(array('à','ä','â','Â','Ä','À','@'), 'a', $nom);
$nom = str_replace(array('ç','Ç'), 'c', $nom);
$nom = str_replace(array('ÿ','¾'), 'y', $nom);
$nom = str_replace(array('ô','ö','ò','Ô','Ò','Ö'), 'o', $nom);
$nom = str_replace(array('ï','î','ì','Î','Ï','Ì'), 'i', $nom);
$nom = str_replace('$', 's', $nom);
$temp = mb_str_split($nom);
$count = 0;
$final = NULL;
foreach($temp as $letter)
{
if(preg_match('/([[:space:]]|[[:punct:]])/', $letter))
{
$final .= '_';
} 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);
}
 
 
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
691,7 → 659,7
}
 
//==============================================================================
/** function create_new_random($n,$type) permet de générer un nombre de caractères alçatoires.
/** function create_new_random($n,$type) permet de générer un nombre de caractères aléatoires.
*
*
*
750,6 → 718,57
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.23 2006/12/01 13:23:15 florian
* integration annuaire backoffice
*
* Revision 1.22 2006/10/05 13:53:53 florian
* amélioration des fichiers sql
*
* Revision 1.21 2006/09/20 13:10:01 alexandre_tb
* Ajout d'un test sur la lettre d'actualité
*
* Revision 1.20 2006/07/06 10:33:58 alexandre_tb
* Suppression d'un warning
*
* Revision 1.19 2006/07/04 09:39:27 alexandre_tb
* correction d'un bug mineur
*
* Revision 1.18 2006/06/01 14:42:20 alexandre_tb
* suppression d'un commentaire inutile
*
* Revision 1.17 2006/04/28 12:44:05 florian
* integration bazar
*
* Revision 1.16 2006/04/11 08:41:41 alexandre_tb
* Ajout du champs nom wiki dans le formulaire si la constante INS_GENERE_NOM_WIKI n'est pas activé
*
* Revision 1.15 2006/04/10 14:01:36 florian
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
*
* Revision 1.14 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.13 2006/03/21 10:25:33 alexandre_tb
* ajout d'un template pour le mail de confirmation
*
* Revision 1.12 2006/03/15 11:02:35 alexandre_tb
* ajout de l'insertion du prénom qui avait disparu
*
* Revision 1.11 2006/03/02 16:57:31 alexandre_tb
* correction appel au générateur de nom wiki
*
* Revision 1.10 2006/02/28 14:02:20 alexandre_tb
* suppression des insertion dans les tables du bazar
*
* Revision 1.9 2006/02/14 10:19:10 alexandre_tb
* Mise en place des templates
* CREATE TABLE `inscription_template` (
* `it_id_template` smallint(5) unsigned NOT NULL default '0',
* `it_i18n` varchar(5) NOT NULL default '',
* `it_template` text NOT NULL,
* PRIMARY KEY (`it_id_template`)
* ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
*
* Revision 1.8 2006/01/02 09:51:38 alexandre_tb
* généralisation du code et intégration au bottin
*
/trunk/client/bottin/bibliotheque/annuaire.fonct.php
19,7 → 19,7
// | 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.6 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: annuaire.fonct.php,v 1.7 2007-04-11 08:30:12 neiluj Exp $
/**
* Fonctions du module annuaire
*
31,7 → 31,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.6 $
*@version $Revision: 1.7 $
// +------------------------------------------------------------------------------------------------------+
*/
 
39,12 → 39,44
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once "HTML/QuickForm.php" ;
//include_once "HTML/QuickForm.php" ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
/** function inscription_onglets() Affiche les onglets de présentation de la structure
*
*
*
* @return string HTML
*/
function inscription_onglets() {
$res='<ul id="onglets_inscription">'."\n";
//partie présentation
$GLOBALS['ins_url']->addQueryString('voir_fiche', $_GET['voir_fiche']);
$res .= '<li id="fiche"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_PRESENTATION.'</a>'."\n".'</li>'."\n";
$GLOBALS['ins_url']->removeQueryString('voir_fiche');
//partie abonnement
$GLOBALS['ins_url']->addQueryString('voir_abonnement', $_GET['voir_fiche']);
$res .= '<li id="abonnements"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_ABONNEMENTS.'</a></li>'."\n" ;
$GLOBALS['ins_url']->removeQueryString('voir_abonnement');
//partie actualites
$GLOBALS['ins_url']->addQueryString('voir_actus', $_GET['voir_fiche']);
$res .= '<li id="actus"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_ACTUALITES.'</a>'."\n".'</li>'."\n";
$GLOBALS['ins_url']->removeQueryString('voir_actus');
//partie ressources
$GLOBALS['ins_url']->addQueryString('voir_ressources', $_GET['voir_fiche']);
$res .= '<li id="ressources"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_RESSOURCES.'</a>'."\n".'</li>'."\n";
$GLOBALS['ins_url']->removeQueryString('voir_ressources');
//partie competences
$GLOBALS['ins_url']->addQueryString('voir_competences', $_GET['voir_fiche']);
$res .= '<li id="competences"><a href="'.$GLOBALS['ins_url']->getURL().'">'.INS_COMPETENCES.'</a>'."\n".'</li>'."\n";
$GLOBALS['ins_url']->removeQueryString('voir_competences');
$res.= '</ul>'."\n";
return $res;
}
 
/** function Annuaire_recherche () Moteur de recherche dans l'annuaire des inscrits
*
*
51,7 → 83,6
*
* @return string HTML
*/
 
function Annuaire_recherche() {
$res ='<h2>'.INS_RECHERCHE_ANNUAIRE_DES_INSCRITS.'</h2>'."\n";
$form =& new HTML_QuickForm('form_recherche_annuaire', 'post', str_replace('&amp;', '&', $GLOBALS['ins_url']->getURL()));
66,10 → 97,10
'</tr>'."\n" );
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan=2 style="padding:5px;">{label}{element}</td>'."\n".'</tr>'."\n", 'bouton_rechercher');
//$option_type=array ('0' => INS_PERSONNES_OU_STRUCTURES,
// '1' => INS_PERSONNES,
// '2' => INS_STRUCTURES);
$form->addElement('hidden', 'nom_type', 0);
$option_type=array ('0' => INS_PERSONNES_OU_STRUCTURES,
'1' => INS_PERSONNES,
'2' => INS_STRUCTURES);
$form->addElement('select', 'nom_type', INS_JE_RECHERCHE, $option_type);
//requete pour recuperer la liste des pays
$requete = 'SELECT '.INS_CHAMPS_ID_PAYS.', '.INS_CHAMPS_LABEL_PAYS.' FROM '.INS_TABLE_PAYS.' WHERE '.INS_CHAMPS_I18N_PAYS.'="fr-FR"';
262,6 → 293,12
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.4 2006/04/10 14:01:36 florian
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
*
* Revision 1.3 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.2 2005/09/29 16:13:54 alexandre_tb
* En cours de production.
*
287,4 → 324,4
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
?>
/trunk/client/bottin/bibliotheque/inscription.fonct.wiki.php
19,7 → 19,7
// | 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: inscription.fonct.wiki.php,v 1.5 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.fonct.wiki.php,v 1.6 2007-04-11 08:30:12 neiluj Exp $
/**
* Fonctions wikini
*
32,7 → 32,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.5 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.6 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
45,9 → 45,18
// +------------------------------------------------------------------------------------------------------+
 
function inscription_interwikini_users($id, $valeur) {
// On vérifie l'existance du nom wiki dans interwikini_users
$requete_verif = 'select name from interwikini_users where name="'.$valeur['nom_wiki'].'"';
$resultat_verif = $GLOBALS['ins_db']->query ($requete_verif) ;
if (DB::isError($resultat_verif)) {
echo ("Echec de la requete dans interwikini_users<br />".$resultat_verif->getMessage()) ;
}
if ($resultat_verif->numRows() != 0) {
return ;
}
$requete = "insert into interwikini_users set name=\"".$valeur['nom_wiki'].
"\", password=\"".md5($valeur['mot_de_passe'])."\", email=\"".$valeur['email']."\"" ;
"\", password=\"".md5($valeur['mot_de_passe'])."\", email=\"".$valeur['email']."\"".
', signuptime=now()' ;
$resultat = $GLOBALS['ins_db']->query ($requete) ;
if (DB::isError($resultat)) {
echo ("Echec de la requete dans interwikini_users<br />".$resultat->getMessage()) ;
74,7 → 83,7
 
function verif_doublonNomWiki($nom_wiki) {
global $db ;
$requete = "select name from interwikini_users where name = \"$nom_wiki\" limit 1" ;
$requete = "select name from interwikini_users where name = \"$nom_wiki\"" ;
$resultat = $db->query ($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
107,6 → 116,12
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.4 2006/07/04 09:39:03 alexandre_tb
* correction d'un bug mineur
*
* Revision 1.3 2006/04/11 08:42:07 alexandre_tb
* Vérification de l'existance d'un nom wiki avant son insertion
*
* Revision 1.2 2005/09/29 13:56:48 alexandre_tb
* En cours de production. Reste à gérer les news letters et d'autres choses.
*
/trunk/client/bottin/bibliotheque/lib.carto.php
29,11 → 29,11
*@version 01 juillet 2002
// +-----------------------------------------------------------------------------------------------+
//
// $Id: lib.carto.php,v 1.7 2007-04-06 08:35:46 neiluj Exp $
// $Id: lib.carto.php,v 1.8 2007-04-11 08:30:12 neiluj Exp $
// FICHIER : $RCSfile: lib.carto.php,v $
// AUTEUR : $Author: neiluj $
// VERSION : $Revision: 1.7 $
// DATE : $Date: 2007-04-06 08:35:46 $
// VERSION : $Revision: 1.8 $
// DATE : $Date: 2007-04-11 08:30:12 $
//
// +-----------------------------------------------------------------------------------------------+
// A FAIRE :
450,7 → 450,9
$id_carte_destination = $action['id_carte_destination'] ;
$this->fils[$id_carte_destination]->liste_zone_carte = $this->liste_zone_carte;
$res .= ''.$this->fils[$id_carte_destination]->_donnerListeZoneCarte()."<br />\n";
if (INS_AFFICHE_ZONE_ROUGE) {
$res .= ''.$this->fils[$id_carte_destination]->_donnerListeZoneCarte()."<br />\n";
}
$res .= '<input type="image" src="';
$id_image = $this->_donnerIdUnique();
$this->fils[$id_carte_destination]->_lancerColoriage($id_image);
465,7 → 467,9
//Cette possibilité peut se présenter quand on clique sur un zone blanche d'une carte (càd dans la mer)
//Là, on recharge la carte précédente :
elseif ($action['type_action'] == 'Recharger') {
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
if (INS_AFFICHE_ZONE_ROUGE) {
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
}
$res .= '<input type="image" src="';
$id_image = $this->_donnerIdUnique();
$this->_lancerColoriage($id_image);
491,8 → 495,9
}
}
$this->liste_zone_carte = $liste_zone_carte;
$res .= ''.$this->_donnerListeZoneCarte($this->liste_zone_carte)."<br />\n";
if (INS_AFFICHE_ZONE_ROUGE) {
$res .= ''.$this->_donnerListeZoneCarte($this->liste_zone_carte)."<br />\n";
}
$res .= '<input type="image" src="';
$id_image = $this->_donnerIdUnique();
$this->_lancerColoriage($id_image, '', $this->liste_zone_carte);
511,8 → 516,9
}
}
// une foit que l'on a charge le bon objet nous le colorions
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
if (INS_AFFICHE_ZONE_ROUGE) {
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
}
$res .= '<input type="image" src="';
$id_image = $this->_donnerIdUnique();
$this->_lancerColoriage($id_image);
524,8 → 530,9
// et on affiche alors la premiere carte
else {
unset ($_SESSION['carte']) ;
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
if (INS_AFFICHE_ZONE_ROUGE) {
$res .= ''.$this->_donnerListeZoneCarte()."<br />\n";
}
$res .= '<input type="image" src="';
$id_image = $this->_donnerIdUnique();
$this->_lancerColoriage($id_image);
562,10 → 569,8
}
$requete .=
' ORDER BY '.$this->_info_table_zg['nom_chp_nom_zone'].' ASC';
$resultat = mysql_query ($requete) or die('
<H2 style="text-align: center; font-weight: bold; font-size: 26px;">Erreur de requête</H2>'.
'<b>Requete : </b>'.$requete.
'<br/><br/><b>Erreur : </b>'.mysql_error());
$resultat = mysql_query ($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__,
'', $requete));
$i=0;
787,7 → 792,7
//echo $this->fond.'<BR>';
$image_fond = imagecreatefrompng($this->fond);
$taille_palette = imagecolorstotal ($image_fond);
if (!$image_fond) echo 'erreur fond';
if (!$image_fond) echo 'erreur fond : '.$this->fond;
// Pour chaque couleur contenue dans l'image, nous cherchons l'objet correspondant
// dans le tableau $att, qui contient des informations sur chaque zone de l'image,
// et nous attribuons à l'objet la valeur de l'index de sa couleur dans l'image.
1186,6 → 1191,12
//-- Fin du code source ------------------------------------------------------------
/*
* $Log: not supported by cvs2svn $
* Revision 1.5 2006/12/01 13:23:16 florian
* integration annuaire backoffice
*
* Revision 1.4 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.3 2005/12/07 14:59:14 alexandre_tb
* suppression d'un echo
*
/trunk/client/bottin/bibliotheque/cartographie.fonct.php
26,11 → 26,11
*@version 03 mai 2004
// +-----------------------------------------------------------------------------------------------+
//
// $Id: cartographie.fonct.php,v 1.3 2007-04-06 08:35:46 neiluj Exp $
// $Id: cartographie.fonct.php,v 1.4 2007-04-11 08:30:12 neiluj Exp $
// FICHIER : $RCSfile: cartographie.fonct.php,v $
// AUTEUR : $Author: neiluj $
// VERSION : $Revision: 1.3 $
// DATE : $Date: 2007-04-06 08:35:46 $
// VERSION : $Revision: 1.4 $
// DATE : $Date: 2007-04-11 08:30:12 $
*/
 
/** function carto_liste_fiches()
326,6 → 326,9
//-- Fin du code source ------------------------------------------------------------
/*
* $Log: not supported by cvs2svn $
* Revision 1.2 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.1 2005/09/22 14:02:49 ddelon
* nettoyage annuaire et php5
*
/trunk/client/bottin/bibliotheque/inscription.fonct.spip.php
19,7 → 19,7
// | 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: inscription.fonct.spip.php,v 1.3 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: inscription.fonct.spip.php,v 1.4 2007-04-11 08:30:12 neiluj Exp $
/**
* Fonctions wikini
*
32,7 → 32,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.3 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.4 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
55,7 → 55,7
}
$requete = "insert into spip_auteurs set id_auteur=$id, nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", statut=\"nouveau\", lang=\"".
"\", pass=\"".md5($valeur['mot_de_passe'])."\", statut=\"nouveau\", lang=\"".
strtolower($valeur['pays'])."\"" ;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
70,7 → 70,7
//BIEN METTRE alea_actuel, htpass ET alea_futur À ""
$requete = "update spip_auteurs set nom=\"".$valeur['prenom']." ".$valeur['nom'].
"\",email=\"".$valeur['email']."\",login=\"".$login.
"\", pass=\"".md5($valeur['password'])."\", htpass=\"\", alea_actuel=\"\", alea_futur=\"\", lang=\"fr\" where id_auteur=$id" ;
"\", pass=\"".md5($valeur['mot_de_passe'])."\", htpass=\"\", alea_actuel=\"\", alea_futur=\"\", lang=\"fr\" where id_auteur=$id" ;
//echo $requete;
@mysql_query($requete) or die ("$requete<br>Echec <br>".mysql_error()) ;
}
82,7 → 82,7
 
function spip_cookie() {
if ($userid != 0) {
setcookie("spip_admin", "@$login", time()+3600*24*30, "/vecam/") ;
setcookie("spip_admin", "@$login", time()+3600*24*30, INS_CHEMIN_SPIP) ;
include ("ecrire/inc_version.php3");
include_ecrire ("inc_meta.php3");
include_ecrire ("inc_session.php3");
106,6 → 106,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2006/03/15 11:03:34 alexandre_tb
* généralisation du code
*
* Revision 1.1 2005/09/22 14:02:49 ddelon
* nettoyage annuaire et php5
*
/trunk/client/bottin/bibliotheque/edition_fiche.php
16,7 → 16,7
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: edition_fiche.php,v 1.4 2007-04-06 08:35:46 neiluj Exp $
// $Id: edition_fiche.php,v 1.5 2007-04-11 08:30:12 neiluj Exp $
 
 
define ("URL_RECU", $GLOBALS['ins_url']->protocol. '://'.$GLOBALS['ins_url']->host."/client/annuaire/voir_recu_pdf.php") ;
149,8 → 149,7
$_REQUEST[$field_] = $_REQUEST[INS_TABLE_PAYS] ;
}
$query = 'update '.INS_ANNUAIRE.' set '.$field_.'="'.$_REQUEST[$field_].'" where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
$GLOBALS['ins_db']->query($query) ;echo $query;
 
$GLOBALS['ins_db']->query($query) ;
// Traitement du département
if ($field_ == INS_CHAMPS_CODE_POSTAL) {
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL])) {
/trunk/client/bottin/bibliotheque/cartographie.fonct.liste_inscrit.php
9,23 → 9,23
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: cartographie.fonct.liste_inscrit.php,v 1.4 2007-04-06 08:35:46 neiluj Exp $
// $Id: cartographie.fonct.liste_inscrit.php,v 1.5 2007-04-11 08:30:12 neiluj Exp $
 
global $HTTP_USER_AGENT;
 
$classe_titre = 'titlePage' ;
 
$javascript = "function confirmer ()
$javascript = 'function confirmer ()
{
if (window.confirm ('Cliquez sur OK pour confirmer.')) {
if (window.confirm (\'Cliquez sur OK pour confirmer.\')) {
window.formmail.submit();
}
}
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')
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) {
37,17 → 37,15
elts.checked = do_check;
} // Fin if... else
return true;
} // Fin de la fonction 'setCheckboxes()'";
}
 
';
 
GEN_stockerCodeScript($javascript);
 
$res = "";
 
$tabmonde = explode ('*',$monde->historique);
 
// Premier cas, on vient de cliquer sur un pays qui n'est pas
// la France, on affiche les adhérents de ce pays
 
if (count($tabmonde) == 3) {
$argument = $tabmonde[2];
$query = 'SELECT * FROM carto_PAYS WHERE CP_ID_pays="'.$argument.'"';
104,8 → 102,8
}
$res .= "</div>\n";
if ($row2->nbr>0) {
if (!$GLOBALS['AUTH']->getAuth()) {
$res .= '<br /><br />'.INS_VOUS_DEVEZ_ETRE_INSCRIT ;
if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) {
$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ;
}
else {
$requete = 'SELECT * FROM '.INS_ANNUAIRE.
135,9 → 133,9
// 2 ème cas, on vient de cliquer sur un département français
 
else if (count($tabmonde) == 4) {
$argument = $tabmonde[3];
$numero_departement = $tabmonde[3];
$query = 'SELECT * FROM '.INS_TABLE_DPT.' WHERE '.INS_CHAMPS_ID_DEPARTEMENT.'='.$argument;
$query = 'SELECT * FROM '.INS_TABLE_DPT.' WHERE '.INS_CHAMPS_ID_DEPARTEMENT.'='.$numero_departement;
$result = $GLOBALS['ins_db']->query($query);
if (DB::isError($result)) {
die ($result->getMessage() .'<br />'.$result->getDebugInfo());
152,7 → 150,8
if ($key==0) {
$chemin=$value;
$value='monde';
$res.= "<a class=\"chemin_carto\" href=\"".$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
$res.= "<a class=\"chemin_carto\" href=\"".
$monde->url."&amp;historique_cartes=$chemin\">&nbsp;&gt;&nbsp;".$tabnom[$key]."</a>";
}
else if ($key==(count($tabonglet)-1)) {
$res.="<a class=\"chemin_carto\">&nbsp;&gt;&nbsp;$nom</a>";
166,7 → 165,7
$query2 = ' SELECT count('.INS_CHAMPS_ID.') as nbr'.
' FROM '.INS_ANNUAIRE.
' WHERE '.INS_CHAMPS_CODE_POSTAL.' LIKE "'.$argument.'%"'.
' WHERE '.INS_CHAMPS_CODE_POSTAL.' LIKE "'.$numero_departement.'%"'.
' AND '.INS_CHAMPS_PAYS.'="FR"';
$result2 = $GLOBALS['ins_db']->query($query2);
if (DB::isError($result2)) {
186,8 → 185,8
}
$res .= "</div><br />\n";
if ($row2->nbr>0) {
if (!$GLOBALS['AUTH']->getAuth()) {
$res .= '<br /><br />'.INS_VOUS_DEVEZ_ETRE_INSCRIT ;
if ((INS_NECESSITE_LOGIN)and(!$GLOBALS['AUTH']->getAuth())) {
$res .= '<br /><p class="zone_alert">'.INS_VOUS_DEVEZ_ETRE_INSCRIT.'</p>'."\n" ;
} else {
$requete = 'SELECT * FROM '.INS_ANNUAIRE.
' WHERE '.INS_CHAMPS_CODE_POSTAL.' LIKE "'.$argument.'%"'.
/trunk/client/bottin/cartographie.php
26,24 → 26,84
*@version 03 mai 2004
// +-----------------------------------------------------------------------------------------------+
//
// $Id: cartographie.php,v 1.8 2007-04-06 08:35:46 neiluj Exp $
// $Id: cartographie.php,v 1.9 2007-04-11 08:30:12 neiluj Exp $
// FICHIER : $RCSfile: cartographie.php,v $
// AUTEUR : $Author: neiluj $
// VERSION : $Revision: 1.8 $
// DATE : $Date: 2007-04-06 08:35:46 $
// VERSION : $Revision: 1.9 $
// DATE : $Date: 2007-04-11 08:30:12 $
*/
include_once PAP_CHEMIN_RACINE.'/client/bottin/configuration/bottin.config.inc.php';
include_once INS_CHEMIN_APPLI.'configuration/cartographie.config.inc.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/cartographie.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/lib.carto.php';
include_once INS_CHEMIN_APPLI.'bibliotheque/cartographie.fonct.php';
//include_once 'HTML/QuickForm.php' ;
 
//================================================================================================
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
//---------------le menu de l'appli-----------
function afficherContenuNavigation () {
$res =inscription_onglets();
return $res ;
}
}
 
//================================================================================================
function construit_hierarchie(&$info_zone, &$carto_config, $info_zone_hierarchie, &$monde) {
static $i=0;
$i++;
//on ajoute la carto en cours en tant que fils
$monde->ajouterFils($info_zone_hierarchie->czh_code_alpha, $info_zone_hierarchie->czh_identifiant_table_info_couleur,
$info_zone_hierarchie->czh_nom, $info_zone_hierarchie->czh_fichier_masque,
$info_zone_hierarchie->czh_fichier_image, '');
$monde->fils[$info_zone_hierarchie->czh_code_alpha]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
//requete pour trouver les fils de la carte de depart voulue
$requete_zone_fils = 'SELECT * FROM carto_zone_hierarchie '.
'WHERE czh_id_zone_pere='.$info_zone_hierarchie->czh_id_zone;/*echo $requete_zone_fils;*/
$resultat_zone_fils = $GLOBALS['ins_db']->query($requete_zone_fils) ;
if (DB::isError($resultat_zone_fils )) {
echo ($resultat_zone_fils->getMessage().'<br />'.$resultat_zone_fils->getDebugInfo()).'<br />'.$requete_zone_fils ;
}
if ($resultat_zone_fils->numRows()!=0) {
while ($ligne_zone_fils = $resultat_zone_fils ->fetchRow(DB_FETCHMODE_OBJECT)) {
//requete pour obtenir toutes les infos (repartition par zones, nom des tables et champs pour les couleurs,.. ) pour la carte à afficher
$requete_01 = 'SELECT '.$ligne_zone_fils->czh_nom_champs_id_pere.',count('.$ligne_zone_fils->czh_nom_champs_id_pere.') AS nbr'.
' FROM '.$carto_config['cc_table1'].', '.$ligne_zone_fils->czh_nom_table_info_couleur;
if ($carto_config['cc_table2']!=0) $requete_01 .= ', '.$carto_config['cc_table2'];
$requete_01 .= ' WHERE '.$ligne_zone_fils->czh_champs_jointure_annuaire.' = '.$ligne_zone_fils->czh_nom_champs_id;
if ($carto_config['cc_sql']!='') $requete_01 .= ' AND ('.$carto_config['cc_sql'].')';
$requete_01 .= ' GROUP BY '.$ligne_zone_fils->czh_nom_champs_id_pere;
$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
if (DB::isError($resultat_01)) {
echo ($resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo()).'<br />'.$requete_01 ;
}
$tableau_repartition=array();
while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
$id=$ligne_zone_fils->czh_nom_champs_id_pere;
$tableau_repartition[$ligne_01->$id] = $ligne_01->nbr;
}
$info_zone[$i]['nom_table_zone'] =$info_zone_hierarchie->czh_nom_table_info_couleur;
$info_zone[$i]['nom_chp_id_zone'] =$info_zone_hierarchie->czh_nom_champs_id;
$info_zone[$i]['nom_chp_nom_zone'] =$info_zone_hierarchie->czh_nom_champs_intitule;
$info_zone[$i]['nom_chp_rouge'] =$info_zone_hierarchie->czh_nom_champs_couleur_R;
$info_zone[$i]['nom_chp_vert'] =$info_zone_hierarchie->czh_nom_champs_couleur_V;
$info_zone[$i]['nom_chp_bleu'] =$info_zone_hierarchie->czh_nom_champs_couleur_B;
$info_zone[$i]['nom_chp_zone_sup'] =$info_zone_hierarchie->czh_nom_champs_id_pere;
$info_zone[$i]['tableau_valeurs_zone'] = $tableau_repartition;
if ($i == 1) {
$monde->_info_table_zg = $info_zone[1];
$monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde);
} else {
$monde->_info_table_zg = $info_zone[$i];
construit_hierarchie($info_zone, $carto_config, $ligne_zone_fils, $monde->fils[$info_zone_hierarchie->czh_code_alpha]);
}
}
}
}
 
function afficherContenuCorps()
{
function afficherContenuCorps() {
global $image_x;
global $image_y;
global $historique_cartes;
53,182 → 113,169
global $select;//utilisé dans liste_inscrit.php
global $liste_zone_carte;
//=================================================================================================
//Gestion de la configuration
$requete = 'SELECT * FROM carto_config WHERE cc_menu_id='.$_GET['menu'];
//=================================================================================================
//Gestion de la configuration
$requete = 'SELECT * FROM carto_config WHERE cc_menu_id='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu;
$resultat = $GLOBALS['ins_db']->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
//valeurs par defaut enregistrees dans la table
$titre=$ligne['cc_titre_carto'];
$nom_table1=$ligne['cc_table1'];
$nom_table2=$ligne['cc_table2'];
$nom_champs_pays=$ligne['cc_pays'];
$nom_champs_cp=$ligne['cc_cp'];
$requete_sql=$ligne['cc_sql'];
}
//=================================================================================================
$requete_01 = 'SELECT CP_ID_Continent,count(cp_id_continent) AS nbr'.
' FROM '.$nom_table1.', carto_PAYS';
if ($nom_table2!=0) $requete_01 .= ', '.$nom_table2;
$requete_01 .= ' WHERE '.$nom_champs_pays.' = cp_id_pays';
if ($requete_sql!='') $requete_01 .= ' AND ('.$requete_sql.')';
$requete_01 .= ' GROUP BY cp_id_continent';
$resultat_01 = $GLOBALS['ins_db']->query($requete_01) ;
if (DB::isError($resultat_01)) {
die ($resultat_01->getMessage().'<br />'.$resultat_01->getDebugInfo()) ;
}
$tableau_ad_continent=array();
while ($ligne_01 = $resultat_01->fetchRow(DB_FETCHMODE_OBJECT)) {
$tableau_ad_continent[$ligne_01->CP_ID_Continent] = $ligne_01->nbr;
}
$info_continent['nom_table_zone'] = 'carto_CONTINENT';
$info_continent['nom_chp_id_zone'] = 'CC_ID_Continent';
$info_continent['nom_chp_nom_zone'] = 'CC_Intitule_continent';
$info_continent['nom_chp_rouge'] = 'CC_Couleur_R';
$info_continent['nom_chp_vert'] = 'CC_Couleur_V';
$info_continent['nom_chp_bleu'] = 'CC_Couleur_B';
$info_continent['nom_chp_zone_sup'] = '';
$info_continent['tableau_valeurs_zone'] = $tableau_ad_continent;
//============================================================================================================
$requete_02 = 'SELECT CC_ID_Continent FROM carto_CONTINENT';
$resultat_02 = $GLOBALS['ins_db']->query($requete_02) ;
if (DB::isError($resultat_02)) {
die ($resultat_02->getMessage().'<br />'.$resultat_02->getDebugInfo()) ;
}
while ($ligne_02 = $resultat_02->fetchRow(DB_FETCHMODE_OBJECT)) {
$requete_03 = 'SELECT CP_ID_Pays, count(cp_id_pays) as nbr '.
' FROM '.$nom_table1.', carto_PAYS';
if ($nom_table2!=0) $requete_03 .= ', '.$nom_table2;
$requete_03 .= ' WHERE '.$nom_champs_pays.'= cp_id_pays';
if ($requete_sql!='') $requete_03 .= ' AND ('.$requete_sql.')';
$requete_03 .= ' AND cp_id_continent = "'.$ligne_02->CC_ID_Continent.'"'.
' GROUP BY cp_id_pays';
$resultat_03 = $GLOBALS['ins_db']->query($requete_03) ;
if (DB::isError($resultat_03)) {
die ($resultat_03->getMessage().'<br />'.$resultat_03->getDebugInfo()) ;
}
$carto_config = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$tableau_ad_pays = array();
while ($ligne_03 = $resultat_03->fetchRow(DB_FETCHMODE_OBJECT)) {
$tableau_ad_pays[$ligne_03->CP_ID_Pays] = $ligne_03->nbr;
}
$info_pays[$ligne_02->CC_ID_Continent]['nom_table_zone'] = 'carto_PAYS';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_id_zone'] = 'CP_ID_Pays';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_nom_zone'] = 'CP_Intitule_pays';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_rouge'] = 'CP_Couleur_R';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_vert'] = 'CP_Couleur_V';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_bleu'] = 'CP_Couleur_B';
$info_pays[$ligne_02->CC_ID_Continent]['nom_chp_zone_sup'] = 'CP_ID_Continent';
$info_pays[$ligne_02->CC_ID_Continent]['tableau_valeurs_zone'] = $tableau_ad_pays;
}
//============================================================================================================
//if (!isset($_POST['historique_cartes']) && INS_ECHELLE_DEPART!='france') {
$requete_04 = 'SELECT CD_ID_Departement, count(cd_id_departement) as nbr'.
' FROM '.$nom_table1.', carto_DEPARTEMENT'.
' WHERE '.$nom_champs_pays.' = "fr"'.
' AND SUBSTRING('.$nom_champs_cp.' FROM 1 FOR 2) = cd_id_Departement'.
' GROUP BY cd_id_Departement';
$resultat_04 = $GLOBALS['ins_db']->query ($requete_04) ;
$tableau_ad_dpt_france = array();
while ($ligne_04 = $resultat_04->fetchRow(DB_FETCHMODE_OBJECT)) {
$tableau_ad_dpt_france[$ligne_04->CD_ID_Departement] = $ligne_04->nbr;
}
$info_dpt_france['nom_table_zone'] = 'carto_DEPARTEMENT';
$info_dpt_france['nom_chp_id_zone'] = 'CD_ID_Departement';
$info_dpt_france['nom_chp_nom_zone'] = 'CD_Intitule_departement';
$info_dpt_france['nom_chp_rouge'] = 'CD_Couleur_R';
$info_dpt_france['nom_chp_vert'] = 'CD_Couleur_V';
$info_dpt_france['nom_chp_bleu'] = 'CD_Couleur_B';
$info_dpt_france['nom_chp_zone_sup'] = 'CD_ID_Pays';
$info_dpt_france['tableau_valeurs_zone'] = $tableau_ad_dpt_france;
//}
//============================================================================================================
 
//============================================================================================================
// On cree tout d'abord l'arborescence
$monde = new Carto_Carte('continent', '', 'Monde', 'monde_masque5c.png', 'monde5c.png', INS_CHEMIN_APPLI.'presentations/fonds/', $info_continent);
$monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
if (isset($_POST['historique_cartes'])) {
$monde->historique_cartes = $_POST['historique_cartes'];
//on affiche les infos lorsqu'on regarde une fiche
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) ) {
$res = affiche_onglet_info();
} else {
//requete pour afficher la carte de depart voulue dans la conf.
$requete_zone_hierarchie = 'SELECT * FROM carto_zone_hierarchie WHERE czh_id_zone='.$carto_config['cc_ce_premiere_carte'];
$resultat_zone_hierarchie = $GLOBALS['ins_db']->query($requete_zone_hierarchie) ;
if (DB::isError($resultat_zone_hierarchie )) {
echo ($resultat_zone_hierarchie->getMessage().'<br />'.$resultat_zone_hierarchie->getDebugInfo()) ;
}
$ligne_zone_hierarchie = $resultat_zone_hierarchie ->fetchRow(DB_FETCHMODE_OBJECT);
//initialisation de la variable 2 dimensions, contenant les infos specifiques a chaque echelle de territoire
$info_zone= array();
$monde = new Carto_Carte($ligne_zone_hierarchie->czh_code_alpha, '', $ligne_zone_hierarchie->czh_nom,
$ligne_zone_hierarchie->czh_fichier_masque, $ligne_zone_hierarchie->czh_fichier_image,
INS_CHEMIN_APPLI.'presentations/fonds/', '');
construit_hierarchie($info_zone, $carto_config, $ligne_zone_hierarchie, $monde);
echo '<pre>'.var_dump($monde).'</pre>';
//requete
// $requete_02 = 'SELECT CC_ID_Continent FROM carto_CONTINENT';
//
// $resultat_02 = $GLOBALS['ins_db']->query($requete_02) ;
// if (DB::isError($resultat_02)) {
// die ($resultat_02->getMessage().'<br />'.$resultat_02->getDebugInfo()) ;
// }
//
// while ($ligne_02 = $resultat_02->fetchRow(DB_FETCHMODE_OBJECT)) {
// $requete_03 = 'SELECT CP_ID_Pays, count(cp_id_pays) as nbr '.
// ' FROM '.$nom_table1.', carto_PAYS';
// if ($nom_table2!=0) $requete_03 .= ', '.$nom_table2;
// $requete_03 .= ' WHERE '.$nom_champs_pays.'= cp_id_pays';
// if ($requete_sql!='') $requete_03 .= ' AND ('.$requete_sql.')';
// $requete_03 .= ' AND cp_id_continent = "'.$ligne_02->CC_ID_Continent.'"'.
// ' GROUP BY cp_id_pays';
// $resultat_03 = $GLOBALS['ins_db']->query($requete_03) ;
// if (DB::isError($resultat_03)) {
// die ($resultat_03->getMessage().'<br />'.$resultat_03->getDebugInfo()) ;
// }
//
// $tableau_ad_pays = array();
// while ($ligne_03 = $resultat_03->fetchRow(DB_FETCHMODE_OBJECT)) {
// $tableau_ad_pays[$ligne_03->CP_ID_Pays] = $ligne_03->nbr;
// }
//
// $info_pays[$ligne_02->CC_ID_Continent]['nom_table_zone'] = 'carto_PAYS';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_id_zone'] = 'CP_ID_Pays';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_nom_zone'] = 'CP_Intitule_pays';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_rouge'] = 'CP_Couleur_R';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_vert'] = 'CP_Couleur_V';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_bleu'] = 'CP_Couleur_B';
// $info_pays[$ligne_02->CC_ID_Continent]['nom_chp_zone_sup'] = 'CP_ID_Continent';
// $info_pays[$ligne_02->CC_ID_Continent]['tableau_valeurs_zone'] = $tableau_ad_pays;
}
// //============================================================================================================
// //if (!isset($_POST['historique_cartes']) && INS_ECHELLE_DEPART!='france') {
// $requete_04 = 'SELECT CD_ID_Departement, count(cd_id_departement) as nbr'.
// ' FROM '.$nom_table1.', carto_DEPARTEMENT'.
// ' WHERE '.$nom_champs_pays.' = "fr"'.
// ' AND SUBSTRING('.$nom_champs_cp.' FROM 1 FOR 2) = cd_id_Departement'.
// ' GROUP BY cd_id_Departement';
// $resultat_04 = $GLOBALS['ins_db']->query ($requete_04) ;
// $tableau_ad_dpt_france = array();
// while ($ligne_04 = $resultat_04->fetchRow(DB_FETCHMODE_OBJECT)) {
// $tableau_ad_dpt_france[$ligne_04->CD_ID_Departement] = $ligne_04->nbr;
// }
// $info_dpt_france['nom_table_zone'] = 'carto_DEPARTEMENT';
// $info_dpt_france['nom_chp_id_zone'] = 'CD_ID_Departement';
// $info_dpt_france['nom_chp_nom_zone'] = 'CD_Intitule_departement';
// $info_dpt_france['nom_chp_rouge'] = 'CD_Couleur_R';
// $info_dpt_france['nom_chp_vert'] = 'CD_Couleur_V';
// $info_dpt_france['nom_chp_bleu'] = 'CD_Couleur_B';
// $info_dpt_france['nom_chp_zone_sup'] = 'CD_ID_Pays';
// $info_dpt_france['tableau_valeurs_zone'] = $tableau_ad_dpt_france;
// //}
//
//============================================================================================================
//============================================================================================================
// On cree tout d'abord l'arborescence
/*
$monde = new Carto_Carte('continent', '', 'Monde', 'monde_masque5c.png', 'monde5c.png',
INS_CHEMIN_APPLI.'presentations/fonds/', $info_zone[1]);
$monde->definirCouleurs('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;*/
if (isset($_POST['historique_cartes'])) {
$monde->historique_cartes = $_POST['historique_cartes'];
} else {
$monde->historique_cartes = INS_ECHELLE_DEPART;
}
$monde->image_x = $image_x;
$monde->image_y = $image_y;
$monde->liste_zone_carte = $liste_zone_carte;
$monde->url = $GLOBALS['ins_url']->getURL();
/*
foreach ($info_zone[2] as $cle => $valeur) {
$requete_05 =
"SELECT CDC_Titre_carte, CDC_ID_Carte, CDC_Carte_fond, CDC_Carte_masque, CDC_ID_Zone_geo_carte".
" FROM carto_DESCRIPTION_CARTE, carto_ACTION ".
" WHERE CA_ID_Zone_geo = '$cle'".
" AND CA_Type_zone = 1".
" AND CA_ID_Carte_destination = CDC_ID_Carte";
$resultat_05 = $GLOBALS['ins_db']->query ($requete_05) ;
if (DB::isError($resultat_05)) {
die ($resultat_05->getMessage().'<br />'.$resultat_05->getDebugInfo()) ;
}
$ligne_05 = $resultat_05->fetchRow(DB_FETCHMODE_OBJECT);
$monde->ajouterFils($ligne_05->CDC_ID_Carte, $ligne_05->CDC_ID_Zone_geo_carte, $ligne_05->CDC_Titre_carte,
$ligne_05->CDC_Carte_masque, $ligne_05->CDC_Carte_fond, $valeur);
$monde->fils[$ligne_05->CDC_ID_Carte]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
}
*/
//$monde->fils['europe']->ajouterFils('france', 'fr', 'France' ,'france_masque.png', 'france.png', $info_zone[3]);
//$monde->fils['europe']->fils['france']->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
// Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte
// (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer
// le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).
$img = false;
if ($mailer == 1 || $fin == true) {
$objet_carte = $_SESSION['carte'] ;
$monde = unserialize($objet_carte);}
else {
$img = $monde->donnerFormulaireImage();
}
// Quoi qu'il arrive, on ouvre la balise formulaire
if ($carto_config['cc_titre_carto']!='') $res = '<h1>'.$carto_config['cc_titre_carto'].'</h1>'."\n";
else $res = '<h1>'.INS_CARTOGRAPHIE.'</h1>'."\n";
$res .= '<form name="formmail" action="'.$monde->url.'" method="post">'."\n";
if ((INS_AFFICHE_ECHELLE)and($img)) {
$historique_carte = new Carto_HistoriqueCarte ($monde, '&gt;', 'chemin_carto');
$res .= $historique_carte->afficherHistoriqueCarte()."\n" ;
}
if (!$img ) {
//include 'bibliotheque/cartographie.fonct.liste_inscrit.php';
$res .= carto_liste_fiches($monde, $carto_config['cc_table1'], $carto_config['cc_table2'], $carto_config['cc_pays'],$carto_config['cc_cp'], $carto_config['cc_sql']);
return $res;
} else {
$res .= $img;
$res .= '<p class="zone_info">'."\n";
$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";
$res .= INS_COULEUR."\n".'</p>'."\n";
}
$res .= '</form>'."\n";
return $res;
//----------------------------------------------------------------------------------------------------------------------
// Cas ou la carto n'a pas encore ete configuree
} else {
$monde->historique_cartes = INS_ECHELLE_DEPART;
}
$monde->image_x = $image_x;
$monde->image_y = $image_y;
$monde->liste_zone_carte = $liste_zone_carte;
$monde->url = $GLOBALS['ins_url']->getURL();
foreach ($info_pays as $cle => $valeur) {
$requete_05 =
"SELECT CDC_Titre_carte, CDC_ID_Carte, CDC_Carte_fond, CDC_Carte_masque, CDC_ID_Zone_geo_carte".
" FROM carto_DESCRIPTION_CARTE, carto_ACTION ".
" WHERE CA_ID_Zone_geo = '$cle'".
" AND CA_Type_zone = 1".
" AND CA_ID_Carte_destination = CDC_ID_Carte";
$resultat_05 = $GLOBALS['ins_db']->query ($requete_05) ;
if (DB::isError($resultat_05)) {
die ($resultat_05->getMessage().'<br />'.$resultat_05->getDebugInfo()) ;
}
$ligne_05 = $resultat_05->fetchRow(DB_FETCHMODE_OBJECT);
$monde->ajouterFils($ligne_05->CDC_ID_Carte, $ligne_05->CDC_ID_Zone_geo_carte, $ligne_05->CDC_Titre_carte,
$ligne_05->CDC_Carte_masque, $ligne_05->CDC_Carte_fond, $valeur);
$monde->fils[$ligne_05->CDC_ID_Carte]->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
}
$monde->fils['europe']->ajouterFils('france', 'fr', 'France' ,'france_masque.png', 'france.png', $info_dpt_france);
$monde->fils['europe']->fils['france']->definirCouleurs ('255', '255', '255','255', '250', '130','255', '204', '0','255', '153', '0') ;
// Une fois l'arborescence créée on lance la methode donnerFormulaireImage() pour recuperer la carte
// (dans $img). S'il n'y a pas de carte a afficher donnerFormulaireImage() renvoi false. On peut alors recuperer
// le niveau ou on en est grace a $monde->historique (du type continent*namerique*ca).
$img = false;
if ($mailer == 1 || $fin == true) {
$objet_carte = $_SESSION['carte'] ;
$monde = unserialize($objet_carte);}
else {
$img = $monde->donnerFormulaireImage();
}
// Quoi qu'il arrive, on ouvre la balise formulaire
if ($titre!='') $res = '<h1>'.$titre.'</h1>'."\n";
else $res = '<h1>'.INS_CARTOGRAPHIE.'</h1>'."\n";
$res .= '<form action="'.$monde->url.'" method="post">'."\n";
if ((INS_AFFICHE_ECHELLE)and($img)) {
$historique_carte = new Carto_HistoriqueCarte ($monde, '&gt;', 'chemin_carto');
$res .= $historique_carte->afficherHistoriqueCarte()."\n" ;
}
if (!$img ) {
//include 'bibliotheque/cartographie.fonct.liste_inscrit.php';
$res .= carto_liste_fiches($monde, $nom_table1, $nom_table2, $nom_champs_pays, $nom_champs_cp, $requete_sql);
return $res;
} else {
$res .= $img;
$res .= '<p class="zone_info">'."\n";
$res .= '<strong>'.INS_CLIQUER_ACCEDER.'</strong><br />'."\n";
$res .= INS_COULEUR."\n".'</p>'."\n";
}
$res .= '</form>'."\n";
return $res;
//----------------------------------------------------------------------------------------------------------------------
// Cas ou la carto n'a pas encore ete configuree
} else {
return '<p class="zone_alert">'.INS_FAUT_CONFIGURER_CARTO.'</p>'."\n";
}
}
237,6 → 284,18
//-- Fin du code source ------------------------------------------------------------
/*
* $Log: not supported by cvs2svn $
* Revision 1.6 2006/12/01 13:23:17 florian
* integration annuaire backoffice
*
* Revision 1.5 2006/04/19 13:49:04 alexandre_tb
* correction de bug sur l'utilisation de l'id_menu de papyrus
*
* Revision 1.4 2006/04/10 14:01:36 florian
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
*
* Revision 1.3 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.2 2005/11/24 16:17:52 florian
* changement template inscription + modifs carto
*
/trunk/client/bottin/langues/bottin.langue_fr.inc.php
1,192 → 1,198
<?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: bottin.langue_fr.inc.php,v 1.18 2007-04-06 08:35:46 neiluj Exp $
/**
* Fichier de traduction en français de l'application ins_annuaire
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.18 $ $Date: 2007-04-06 08:35:46 $
// +------------------------------------------------------------------------------------------------------+
*/
 
//if (file_exists (INS_CHEMIN_APPLI.'langues/bottin_langue_'.$GLOBALS['lang'].'local.php')) {
// include_once INS_CHEMIN_APPLI.'langues/bottin_langue_'.$GLOBALS['lang'].'local.php' ;
//}
define ('INS_TITRE_INSCRIPTION', 'S\'inscrire');
define ('INS_INSCRIPTION_PERSONNE','S\'inscrire');
define ('INS_INSCRIPTION_STRUCTURE', 'S\'inscrire en tant que structure');
define ('INS_AJOUT_MEMBRE', 'Ajout de nouveaux participants') ;
define ('INS_NOM', 'Nom ou pseudonyme') ;
define ('INS_NOM_REQUIS', 'Veuillez indiquer votre nom des participants.') ;
define ('INS_PRENOM', 'Pr&eacute;nom') ;
define ('INS_PRENOM_REQUIS', 'Veuillez indiquer votre prénom.') ;
define ('INS_PAYS', 'Pays') ;
define ('INS_LANGUES_PARLES', 'Langues parl&eacute;s') ;
define ('INS_EMAIL', 'Adresse mail') ;
define ('INS_MOT_DE_PASSE', 'Mot de passe') ;
define ('INS_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe') ;
define ('INS_ADRESSE_1', 'Adresse') ;
define ('INS_ADRESSE_2', 'Adresse (suite)') ;
define ('INS_REGION', 'R&eacute;gion / province') ;
define ('INS_CODE_POSTAL', 'Code postal') ;
define ('INS_CODE_POSTAL_REQUIS', 'Veuillez indiquer votre code postal.') ;
define ('INS_VILLE', 'Ville') ;
define ('INS_VILLE_REQUIS', 'Veuillez indiquer votre ville.') ;
define ('INS_SITE_INTERNET', 'Site internet') ;
define ('INS_LETTRE', 'Je souhaite recevoir la lettre d\'actualité') ;
define ('INS_MOT_DE_PASSE_CHANGE', 'Changement de mot de passe') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_ENVOYE', 'Votre mot de passe a &eacute;t&eacute; chang&eacute;, consultez votre messagerie.') ;
define ('INS_MAIL_INCONNU_DANS_ANNUAIRE', 'L\'adresse mail saisie n\'est pas pr&eacute;sente dans notre annuaire, v&eacute;rifiez la saisie de cette adresse') ;
define ('INS_VOUS_RECEVEZ_LETTRE','Vous &ecirc;tes abonn&eacute;(e) &agrave; la cyberlettre');
define ('INS_VOUS_RECEVEZ_PAS_LETTRE','Vous n\'&ecirc;tes pas abonn&eacute;(e) &agrave; la cyberlettre');
define ('INS_VOUS_APPARAISSEZ','Vous apparaissez sur la cartographie et dans l\'annuaire du site');
define ('INS_VOUS_APPARAISSEZ_PAS','Vous n\'apparaissez par sur la cartographie, ni dans l\'annuaire du site');
define ('INS_ADHERENT', 'Vous &ecirc;tes adh&eacute;rents de personnes morales (associations, institutions, entreprise... )') ;
define ('INS_ORGANISME', 'Organisme') ;
define ('INS_FONCTION', 'Fonction') ;
define ('INS_TELEPHONE', 'T&eacute;l&eacute;phone');
define ('INS_FAX','Fax');
define ('INS_ANNULER', 'Annuler') ;
define ('INS_RETABLIR', 'Rétablir') ;
define ('INS_VALIDER', 'Valider') ;
define ('INS_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('INS_EMAIL_REQUIS', 'Vous devez saisir une adresse &eacutelectronique.') ;
define ('INS_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('INS_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('INS_MAIL_DOUBLE', 'Cet email est d&eacute;j&agrave utilis&eacute; par quelqu\'un d\'autre') ;
define ('INS_NOTE_REQUIS', 'Indique les champs requis') ;
define ('INS_ACCUEIL_INSCRIPTION', 'Inscription au dispositif d\'&eacute;changes') ;
define ('INS_MODIFIER_INSCRIPTION', 'Modifier votre inscription') ;
define ('INS_SUPPRIMER_INSCRIPTION', 'Supprimer votre inscription') ;
define ('INS_MESSAGE_BIENVENU', 'Vous &ecirc;tes inscrit') ;
define ('INS_FICHE_PERSONNELLE', 'Fiche des participants') ;
define ('INS_FICHE_STRUCTURE','Fiche de la structure');
define ('INS_DECONNEXION', 'D&eacute;connexion') ;
define ('INS_INSCRIPTION', 'Inscription') ;
define ('INS_TEXTE_PERDU', 'Mot de passe perdu? Indiquez seulement votre adresse email et cliquez sur \'Valider\'') ;
define ('INS_SIGLE_DE_LA_STRUCTURE', 'Sigle de la structure');
define ('INS_SIGLE_STRUCTURE', 'Sigle de la structure <br />(s\'il n\'existe pas, mettre <br />le nom de la structure)');
define ('INS_VISIBLE', 'Je souhaite apparaitre sur la cartographie et sur l\'annuaire du site');
define ('INS_SIGLE_REQUIS', 'Sigle de la structure requis!');
define ('INS_NOM_STRUCTURE', 'Nom de la structure');
define ('INS_MAIL_STRUCTURE', 'Adresse électronique');
define ('INS_SITE_STRUCTURE', 'Site Internet de la structure');
define ('INS_NUM_AGREMENT', 'Numéro d\'agrément FPC');
define ('INS_NOM_WIKI', 'Nom wiki') ;
define ('INS_DEJA_INSCRIT', 'D&eacute;j&agrave;  inscrit, identifiez-vous pour acc&eacute;der &agrave;  vos renseignements et participer au site') ;
define ('INS_PAS_INSCRIT', 'Pas encore inscrit, enregistrez-vous!');
define ('INS_ERREUR_LOGIN', 'Utilisateur inconnu ou mot de passe erronn&eacute;') ;
define ('INS_SI_PASSE_PERDU', 'Recevez un nouveau mot de passe par courriel') ; ;
define ('INS_ENVOIE_PASSE', 'Envoi du mot de passe par courriel') ;
define ('INS_LAIUS_INSCRIPTION', 'Pas encore inscrit ? Inscris-toi !') ;
define ('INS_LAIUS_INSCRIPTION_2', '<img src="http://ekotribu.org/images/Pers-participants.gif" alt="image participants" style="float:left;" /><strong>L\'inscription est rapide, libre et gratuite</strong>, elle vous permet de :<br /><ul>
<li> consulter l\'annuaire des participants inscrits &agrave; l\'Ekotribu et pouvoir leur proposer d\'&eacute;changer des informations</li>
<li> acc&eacute;der aux informations diffus&eacute;es sur le site</li>
<li> inscrire votre projet au dispositif d\'&eacute;change et cr&eacute;er "votre espace projet"</li>
<li> r&eacute;diger des annonces d\'actualit&eacute;s, des br&egrave;ves et des &eacute;venements</li>
<li> mettre des fiches ressources en ligne</li>
<li> participer au forum</li>
<li> recevoir un bulletin &eacute;lectronique d\'informations.<br />
A la suite de l\'inscription, vous recevrez un message de confirmation de votre inscription sur votre adresse de messagerie internet.</li></ul>') ;
define ('INS_ERREUR_SAISIE', 'Erreur de saisie') ;
define ('INS_VEUILLEZ_CORRIGER', 'Veuillez corriger.') ;
 
//============= L'envoie du mot de passe perdu par mail =============================
define ('INS_NOUVEAU_MOT_DE_PASSE', 'Votre nouveau mot de passe sur le dispositif d\'&eacute;changes') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_2', 'Votre nouveau mot de passe : ') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_LAIUS', "\n\n".'Ce mot de passe vous permet de modifier les informations '.
'vous concernant sur le dispositif d\'&eacute;changes:'."\n".
'http://echanges.ecole-et-nature.org/'."\n\n".
'Identifiez-vous sur ce site, puis vous pourrez changer votre mot de passe en cliquant sur "Modifier votre inscription".') ;
define ('INS_MOT_DE_PASSE_ENVOYE_1', 'Votre nouveau mot de passe a &eacute;t&eacute; '.
'envoy&eacute; &agrave; l\'adresse') ;
define ('INS_MOT_DE_PASSE_ENVOYE_2', 'Relevez votre messagerie, notez votre nouveau mot de passe et identifiez vous à '.
'nouveau en allant à l\'inscription. N\'h&eacute;sitez pas à changer ce mot de passe '.
'pour en mettre un plus simple, plus facile &agrave; retenir.' );
//============= L'envoie d'un mail de confirmation ===================================
// Ne pas utiliser d'entités HTML
define ('INS_ENTETE_INSCRIPTION','Inscription sur le site');
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.ecole-et-nature.org ou \nhttp://www.educ-envir.org\n'.
'rubrique S\'inscrire (le signe + sur le bandeau du haut).\n\n'.
'L\'équipe du réseau Ecole et Nature.') ;
define ('INS_MESSAGE_EXPIRATION','Le temps imparti à votre inscription s\'est écoulé...<br />'.
'Merci de bien vouloir vous réinscrire, en répondant rapidement au mail de confirmation.<br /><br />'.
'En vous remerciant de votre compréhension, à tout de suite!');
define ('INS_MESSAGE_VALIDER_INSCRIPTION','Validation de votre inscription sur le réseau :'.'\n'.
'Merci de vous être inscrit(e), soyez bienvenu(e)!'.'\n'.
'Veuillez cliquer sur le lien ci-dessous pour finaliser votre inscription:'.'\n');
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 Vivreurope ') ;
// Envoir d'un mail à la coordination
define ('INS_MAIL_COORD_SUJET', 'Un nouvel inscrit au réseau ') ;
define ('INS_MAIL_COORD_CORPS', 'Une nouvelle inscription a été effectuée sur le site.') ;
define ('INS_CHAMPS_REQUIS', 'Champs requis') ;
 
define ('INS_MESSAGE_INSCRIPTION', 'Votre inscription a été prise en compte, relevez votre messagerie et cliquer sur le lien proposé pour terminer votre inscription.') ;
 
// CARTO
define ('INS_DATE_INS', 'Date d\'inscription') ;
define ('INS_CHECK_UNCHECK', 'Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout') ;
define ('INS_ENVOYER_MAIL', 'Envoyer un email') ;
define ('INS_SUJET', 'Sujet') ;
define ('INS_MESSAGE', 'Message') ;
define ('INS_ENVOYER', 'Envoyer') ;
define ('INS_LABEL_PROJET', 'en tant que membre du réseau');
define ('INS_COULEUR', 'La couleur est proportionnelle au nombre d\'inscrits.') ;
define ('INS_MONDE', 'Monde') ;
define ('INS_ECHELLE', 'Echelle : ') ;
define ('INS_CLIQUER_ACCEDER', 'Cliquer sur la carte pour zoomer ou acc&eacute;der aux informations&nbsp;&nbsp;') ;
define ('INS_VISUALISER_ZONE', 'Mettre en rouge la zone...');
define ('INS_MESSAGE_ENVOYE', '<br /><br />Votre message a &eacute;t&eacute; envoy&eacute;') ;
define ('INS_MESSAGE_ENVOYE_A', 'Ce message a été envoyé à') ; // pas d'entités HTML, c'est pour un mail
define ('INS_AUCUN_INSCRIT', 'aucun inscrit') ;
define ('INS_INSCRIT', 'inscrit') ;
define ('INS_TEXTE_FIN_MAIL', '\n'.'---------------------------------------------------------------------------'.'\n'.
'Ce message vous est envoyé par l\'intermédiaire des sites Internet'.'\n'.
'du réseau '.'\n'.
'auquel vous êtes inscrit. D\'autres inscrits peuvent avoir reçu ce message.'.'\n'.
'Ne répondez que si vous êtes concerné, ou si vous avez des informations'.'\n'.
'utiles à transmettre au demandeur.'.'\n'.
'----------------------------------------------------------------------------') ;
define ('INS_NO_DESTINATAIRE', '<br /><br />Veuillez cocher au moins un destinataire pour votre mail<br />');
define ('INS_VOUS_DEVEZ_ETRE_INSCRIT', 'Vous devez être inscrit pour pouvoir envoyer des messages électronique aux personnes ou structure de l\'annuaire.<br />Identifiez-vous ou inscrivez-vous sur la page <a href="http://educ-envir.org/papyrus.php?site=1&menu=29">Inscription</a> du site.');
define ('INS_SURVEILLANCE_ENVOI_MAIL', 'Surveillance envois de mails: ');
define ('INS_ENREGISTRER_ET_QUITTER', 'Enregistrer et quitter');
define ('INS_TABLE', 'Nom de la table dans la base SQL contenant des informations à cartographier');
define ('INS_TABLE_SUPPLEMENTAIRE', 'Nom de la table additionnelle contenant des informations à cartographier');
define ('INS_NOM_CHAMPS_PAYS', 'Nom du champs représentant le pays');
define ('INS_NOM_CHAMPS_CP', 'Nom du champs représentant le code postal');
define ('INS_REQUETE_SQL_SUPPLEMENTAIRE', 'Complément de requète SQL (conditions supplémentaires pour le WHERE)');
define ('INS_PAS_NECESSAIRE', 'Pas nécéssaire');
<?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: bottin.langue_fr.inc.php,v 1.19 2007-04-11 08:30:12 neiluj Exp $
/**
* Fichier de traduction en français de l'application ins_annuaire
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.19 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
if (file_exists (INS_CHEMIN_APPLI.'langues/bottin_langue_'.INS_LANGUE_DEFAUT.'.local.php')) {
include_once INS_CHEMIN_APPLI.'langues/bottin_langue_'.INS_LANGUE_DEFAUT.'.local.php' ;
}
define ('INS_TITRE_INSCRIPTION', 'Inscription au r&eacute;seau');
define ('INS_INSCRIPTION_PERSONNE','S\'inscrire en tant que personne');
define ('INS_INSCRIPTION_STRUCTURE', 'S\'inscrire en tant que structure');
define ('INS_AJOUT_MEMBRE', 'Ajout d\'un nouveau membre') ;
define ('INS_NOM', 'Nom') ;
define ('INS_NOM_REQUIS', 'Veuillez indiquer votre nom.') ;
define ('INS_PRENOM', 'Prénom') ; // Pas d'entite, car sert dans le corps d un mail
define ('INS_PRENOM_REQUIS', 'Veuillez indiquer votre prénom.') ;
define ('INS_PAYS', 'Pays') ;
define ('INS_LANGUES_PARLES', 'Langues parl&eacute;s') ;
define ('INS_EMAIL', 'Adresse mail') ;
define ('INS_MOT_DE_PASSE', 'Mot de passe') ;
define ('INS_REPETE_MOT_DE_PASSE', 'R&eacute;p&eacute;ter le mot de passe') ;
define ('INS_ADRESSE_1', 'Adresse') ;
define ('INS_ADRESSE_2', 'Adresse (suite)') ;
define ('INS_REGION', 'R&eacute;gion / province') ;
define ('INS_CODE_POSTAL', 'Code postal') ;
define ('INS_CODE_POSTAL_REQUIS', 'Veuillez indiquer votre code postal.') ;
define ('INS_VILLE', 'Ville') ;
define ('INS_VILLE_REQUIS', 'Veuillez indiquer votre ville.') ;
define ('INS_SITE_INTERNET', 'Site internet') ;
define ('INS_LETTRE', 'Je souhaite recevoir la lettre d\'actualité') ;
define ('INS_MOT_DE_PASSE_CHANGE', 'Changement de mot de passe') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_ENVOYE', 'Votre mot de passe a &eacute;t&eacute; chang&eacute;, consultez votre messagerie.') ;
define ('INS_MAIL_INCONNU_DANS_ANNUAIRE', 'L\'adresse mail saisie n\'est pas pr&eacute;sente dans notre annuaire, v&eacute;rifiez la saisie de cette adresse') ;
define ('INS_VOUS_RECEVEZ_LETTRE','Vous &ecirc;tes abonn&eacute;(e) &agrave; la cyberlettre');
define ('INS_VOUS_RECEVEZ_PAS_LETTRE','Vous n\'&ecirc;tes pas abonn&eacute;(e) &agrave; la cyberlettre');
define ('INS_VOUS_APPARAISSEZ','Vous apparaissez sur la cartographie et dans l\'annuaire du site');
define ('INS_VOUS_APPARAISSEZ_PAS','Vous n\'apparaissez par sur la cartographie, ni dans l\'annuaire du site');
define ('INS_ADHERENT', 'Vous &ecirc;tes adh&eacute;rents de personnes morales (associations, institutions, entreprise... )') ;
define ('INS_ORGANISME', 'Organisme') ;
define ('INS_FONCTION', 'Fonction') ;
define ('INS_TELEPHONE', 'Téléphone');
define ('INS_FAX','Fax');
define ('INS_LOGO_OU_IMAGE', 'Ins&eacute;rer une image ou un logo (.jpg, .png ou .gif, 150Ko max.)');
define ('INS_ANNULER', 'Annuler') ;
define ('INS_RETABLIR', 'Rétablir') ;
define ('INS_VALIDER', 'Valider') ;
define ('INS_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont diff&eacute;rents !') ;
define ('INS_EMAIL_REQUIS', 'Vous devez saisir une adresse électronique.') ;
define ('INS_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ;
define ('INS_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ;
define ('INS_MAIL_DOUBLE', 'Cet email est d&eacute;j&agrave utilis&eacute; par quelqu\'un d\'autre') ;
define ('INS_NOTE_REQUIS', 'Indique les champs requis') ;
define ('INS_ACCUEIL_INSCRIPTION', 'Inscription au réseau') ;
define ('INS_MODIFIER_INSCRIPTION', 'Modifier votre inscription') ;
define ('INS_SUPPRIMER_INSCRIPTION', 'Supprimer votre inscription') ;
define ('INS_MESSAGE_BIENVENU', 'Vous &ecirc;tes inscrit') ;
define ('INS_FICHE_PERSONNELLE', 'Fiche personnelle') ;
define ('INS_FICHE_STRUCTURE','Fiche de la structure');
define ('INS_DECONNEXION', 'D&eacute;connexion') ;
define ('INS_INSCRIPTION', 'Inscription') ;
define ('INS_TEXTE_PERDU', 'Mot de passe perdu? Indiquez seulement votre adresse email et cliquez sur \'Valider\'') ;
define ('INS_SIGLE_DE_LA_STRUCTURE', 'Sigle de la structure');
define ('INS_SIGLE_STRUCTURE', 'Sigle de la structure <br />(s\'il n\'existe pas, mettre <br />le nom de la structure)');
define ('INS_VISIBLE', 'Je souhaite apparaitre sur la cartographie et sur l\'annuaire du site');
define ('INS_SIGLE_REQUIS', 'Sigle de la structure requis!');
define ('INS_NOM_STRUCTURE', 'Nom de la structure');
define ('INS_MAIL_STRUCTURE', 'Adresse électronique');
define ('INS_SITE_STRUCTURE', 'Site Internet de la structure');
define ('INS_NUM_AGREMENT', 'Numéro d\'agrément FPC');
define ('INS_NOM_WIKI', 'Nom wiki') ;
define ('INS_NOM_WIKI_REQUIS', 'Nom wiki requis') ;
define ('INS_DEJA_INSCRIT', 'D&eacute;j&agrave;  inscrit, identifiez-vous pour acc&eacute;der &agrave;  votre fiche personnelle :') ;
define ('INS_PAS_INSCRIT', 'Pas encore inscrit, enregistrez-vous!');
define ('INS_ERREUR_LOGIN', 'Utilisateur inconnu ou mot de passe erronn&eacute;') ;
define ('INS_SI_PASSE_PERDU', 'Recevez un nouveau mot de passe par courriel') ; ;
define ('INS_ENVOIE_PASSE', 'Envoi du mot de passe par courriel') ;
define ('INS_LAIUS_INSCRIPTION', 'Pas encore inscrit, inscrivez-vous !') ;
define ('INS_LAIUS_INSCRIPTION_2', '<strong>L\'inscription est libre et gratuite</strong>, elle vous permet de :<br /><ul>
<li> consulter l\'annuaire des personnes inscrites au R&eacute;seau et pouvoir ainsi &eacute;changer des informations</li>
<li> acc&eacute;der &agrave;  certaines informations diffus&eacute;es sur le site</li>
<li> vous inscrire &agrave;  des projets</li>
<li> r&eacute;diger des annonces d\'actualit&eacute;, d\'&eacute;v&eacute;nements, de s&eacute;jours et rencontres</li>
<li> r&eacute;diger des fiches ressources</li>
<li> recevoir un bulletin &eacute;lectronique d\'informations.</li></ul>') ;
define ('INS_ERREUR_SAISIE', 'Erreur de saisie') ;
define ('INS_VEUILLEZ_CORRIGER', 'Veuillez corriger.') ;
define ('INS_CARTOGRAPHIE','Cartographie');
define ('INS_CONFIG_MENU','Configuration de la cartographie du menu');
define ('INS_TITRE_CARTO','Titre &agrave; afficher dans le site pour cette cartographie');
define ('INS_FAUT_CONFIGURER_CARTO','Vous ne pouvez pas acc&eacute;der &agrave; cette cartographie car elle n\'a pas encore &eacute;t&eacute; configur&eacute;e.');
 
//============= L'envoie du mot de passe perdu par mail =============================
define ('INS_NOUVEAU_MOT_DE_PASSE', 'Votre nouveau mot de passe sur Educ-Envir.org et Ecole-et-Nature.org') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_2', 'Votre nouveau mot de passe : ') ;
define ('INS_NOUVEAU_MOT_DE_PASSE_LAIUS', "\n\n".'Ce mot de passe vous permet de modifier les informations '.
'vous concernant dans les sites du réseau Ecole et Nature:'."\n".
'http://www.educ-envir.org/'."\n".'http://www.ecole-et-nature.org/'."\n\n".
'Identifiez-vous sur l\'un de ces sites, puis vous pourrez changer votre mot de passe en cliquant sur "Modifier votre inscription".') ;
define ('INS_MOT_DE_PASSE_ENVOYE_1', 'Votre nouveau mot de passe a &eacute;t&eacute; '.
'envoy&eacute; &agrave; l\'adresse') ;
define ('INS_MOT_DE_PASSE_ENVOYE_2', 'Relevez votre messagerie, notez votre nouveau mot de passe et identifiez vous à '.
'nouveau en allant à l\'inscription. N\'h&eacute;sitez pas à changer ce mot de passe '.
'pour en mettre un plus simple, plus facile &agrave; retenir.' );
//============= L'envoie d'un mail de confirmation ===================================
// Ne pas utiliser d'entités HTML
define ('INS_ENTETE_INSCRIPTION','Inscription sur le site');
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.ecole-et-nature.org ou \nhttp://www.educ-envir.org\n'.
'rubrique S\'inscrire (le signe + sur le bandeau du haut).\n\n'.
'L\'équipe du réseau Ecole et Nature.') ;
define ('INS_MESSAGE_EXPIRATION','Le temps imparti à votre inscription s\'est écoulé...<br />'.
'Merci de bien vouloir vous réinscrire, en répondant rapidement au mail de confirmation.<br /><br />'.
'En vous remerciant de votre compréhension, à tout de suite!');
define ('INS_MESSAGE_VALIDER_INSCRIPTION','Validation de votre inscription sur le réseau :'.'\n'.
'Merci de vous être inscrit(e), soyez bienvenu(e)!'.'\n'.
'Veuillez cliquer sur le lien ci-dessous pour finaliser votre inscription:'.'\n');
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 Vivreurope ') ;
// Envoir d'un mail à la coordination
define ('INS_MAIL_COORD_SUJET', 'Un nouvel inscrit au réseau ') ;
define ('INS_MAIL_COORD_CORPS', 'Une nouvelle inscription a été effectuée sur le site.') ;
define ('INS_CHAMPS_REQUIS', 'Champs requis') ;
 
define ('INS_MESSAGE_INSCRIPTION', 'Votre inscription a été prise en compte, relevez votre messagerie et cliquer sur le lien proposé pour terminer votre inscription.') ;
 
// CARTO
define ('INS_DATE_INS', 'Date d\'inscription') ;
define ('INS_CHECK_UNCHECK', 'Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout') ;
define ('INS_ENVOYER_MAIL', 'Envoyer un email') ;
define ('INS_SUJET', 'Sujet') ;
define ('INS_MESSAGE', 'Message') ;
define ('INS_ENVOYER', 'Envoyer') ;
define ('INS_LABEL_PROJET', 'en tant que membre du réseau');
define ('INS_COULEUR', 'La couleur est proportionnelle au nombre de fiches.') ;
define ('INS_MONDE', 'Monde') ;
define ('INS_ECHELLE', 'Echelle : ') ;
define ('INS_CLIQUER_ACCEDER', 'Cliquer sur la carte pour zoomer ou acc&eacute;der aux informations&nbsp;&nbsp;') ;
define ('INS_VISUALISER_ZONE', 'Mettre en rouge la zone...');
define ('INS_MESSAGE_ENVOYE', '<br /><br />Votre message a &eacute;t&eacute; envoy&eacute;') ;
define ('INS_MESSAGE_ENVOYE_A', 'Ce message a été envoyé à') ; // pas d'entités HTML, c'est pour un mail
define ('INS_PIED_MESSAGE', '') ;
define ('INS_MAIL_ENVOYE', 'Le mail a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s');
define ('INS_AUCUN_INSCRIT', 'aucun inscrit') ;
define ('INS_INSCRIT', 'inscrit') ;
define ('INS_TEXTE_FIN_MAIL', "\n".'---------------------------------------------------------------------------'."\n".
'Ce message vous est envoyé par l\'intermédiaire des sites Internet'."\n".
'du réseau '."\n".
'auquel vous êtes inscrit. D\'autres inscrits peuvent avoir reçu ce message.'."\n".
'Ne répondez que si vous êtes concerné, ou si vous avez des informations'."\n".
'utiles à transmettre au demandeur.'."\n".
'----------------------------------------------------------------------------') ;
define ('INS_NO_DESTINATAIRE', '<br /><br />Veuillez cocher au moins un destinataire pour votre mail<br />');
define ('INS_VOUS_DEVEZ_ETRE_INSCRIT', 'Vous devez être inscrit pour pouvoir accèder aux informations.<br />Identifiez-vous ou inscrivez-vous sur la page <a href="/Inscription">inscription</a> du site.');
define ('INS_SURVEILLANCE_ENVOI_MAIL', 'Surveillance envois de mails: ');
define ('INS_ENREGISTRER_ET_QUITTER', 'Enregistrer et quitter');
define ('INS_TABLE', 'Nom de la table dans la base SQL contenant des informations à cartographier');
define ('INS_TABLE_SUPPLEMENTAIRE', 'Nom de la table additionnelle contenant des informations à cartographier');
define ('INS_NOM_CHAMPS_PAYS', 'Nom du champs représentant le pays');
define ('INS_NOM_CHAMPS_CP', 'Nom du champs représentant le code postal');
define ('INS_REQUETE_SQL_SUPPLEMENTAIRE', 'Complément de requète SQL (conditions supplémentaires pour le WHERE)');
define ('INS_PAS_NECESSAIRE', 'Pas nécéssaire');
define ('INS_ANNUAIRE_MEMBRES','Annuaire des inscrits au site');
define ('INS_RECHERCHE_ANNUAIRE_DES_INSCRITS','Rechercher dans l\'annuaire des inscrits');
define ('INS_DIX_DERNIERES_INSCRIPTIONS','Les dix dernières inscriptions');
203,12 → 209,101
define ('INS_RESULTATS_RECHERCHE','Les r&eacute;sultats de la recherche');
define ('INS_PAS_DE_RESULTATS','Pas de r&eacute;sultats pour cette recherche, veuillez &eacute;largir vos crit&egrave;res de recherche.');
define ('INS_PAS_IDENTIFIE','Vous pouvez consulter la liste des inscrits, mais pas leur envoyer de message mail. Pour pouvoir les contacter par mail, il faudrait <a href="/Inscription">vous identifier ou vous inscrire au site</a>.');
define ('INS_CLIQUER_ELEMENT_LISTE','Cliquer sur un des &eacute;l&eacute;ments de la liste pour avoir ses informations d&eacute;taill&eacute;es.');
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
define ('INS_CLIQUER_ELEMENT_LISTE','Cliquer sur un des &eacute;l&eacute;ments de la liste pour avoir ses informations d&eacute;taill&eacute;es.');
define ('INS_PRESENTATION', 'Pr&eacute;sentation');
define ('INS_ABONNEMENTS', 'Mes abonnements');
define ('INS_GESTION_DES_ABONNEMENTS', 'Gestion de mes abonnements');
define ('INS_ACTUALITES', 'Actualit&eacute;s');
define ('INS_ACTUALITES_DEPOSEES', 'Actualit&eacute;s d&eacute;pos&eacute;es');
define ('INS_RESSOURCES', 'Ressources');
define ('INS_RESSOURCES_ASSOCIEES','Ressources associ&eacute;es');
define ('INS_COMPETENCES', 'Comp&eacute;tences');
define ('INS_COMPETENCES_ASSOCIEES','Comp&eacute;tences associ&eacute;es');
define ('INS_RETOUR_A_LA_CARTE','Retour &agrave; la carte : ');
 
//annuaire backoffice
define ('INS_CONFIG_ANNUAIRE_BACKOFFICE','Configuration de la gestion de l\'annuaire');
define ('INS_TYPE_ANNUAIRE','Type d\'annuaire &agrave; configurer');
define ('INS_ANNUAIRE_BOTTIN','Annuaire du bottin');
define ('INS_ANNUAIRE_ADMIN_PAPYRUS','Annuaire des administrateurs Papyrus');
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") ;
 
//define ('ANN_PAS_D_INSCRITS', 'Pas d\'inscrits commençant par cette lettre dans l\'annuaire.');
//define ("ANN_LANGUES_PARLES", "Langues parl&eacute;s :") ;
//define ("ANN_EMAIL", "Courriel :") ;
//define ("ANN_MOT_DE_PASSE", "Mot de passe :") ;
//define ("ANN_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe :") ;
//define ("ANN_RETABLIR", "Rétablir") ;
//define ("ANN_VALIDER", "Valider") ;
//define ("ANN_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit au Réseau") ;
//define ("ANN_CLIQUEZ_LETTRE", 'Cliquez sur une lettre pour voir les membres du réseau.') ;
//define ("ANN_LISTE_INSCRIT_LETTRE", "Liste des inscrits &agrave; la lettre") ;
//define ("ANN_TITRE", 'Annuaire du réseau') ;
//define ("ANN_CHECK_UNCHECK", "Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout") ;
//define ("ANN_ENVOYER_MAIL", "Envoyer un message aux personnes cochées") ;
//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_DATE','Date d\'inscription');
//// ========================= 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_PIED_MESSAGE", "\n---------------------------------------------------------------------------".
// "\nCe message vous est envoyé par l'intermédiaire du site Internet".
// "\n(http://www.domaine.org) du réseau , ".
// "\nauquel vous êtes inscrit. ".
// "\nNe répondez pas à ce message." ) ;
//
//define ('ANN_LOGUEZ_VOUS', 'Vous devez être inscrit au réseau pour accéder à l\'annuaire');
//
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.15 2006/12/01 13:23:16 florian
* integration annuaire backoffice
*
* $Log: not supported by cvs2svn $
* Revision 1.14 2006/10/05 13:53:54 florian
* amélioration des fichiers sql
*
* Revision 1.13 2006/09/13 12:31:18 florian
* ménage: fichier de config Papyrus, fichiers temporaires
*
* Revision 1.12 2006/07/17 10:01:08 alexandre_tb
* correction du chemin vers le fichier de traduction local
*
* Revision 1.11 2006/07/04 09:36:16 alexandre_tb
* modification d'un label
*
* Revision 1.10 2006/04/11 08:39:19 alexandre_tb
* modification d'un label
*
* Revision 1.9 2006/04/10 14:01:36 florian
* uniformisation de l'appli bottin: plus qu'un fichier de fonctions
*
* Revision 1.8 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.7 2006/02/28 16:26:40 alexandre_tb
* changement d'une entité
*
* Revision 1.6 2006/02/28 14:07:23 alexandre_tb
* changement de la constante de langue
*
* Revision 1.5 2005/12/19 11:13:29 alexandre_tb
* Ajout de l'appel vers bottin_langue_fr.local.php
*
232,7 → 327,7
*
* Revision 1.1 2005/09/28 13:19:08 alexandre_tb
* version initiale
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/bottin/langues/annuaire.langue.fr.inc.php
19,7 → 19,7
// | 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.langue.fr.inc.php,v 1.4 2007-04-06 08:35:46 neiluj Exp $
// CVS : $Id: annuaire.langue.fr.inc.php,v 1.5 2007-04-11 08:30:12 neiluj Exp $
/**
* Fichier de traduction en français de l'application inscription
*
31,48 → 31,15
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $ $Date: 2007-04-06 08:35:46 $
*@version $Revision: 1.5 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("ANN_NOM", "Nom") ;
define ("ANN_PRENOM", "Pr&eacute;nom") ;
define ("ANN_VILLE", "Ville") ;
define ("ANN_PAYS", "Pays") ;
define ('ANN_PAS_D_INSCRITS', 'Pas d\'inscrits commençant par cette lettre dans l\'annuaire.');
define ("ANN_LANGUES_PARLES", "Langues parl&eacute;s :") ;
define ("ANN_EMAIL", "Courriel :") ;
define ("ANN_MOT_DE_PASSE", "Mot de passe :") ;
define ("ANN_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe :") ;
define ("ANN_RETABLIR", "Rétablir") ;
define ("ANN_VALIDER", "Valider") ;
define ("ANN_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit au Réseau") ;
define ("ANN_CLIQUEZ_LETTRE", 'Cliquez sur une lettre pour voir les membres du réseau.') ;
define ("ANN_LISTE_INSCRIT_LETTRE", "Liste des inscrits &agrave; la lettre") ;
define ("ANN_TITRE", 'Annuaire du réseau') ;
define ("ANN_CHECK_UNCHECK", "Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout") ;
define ("ANN_ENVOYER_MAIL", "Envoyer un message aux personnes cochées") ;
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_DATE','Date d\'inscription');
// ========================= 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_PIED_MESSAGE", "\n---------------------------------------------------------------------------".
"\nCe message vous est envoyé par l'intermédiaire du site Internet".
"\n(http://www.domaine.org) du réseau , ".
"\nauquel vous êtes inscrit. ".
"\nNe répondez pas à ce message." ) ;
define ('ANN_LOGUEZ_VOUS', 'Vous devez être inscrit au réseau pour accéder à l\'annuaire');
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.3 2006/04/04 12:23:05 florian
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
*
* Revision 1.2 2005/10/03 09:37:56 alexandre_tb
* ajout d'un label
*
/trunk/client/integrateur_wikini/bibliotheque/wikini/images/Bandeau-wiki.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/integrateur_wikini/bibliotheque/wikini/images/Logo-wiki.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php
21,7 → 21,7
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adwi_wikini.fonct.php,v 1.11 2007-04-06 08:40:13 neiluj Exp $
// CVS : $Id: adwi_wikini.fonct.php,v 1.12 2007-04-11 08:30:12 neiluj Exp $
/**
* Contient les fonctions de l'application gestion des Wikini
*
35,7 → 35,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.11 $
*@version $Revision: 1.12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
77,10 → 77,9
require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
// création de l'objet pear ftp
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Impossible de se connecter par FTP !");
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
// création de la connexion
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Impossible de se connecter par FTP !");
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
// identification
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
140,6 → 139,7
return ;
}
 
 
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
$resultat->free();
unset ($requete, $resultat);
175,52 → 175,6
return $tableau_retour ;
}
 
// merci PHP 5 ...
function mb_str_split($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_accents( $string )
{
$string = htmlentities($string);
return preg_replace("/&([a-z])[a-z]+;/i","$1",$string);
}
 
function genere_nom_wiki($nom, $spaces = FALSE)
{
// traitement des accents
$nom = remove_accents($nom);
$temp = mb_str_split($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);
}
 
/**
*
* C du CRUD
228,12 → 182,7
*/
 
 
function insertion ($valeur, &$db) {
// --julien pour noms wiki
$valeur['code_alpha_wikini'] = genere_nom_wiki($valeur['code_alpha_wikini'], TRUE);
 
function insertion ($valeur, &$db) {
// Calcul dernier identifiant
$id_wikini_bdd = SQL_obtenirNouveauId ($db, 'gen_wikini', 'gewi_id_wikini') ;
$requete = "insert into gen_wikini set gewi_id_wikini ="
249,9 → 198,9
require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
 
// création de l'objet pear ftp
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Connexion FTP Impossible !");
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
// création de la connexion
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Connexion FTP Impossible !");
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
// identification
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
260,16 → 209,16
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
// 'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
'Ligne n° : '. __LINE__ .'<br />'.
'Fichier n° : '. __FILE__ .'<br /><p>';
print $message;
}
$objet_pear_ftp->mkdir(PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI) ;
$objet_pear_ftp->mkdir(PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini']) ;
$chemin_wikini_bibliotheque = ADWI_CHEMIN_BIBLIOTHEQUE_WIKINI;
$chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).GEN_SEP;
$chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
// Overwrite = fale (3eme parametre)
$resultat = $objet_pear_ftp->putRecursive($chemin_wikini_bibliotheque, $chemin_wikini, false, FTP_BINARY);
301,7 → 250,7
if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur']))) {
$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
}
$g_wikini->creation_tables($valeur['table_prefix'], $valeur['page']);
$g_wikini->creation_tables($valeur['table_prefix']);
// Creation Wakka.config.php
322,8 → 271,8
'mysql_user' => $config_wikini['bdd_utilisateur'],
'mysql_password' => $config_wikini['bdd_mdp'],
'table_prefix' => $config_wikini['table_prefix'],
'root_page' => $valeur['page'],
'wakka_name' => str_replace("_", " ", $valeur['code_alpha_wikini']),
'root_page' => $config_wikini['page'],
'wakka_name' => $config_wikini['code_alpha_wikini'],
'base_url' => $config_base_url,
'rewrite_mode' => '0',
'meta_keywords' => '',
359,7 → 308,7
 
 
$fichier_config_source = $tempfn;
$fichier_config_cible = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).GEN_SEP."wakka.config.php";
$fichier_config_cible = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP."wakka.config.php";
$resultat = $objet_pear_ftp->put($fichier_config_source, $fichier_config_cible, false, FTP_BINARY);
403,7 → 352,7
*/
 
function requete_wikini (&$valeur) {
return 'gewi_code_alpha_wikini ="'.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).'", '
return 'gewi_code_alpha_wikini ="'.$valeur['code_alpha_wikini'].'", '
.'gewi_bdd_hote ="'.$valeur['bdd_hote'].'", '
.'gewi_bdd_nom="'.$valeur['bdd_nom'].'", '
.'gewi_bdd_utilisateur ="'.$valeur['bdd_utilisateur'].'", '
469,6 → 418,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.10 2006/10/05 08:56:12 florian
* maj table sql
*
* Revision 1.9 2006/09/21 14:18:06 florian
* changement du wiki de base (ajout du gestionnaire d'extension), amélioration de l'intégrateur wiki
*
/trunk/client/integrateur_wikini/bibliotheque/gestion_wikini.class.php
19,7 → 19,7
// | 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: gestion_wikini.class.php,v 1.6 2007-04-06 08:40:13 neiluj Exp $
// CVS : $Id: gestion_wikini.class.php,v 1.7 2007-04-11 08:30:12 neiluj Exp $
/**
* Application projet
*
31,7 → 31,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.6 $
*@version $Revision: 1.7 $
// +------------------------------------------------------------------------------------------------------+
*/
 
75,11 → 75,11
* @return void
* @access public
*/
function creation_tables( $prefixe, $root_page = 'PagePrincipale' )
function creation_tables( $prefixe )
{
// Connection à la base de donné de wikini
$prefixe .= '_' ;
$q=$this->_db->query(
$this->_db->query(
"CREATE TABLE `".$prefixe."pages` (".
"id int(10) unsigned NOT NULL auto_increment,".
"tag varchar(50) NOT NULL default '',".
98,7 → 98,6
"KEY idx_latest (latest),".
"KEY idx_comment_on (comment_on)".
") TYPE=MyISAM;");
$this->_db->query(
"CREATE TABLE `".$prefixe."acls` (".
"page_tag varchar(50) NOT NULL default '',".
114,7 → 113,6
"KEY idx_from (from_tag),".
"KEY idx_to (to_tag)".
") TYPE=MyISAM");
$this->_db->query(
"CREATE TABLE `".$prefixe."referrers` (".
"page_tag char(50) NOT NULL default '',".
138,7 → 136,8
"KEY idx_name (name),".
"KEY idx_signuptime (signuptime)".
") TYPE=MyISAM");
$this->_db->query("INSERT INTO `".$prefixe."pages` (`id`, `tag`, `time`, `body`, `body_r`, `owner`, `user`, `latest`, `handler`, `comment_on`) VALUES (56, 'PageMemo', '2006-09-21 10:38:12', '[[AideWikiNi Retour]]\n\n======Màmo d''utilisation du site Internet Wikini======\n\n=====Prçambule, en règle général :=====\n\n - N''oubliez pas de vous **identifier** pour avoir accès à toutes les pages qui vous concernent.\n\n - Veillez à ne pas effacer le contenu d''une page mis en ligne précédemment. \nEn mode \" édition \" une page n''est pas forcément très lisible, **prenez le temps de vous habituer à la syntaxe, à trouver où vous voulez écrire.**\n\n=====Ecrire sur une page, enregistrer ses modifications ou faire un aperçu de la page :=====\n\n - Pour écrire sur une page, il vous suffit de **double cliquer sur la zone d''écriture** ou de cliquer en bas de la page sur le lien : **\" Editer cette page \"**\nAttention, lorsque vous avez terminé décrire, n''oubliez pas de **sauvegarder vos modifications** en bas de la page en cliquant sur le bouton **Aperçu** puis sur **Sauver**\n\n=====Pour Mettre en page :=====\n\n - Pour mettre en page vos textes vous pouvez **utiliser la barre d''outil** située en haut de la page quand vous êtes en mode édition.\n\n - Sinon, vous pouvez utiliser des codes prié configuràs à partir de **symboles de syntaxe.**\nDans tous les cas il faudra utiliser deux symboles juste avant la première lettre à mettre en page et deux autres juste après la dernière lettre à mettre en page.\nPar exemple, si vous tapez : \"\"**Le COCM est une association régie sous la loi 1901**\"\"\nA l''écran le texte apparaîtra ainsi : **Le COCM est une **association** régie sous la loi 1901**\n\n - **Guide des règles de formatage**\n__Règles de base :__\n\n- \"\"##texte à espacement fixe## --->\"\" ##texte à espacement fixe##\n\n- Mettre en gras : \"\"**Texte en gras !** --->\"\" Texte en gras !\n\n- Souligner : \"\"Texte __souligné__ ! --->\"\" __Texte souligné !__ (2 fois le symbole du tiret bas, touche 8 du clavier)\n\n- Barrer un texte : \"\"@@Texte barré@@ ! --->\"\" @@Texte barré !@@ (deux arobaz)\n\n- Mettre en Italique : \"\"//Texte en italique.// --->\"\" //Texte en italique.// (deux slash)\n\n- \"\"======Grand titre (T1):======(6 signes \" égal \") -->\"\" ======Grand titre (T1):======\n\n- \"\"=====Grand titre (T2) :===== -->\"\" =====Grand titre (T2) :===== (5 signes \" égal \")\n\n- \"\"====Grand titre (T3) :==== -->\"\" ====Grand titre (T3) :==== (4 signes \" égal \")\n\n- Séparateur horizontal : il suffit de taper au moins 4 \"-\", au dela de 4 tirets c''est le meme effet : \"\"----\"\" (4 tiret, touche 6 du clavier)\nExemple : ----\n\nRetour de ligne forcé : \"\" ---\"\" \nExemple : \"\"le--- wikini --->\"\"le --- wikini\n\n=====Faire un lien vers un autre site ou une autre page du site :=====\n\n - **Pour faire un lien vers un autre site**, il suffit d''**écrire l''adresse du site entière** sur la page, le wikini reconnaît automatique que c''est un lien. Rappel, une adresse complète commence par [[http://]]\n\n - **Si vous souhaitez q''un autre texte apparaisse**, vous devrez écrire l''adresse du lien entre des crochets avec le texte que vous voulez. \nPar exemple : \"\"[[http://cocmathlétisme.org Visitez le site du club de Mauguio !]]\"\" le texte que le public verra sera : [[http://cocmathlétisme.org Visitez le site du club de Mauguio !]]\n\n - **Pour faire un lien d''une page du site vers une autre page du même site**, pas besoin de mettre toute l''adresse, il vous suffit d''indiquer le dernier mot du chemin (celui avec les deux majuscules) Par exemple pour faire un lien vers cette page, on utilisera seulement le mot écrit en bleu : http://www.cocmathletisme.org/wikini/wakka.php?wiki=AdministraTeurs\nVous pourrez également utiliser un autre texte grâce aux crochets comme expliqué plus haut. (rappel : \"\"[[ParametresUtilisateur Identification ]]\"\" donnera aux visiteurs : [[ParametresUtilisateur Identification ]]\n\n=====Créer une nouvelle page :=====\n\n - **Une nouvelle page se crée** en écrivant un mot qui contient 2 majuscules **CommeCeci**.\nLorsque vous sauvez vos modifications, le mot apparaît à l''écran avec une majuscule en bout de mot : **CommeCeci?** En cliquant sur le point d''interrogation, une nouvelle page blanche apparaît, en y insérant du texte et en sauvant, cette page devient active.\n\n - **Conseil** : Lorsque vous créer la page, il est préférable d''**en informer l''administrateur principal** afin qu''il puisse gérer les droits d''écriture et de lecture de la page (notamment si cette page est créée dans la rubrique des administrateurs)\n\n=====Mettre une image dans le corps d''une page :=====\n\n1) **dimensionner votre photo** de manière à ce qu''elle ne soit pas trop grande (rester sur un format 10X15 cm maxi), vérifier que votre photo ne soit pas trop lourde sinon, elle n''apparaîtra pas. Configurer par exemple **la résolution** qui, pour être sur le Web, doit être de 72 dpi.\n\n2) Quant vous êtes en train de modifier la page, il faut utiliser la barre d''outil en haut de la page, sur la 2ème ligne de la barre, il y a un icône image, avant de cliquez dessus, vous allez informer les cases suivantes : **fichier, description et alignement**\n\n3) **Fichier** : indiquer un nom de fichier et surtout son **extension** (.doc,.jpg,.img ,.gif....) par exemple pour le logo de cocm vous pourrez indiquer **logo.jpg**\n\n4) **Description** : ici vous décrivez la photo par exemple : Le logo du cocm\n\n5) **Alignement** : indiquer si vous souhaitez que l''image soit centrée, à gauche ou à droite de l''écran.\n\n6) **Cliquez enfin sur le bouton image** de la barre d''outil puis **sauver vos modifications**, vous verrez apparaître à côté de la description de votre ficher un point d''interrogation : le logo du cocm?\n\n7/ Cliquez sur le point d''interrogation, le site vous propose de **transférer votre image** via le formulaire d''envois de fichier cliquez sur \" parcourir \". **Pointez l''image** et cliquez sur **envoyer**.\n\n=====Mettre un fichier en téléchargement sur le site :=====\n\n - **Idem que pour mettre une image**, suivez les instructions du point 2/ à 7/\nRappel : ne vous trompez pas sur l''extension de votre fichier :\nQuelques extensions possibles : \nFichier Word : .doc\nPower point : .pps ou . ppt\nExcel : .xls\n\n**Attention, lorsque un fichier est trop lourd, le serveur vous envoie un message d''erreur. Veillez à ne pas trop surcharger le site, en effet, l''espace d''un site n''est pas extensible.**', '', '', 'ekotribu', 'Y', 'page', ''),
 
$this->_db->query("INSERT INTO `".$prefixe."pages` (`id`, `tag`, `time`, `body`, `body_r`, `owner`, `user`, `latest`, `handler`, `comment_on`) VALUES (56, 'PageMemo', '2006-09-21 10:38:12', '[[AideWikiNi Retour]]\n\n======Mémo d''utilisation du site Internet Wikini======\n\n=====Préambule, en règle général :=====\n\n - N''oubliez pas de vous **identifier** pour avoir accès à toutes les pages qui vous concernent.\n\n - Veillez à ne pas effacer le contenu d''une page mis en ligne précédemment. \nEn mode \" édition \" une page n''est pas forcément très lisible, **prenez le temps de vous habituer à la syntaxe, à trouver où vous voulez écrire.**\n\n=====Ecrire sur une page, enregistrer ses modifications ou faire un aperçu de la page :=====\n\n - Pour écrire sur une page, il vous suffit de **double cliquer sur la zone d''écriture** ou de cliquer en bas de la page sur le lien : **\" Editer cette page \"**\nAttention, lorsque vous avez terminé décrire, n''oubliez pas de **sauvegarder vos modifications** en bas de la page en cliquant sur le bouton **Aperçu** puis sur **Sauver**\n\n=====Pour Mettre en page :=====\n\n - Pour mettre en page vos textes vous pouvez **utiliser la barre d''outil** située en haut de la page quand vous êtes en mode édition.\n\n - Sinon, vous pouvez utiliser des codes pré configurés à partir de **symboles de syntaxe.**\nDans tous les cas il faudra utiliser deux symboles juste avant la première lettre à mettre en page et deux autres juste après la dernière lettre à mettre en page.\nPar exemple, si vous tapez : \"\"**Le COCM est une association régie sous la loi 1901**\"\"\nA l''écran le texte apparaîtra ainsi : **Le COCM est une **association** régie sous la loi 1901**\n\n - **Guide des règles de formatage**\n__Règles de base :__\n\n- \"\"##texte à espacement fixe## --->\"\" ##texte à espacement fixe##\n\n- Mettre en gras : \"\"**Texte en gras !** --->\"\" Texte en gras !\n\n- Souligner : \"\"Texte __souligné__ ! --->\"\" __Texte souligné !__ (2 fois le symbole du tiret bas, touche 8 du clavier)\n\n- Barrer un texte : \"\"@@Texte barré@@ ! --->\"\" @@Texte barré !@@ (deux arobaz)\n\n- Mettre en Italique : \"\"//Texte en italique.// --->\"\" //Texte en italique.// (deux slash)\n\n- \"\"======Grand titre (T1):======(6 signes \" égal \") -->\"\" ======Grand titre (T1):======\n\n- \"\"=====Grand titre (T2) :===== -->\"\" =====Grand titre (T2) :===== (5 signes \" égal \")\n\n- \"\"====Grand titre (T3) :==== -->\"\" ====Grand titre (T3) :==== (4 signes \" égal \")\n\n- Séparateur horizontal : il suffit de taper au moins 4 \"-\", au dela de 4 tirets c''est le meme effet : \"\"----\"\" (4 tiret, touche 6 du clavier)\nExemple : ----\n\nRetour de ligne forcé : \"\" ---\"\" \nExemple : \"\"le--- wikini --->\"\"le --- wikini\n\n=====Faire un lien vers un autre site ou une autre page du site :=====\n\n - **Pour faire un lien vers un autre site**, il suffit d''**écrire l''adresse du site entière** sur la page, le wikini reconnaît automatique que c''est un lien. Rappel, une adresse complète commence par [[http://]]\n\n - **Si vous souhaitez q''un autre texte apparaisse**, vous devrez écrire l''adresse du lien entre des crochets avec le texte que vous voulez. \nPar exemple : \"\"[[http://cocmathlétisme.org Visitez le site du club de Mauguio !]]\"\" le texte que le public verra sera : [[http://cocmathlétisme.org Visitez le site du club de Mauguio !]]\n\n - **Pour faire un lien d''une page du site vers une autre page du même site**, pas besoin de mettre toute l''adresse, il vous suffit d''indiquer le dernier mot du chemin (celui avec les deux majuscules) Par exemple pour faire un lien vers cette page, on utilisera seulement le mot écrit en bleu : http://www.cocmathletisme.org/wikini/wakka.php?wiki=AdministraTeurs\nVous pourrez également utiliser un autre texte grâce aux crochets comme expliqué plus haut. (rappel : \"\"[[ParametresUtilisateur Identification ]]\"\" donnera aux visiteurs : [[ParametresUtilisateur Identification ]]\n\n=====Créer une nouvelle page :=====\n\n - **Une nouvelle page se crée** en écrivant un mot qui contient 2 majuscules **CommeCeci**.\nLorsque vous sauvez vos modifications, le mot apparaît à l''écran avec une majuscule en bout de mot : **CommeCeci?** En cliquant sur le point d''interrogation, une nouvelle page blanche apparaît, en y insérant du texte et en sauvant, cette page devient active.\n\n - **Conseil** : Lorsque vous créer la page, il est préférable d''**en informer l''administrateur principal** afin qu''il puisse gérer les droits d''écriture et de lecture de la page (notamment si cette page est créée dans la rubrique des administrateurs)\n\n=====Mettre une image dans le corps d''une page :=====\n\n1) **dimensionner votre photo** de manière à ce qu''elle ne soit pas trop grande (rester sur un format 10X15 cm maxi), vérifier que votre photo ne soit pas trop lourde sinon, elle n''apparaîtra pas. Configurer par exemple **la résolution** qui, pour être sur le Web, doit être de 72 dpi.\n\n2) Quant vous êtes en train de modifier la page, il faut utiliser la barre d''outil en haut de la page, sur la 2ème ligne de la barre, il y a un icône image, avant de cliquez dessus, vous allez informer les cases suivantes : **fichier, description et alignement**\n\n3) **Fichier** : indiquer un nom de fichier et surtout son **extension** (.doc,.jpg,.img ,.gif....) par exemple pour le logo de cocm vous pourrez indiquer **logo.jpg**\n\n4) **Description** : ici vous décrivez la photo par exemple : Le logo du cocm\n\n5) **Alignement** : indiquer si vous souhaitez que l''image soit centrée, à gauche ou à droite de l''écran.\n\n6) **Cliquez enfin sur le bouton image** de la barre d''outil puis **sauver vos modifications**, vous verrez apparaître à côté de la description de votre ficher un point d''interrogation : le logo du cocm?\n\n7/ Cliquez sur le point d''interrogation, le site vous propose de **transférer votre image** via le formulaire d''envois de fichier cliquez sur \" parcourir \". **Pointez l''image** et cliquez sur **envoyer**.\n\n=====Mettre un fichier en téléchargement sur le site :=====\n\n - **Idem que pour mettre une image**, suivez les instructions du point 2/ à 7/\nRappel : ne vous trompez pas sur l''extension de votre fichier :\nQuelques extensions possibles : \nFichier Word : .doc\nPower point : .pps ou . ppt\nExcel : .xls\n\n**Attention, lorsque un fichier est trop lourd, le serveur vous envoie un message d''erreur. Veillez à ne pas trop surcharger le site, en effet, l''espace d''un site n''est pas extensible.**', '', '', 'ekotribu', 'Y', 'page', ''),
(2, 'DerniersChangements', '2006-09-20 12:18:59', '** Retour : ** [[TableauDeBord Tableau de bord]]\n----\n{{RecentChanges}}', '', '', 'ekotribu', 'Y', 'page', ''),
(3, 'DerniersCommentaires', '2006-09-20 12:18:59', '** Retour : ** [[TableauDeBord Tableau de bord]]\n----\n{{RecentlyCommented}}', '', '', 'ekotribu', 'Y', 'page', ''),
(5, 'PagesACreer', '2006-09-20 12:18:59', '** Retour : ** [[TableauDeBord Tableau de bord]]\n----\n=== Liste des pages à créer : ===\n\n{{WantedPages}}', '', '', 'ekotribu', 'Y', 'page', ''),
159,11 → 158,11
(43, 'AideQuatre', '2006-09-20 17:45:30', '[[AideWikiNi Retour]]\n\n=====Comment créer un menu ou le modifier dans l''espace de mon projet ?=====\n\n\"\"\n<center>\n<OBJECT CLASSID=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"WIDTH=\"559\"HEIGHT=\"408\"\nCODEBASE=\"http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0\">\n<PARAM NAME=movie VALUE=\"tutoriel_wiki3.swf\">\n<PARAM NAME=play VALUE=true>\n<PARAM NAME=loop VALUE=false>\n<PARAM NAME=quality VALUE=low>\n<EMBED SRC=\"http://ekotribu.org/tutos/tutoriel_wiki3.swf\" WIDTH=509 HEIGHT=374 quality=low loop=false TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">\n</EMBED>\n</OBJECT>\n</center>\n\"\"', '', '', 'ekotribu', 'Y', 'page', ''),
(44, 'AideCinq', '2006-09-20 17:47:11', '[[AideWikiNi Retour]]\n\n=====Comment faire des liens vers d''autres sites ou d''autre page dans mon projet ?=====\n\n\"\"\n<center>\n<OBJECT CLASSID=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\"559\" HEIGHT=\"408\" CODEBASE=\"http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0\">\n<PARAM NAME=movie VALUE=\"tutoriel_wiki5.swf\">\n<PARAM NAME=play VALUE=true>\n<PARAM NAME=loop VALUE=false>\n<PARAM NAME=quality VALUE=low>\n<EMBED SRC=\"http://ekotribu.org/tutos/tutoriel_wiki5.swf\" WIDTH=559 HEIGHT=408 quality=low loop=false TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">\n</EMBED>\n</OBJECT>\n</center>\n\"\"', '', '', 'ekotribu', 'Y', 'page', ''),
(47, 'ParametresUtilisateur', '2006-09-20 17:52:04', '** Retour : ** [[PagePrincipale page principale]]\n----\n** Note : ** L''idéal pour la création d''un nom Wiki est d''accoler son prénom et son nom de cette façon : \"\"\"PrenomNom\"\"\". \n----\n==== Mes paramètres ====\n\n{{UserSettings}}\n\n----', '', '', 'ekotribu', 'Y', 'page', ''),
(50, 'ListeDesActionsWikini', '2006-09-20 17:58:42', 'Wikini propose par défaut les \"Actions\" suivantes.\n\n - \"\"ActionBacklinks\"\" insère la liste des pages faisant référence à la page courante\n - \"\"ActionInclude\"\" : inclusion d''une page au sein d''une autre\n - \"\"ActionListPages\"\" : liste la totalité des pages du site (paramètres possibles)\n - \"\"ActionListUsers\"\" : liste la totalité des pages du site (tri /last).\n - \"\"ActionMyChanges\"\" : donne les dernières pages modifiées par l''utilisateur courant (force son identification)\n - \"\"ActionMyPages\"\" : donne la liste des pages dont l''utilisateur courant est le propriétaire\n - \"\"ActionOrphanedPages\"\" : recherche les pages qui ne sont pas cibles de liens (pages orphelines)\n - \"\"ActionPageIndex\"\" : liste toutes les pages classées par ordre alphabétique et regroupées par lettres.\n - \"\"ActionRecentChanges\"\" : affiche la liste des pages récemment modifiées (voir DerniersChangements )\n - \"\"ActionRecentChangesRSS\"\" : automatise la diffusion pr RSS (voir la page DerniersChangementsRss ) \n - \"\"ActionRecentComments\"\" : donne la liste des pages commentées triàes par date anti-chronologique (cf. ci-dessous) \n - \"\"ActionRecentlyCommented\"\" : affiche une liste (born°e par max= ) des pages ayant été récemment commentées (voir DerniersCommentaires ).\n - \"\"ActionRedirect\"\" : redirection d''une page vers une autre\n - \"\"ActionResetPassword\"\" : rà-initialise le mot de passe de l''utilisateur (utilisé dans ParametresUtilisateur ) \n - \"\"ActionTextSearch\"\" : recherche d''une chaîne de caractères dans l''ensemble des pages de Wikini\n - \"\"ActionTrail\"\" : permet de lier des pages entres elles et de passer de l''une à l''autre avec un petit navigateur style \"précédente/suivante\"\n - \"\"ActionUserSettings\"\" : création de compte et connexion (voir ParametresUtilisateur ).\n - \"\"ActionWantedPages\"\" : liste les pages de Mot Wiki devant être écrites (voir PagesACreer ).\n.', '', '', 'ekotribu', 'Y', 'page', ''),
(50, 'ListeDesActionsWikini', '2006-09-20 17:58:42', 'Wikini propose par défaut les \"Actions\" suivantes.\n\n - \"\"ActionBacklinks\"\" insère la liste des pages faisant référence à la page courante\n - \"\"ActionInclude\"\" : inclusion d''une page au sein d''une autre\n - \"\"ActionListPages\"\" : liste la totalité des pages du site (paramètres possibles)\n - \"\"ActionListUsers\"\" : liste la totalité des pages du site (tri /last).\n - \"\"ActionMyChanges\"\" : donne les dernières pages modifiées par l''utilisateur courant (force son identification)\n - \"\"ActionMyPages\"\" : donne la liste des pages dont l''utilisateur courant est le propriétaire\n - \"\"ActionOrphanedPages\"\" : recherche les pages qui ne sont pas cibles de liens (pages orphelines)\n - \"\"ActionPageIndex\"\" : liste toutes les pages classées par ordre alphabétique et regroupées par lettres.\n - \"\"ActionRecentChanges\"\" : affiche la liste des pages récemment modifiées (voir DerniersChangements )\n - \"\"ActionRecentChangesRSS\"\" : automatise la diffusion pr RSS (voir la page DerniersChangementsRss ) \n - \"\"ActionRecentComments\"\" : donne la liste des pages commentées triées par date anti-chronologique (cf. ci-dessous) \n - \"\"ActionRecentlyCommented\"\" : affiche une liste (bornée par max= ) des pages ayant été récemment commentées (voir DerniersCommentaires ).\n - \"\"ActionRedirect\"\" : redirection d''une page vers une autre\n - \"\"ActionResetPassword\"\" : ré-initialise le mot de passe de l''utilisateur (utilisé dans ParametresUtilisateur ) \n - \"\"ActionTextSearch\"\" : recherche d''une chaîne de caractères dans l''ensemble des pages de Wikini\n - \"\"ActionTrail\"\" : permet de lier des pages entres elles et de passer de l''une à l''autre avec un petit navigateur style \"précédente/suivante\"\n - \"\"ActionUserSettings\"\" : création de compte et connexion (voir ParametresUtilisateur ).\n - \"\"ActionWantedPages\"\" : liste les pages de Mot Wiki devant être écrites (voir PagesACreer ).\n.', '', '', 'ekotribu', 'Y', 'page', ''),
(51, 'ControlerLAccesAuxPages', '2006-09-20 18:03:17', 'Chaque page possède trois niveaux de contrôle d''accès :\n - lecture de la page\n - écriture/modification de la page\n - commentaire de la page\n\nLes contrôles d''accès ne peuvent être modifiés que par le propriétaire de la page -- l''administrateur technique peut aussi manuellement modifier ces contrôles en travaillant directement sur la base de données.\nLe propriétaire d''une page voit apparaître, dans la page dont il est propriétaire, l''option \"Éditer permissions\" : cette option lui permet de modifier les contrôles d''accès.\nCes contrôles sont matérialisés par des colonnes où le propriétaire va ajouter ou supprimer des informations.\nLe propriétaire peut compléter ces colonnes par les informations suivantes, séparées par des espaces :\n - le nom d''un ou plusieurs utilisateurs : par exemple \"\"CharlesNepote\"\" ou \"\"DavidDelon\"\"\n - le caractère ***** désignant tous les utilisateurs\n - le caractère **+** désignant les utilisateurs enregistrés\n - le caractère **!** signifiant la négation : par exemple !\"\"CharlesNepote\"\" signifie que \"\"CharlesNepote\"\" **ne doit pas** avoir accès à cette page\n\n===== Droits d''accès par défaut =====\nPour toute nouvelle page créée, [[http://www.wikini.net WikiNi]] applique des droits d''accès par défaut. Ces droits d''accès sont configurables via le fichier /wakka.config.php.\nIl faut renseigner les trois variables de configuration suivantes :\n##\n \"default_write_acl\" => \"*\",\n \"default_read_acl\" => \"*\",\n \"default_comment_acl\" => \"*\",\n##\n\nPar exemple, vous pouvez souhaiter que, par défaut, seuls les utilisateurs enregistrés puisse modifier des pages. Vous utiliserez alors :\n##\n \"default_write_acl\" => \"+\",\n \"default_read_acl\" => \"*\",\n \"default_comment_acl\" => \"*\",\n##', '', '', 'ekotribu', 'Y', 'page', ''),
(59, 'AideWikiNi', '2006-09-21 10:52:50', '**=====Mode d''emploi de la rubrique \"Projet\"=====**\n\n==A partir de petites animations, tu vas découvrir comment utiliser ton espace projet. Clique sur la question qui se rapproche de celle que tu te poses :==\n\n - [[AideUn Comment écrire, mettre en page et sauvegarder sur une page ?]]\n - [[AideDeux Comment créer une nouvelle page dans l''espace projet ?]]\n - [[AideTrois Comment mettre en ligne un document dans mon projet, illustrer mes textes avec une image ?]]\n - [[AideQuatre Comment créer un menu dans l''espace de mon projet ?]]\n - [[AideCinq Comment faire des liens vers d''autres sites ou d''autres pages dans mon projet ?]]\n\n=====Et aussi... =====\n\n - [[PageMemo un petit mémo général]]\n\n - ReglesDeFormatage : résumé des syntaxes \"\"WikiNi\"\" permettant la mise en forme du texte.\n\n - ListeDesActionsWikini : liste des actions disponibles dans [[http://www.wikini.net WikiNi]].\n\n - ControlerLAccesAuxPages : explique comment gérer les droits d''accès aux pages de [[http://www.wikini.net WikiNi]].\n\n - [[http://www.wikini.net un site pleins d''infos sur le WikiNi]]\n\n - Pour poser des questions plus spécifiques [[http://ekotribu.org/papyrus.php?site=1&menu=15&wiki=FaQ C''est ici !]]\n\n----', '', '', 'ekotribu', 'Y', 'page', ''),
(61, '". $root_page ."', '2006-09-21 10:53:19', '======Bienvenue sur L''Ekotribu !======\n\n----\n\n=====ICI, C''EST L''ESPACE DE TON PROJET=====\n\nEn tant que participant, tu vas pouvoir **créer tes propres pages** et ton menu pour présenter aux autres participants tes projets mais aussi expliquer, **étape par étape**, tes avancements et tes questionnements. Cet espace, **c''est à toi de le compléter**, autant de fois que tu le souhaites.\n\n\n----\n\n=====Quelques pistes pour personnaliser ton espace :=====\n\n - Double-clique sur la page pour rédiger.\n - Pour trouver les réponses à toutes tes questions, [[http://ekotribu.org/papyrus.php?site=1&menu=15 clique ici !]] \n - Pour apprendre à rédiger, mettre des photos, des liens sur l''espace projet, clique sur l''aide, dans ton menu à gauche\n\n\n----\n\n====Un petit exercice pour s''échauffer ?====\n\n[[http://ekotribu.org/images/Grenouille.jpg image]]\n\nCommence par personnaliser cette page en supprimant tout le texte de bienvenue pour créer ton propre texte sur ton projet. **C''est parti !!**', '', '', 'ekotribu', 'Y', 'page', ''),
(64, 'ReglesDeFormatage', '2006-09-21 12:59:40', '[[AccueiL Retour]]\n\n====== Guide des règles de formatage ======\n\nLes règles de formatage avec Wakka différent làgàrement des autres Wikis. (Voir par exemple [[http://c2.com/cgi/wiki?TextFormattingRules les règles de formatage de WikiWikiWeb]], le premier Wiki connu.)\nTout texte placé entre deux guillemets doubles - \" - est présenté tel que.\n\nVous pouvez effectuer vos propres tests dans le BacASable : c''est un endroit fait pour ça.\n\n=== Règles de base : ===\n \"\"**Texte en gras !** -----\"\"> **Texte en gras !**\n \"\"//Texte en italique.// -----\"\"> //Texte en italique.//\n \"\"Texte __souligné__ ! -----\"\"> Texte __souligné__ !\n \"\"##texte à espacement fixe## -----\"\"> ##texte à espacement fixe##\n \"\"%%code%%\"\"\n \"\"%%(php) PHP code%%\"\"\n\n=== Liens forcés : ===\n \"\"[[http://www.mon-site.org]]\"\"\n \"\"[[http://www.mon-site.org Mon-site]]\"\"\n \"\"[[P2P]]\"\"\n \"\"[[P2P Page sur le P2P]]\"\"\n\n=== Liens dans Wikini ===\n Pour réaliser un lien dans wikini qui apparaisse avec un style normal utilisez cette écriture :\n \"\"[[ReglesDeFormatage Règles de Formatage]]\"\"\n Le lien apparaîtra de cette manière [[ReglesDeFormatage Règles de Formatage]].\n\n=== En-têtes : ===\n \"\"====== En-tête énorme ======\"\" ====== En-tête énorme ======\n \"\"===== En-tête très gros =====\"\" ===== En-tête très gros =====\n \"\"==== En-tête gros ====\"\" ==== En-tête gros ====\n \"\"=== En-tête normal ===\"\" === En-tête normal ===\n \"\"== Petit en-tête ==\"\" == Petit en-tête ==\n\n=== Séparateur horizontal : ===\n \"\"----\"\"\n\n=== Retour de ligne forcé : ===\n \"\"---\"\"\n=== Indentation : ===\nL''indentation de textes se fait avec la touche \"TAB\". Vous pouvez aussi créer des listes à puces ou numérotées :\n \"\"- liste à puce\"\"\n \"\"1) liste numérotée (chiffres arabes)\"\"\n \"\"A) liste numérotée (capitales alphabétiques)\"\"\n \"\"a) liste numérotée (minuscules alphabétiques)\"\"\n \"\"i) liste numérotée (chiffres romains)\"\"\n\n=== Inclure une image ===\n\n - Pour inclure un lien sur une image (sans l''inclure à la page):\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\"\"(ne pas indiquer de texte alternatif).\n Ce qui donne : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\n\n - Pour inclure une image sans indiquer de texte alternatif :\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\"\"(laisser 3 espaces blancs avant la fermeture des crochets).\n Ce qui donne quand l''image est trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\n Quand l''image n''est pas trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/table.gif]]\n\n - Pour inclure une image en indiquant un texte alternatif :\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif une puce ]]\"\"\n Ce qui donne quand l''image est trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif une puce ]]\n Quand l''image n''est pas trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/table.gif une puce ]]\n\n//Note :// le texte alternatif est affiché à la place de l''image s''il y a une erreur lors de l''affichage de celle-ci.\n\n=== Outils avancés : ===\n\n \"\"{{Backlinks}}\"\" permet de créer un lien vers la page précédente. \n \"\"{{Listusers}}\"\" affiche la liste des utilisateurs du site wikini.\n \"\"{{OrphanedPages}}\"\" affiche les pages orphelines du site wikini.\n \"\"{{ListPages/tree}}\"\" affiche le plan du site wikini.\n \"\"{{pageindex}}\"\" affiche un index des pages du site classées par lettres alphabétiques.\n \"\"{{ListPages}}\"\" affiche un index des pages du site avec le nom de leur propriétaire.\n \"\"{{WantedPages}}\"\" affiche la liste des pages restant à créer. Elles apparaissent dans le site avec un ? à la suite de leur nom.\n \"\"{{RecentChanges}}\"\" affiche la liste des sites faisant référence au site wikini.\n \"\"{{RecentlyCommented}}\"\" affichage de la liste des derniers commentaires.\n \"\"{{TextSearch}}\"\" recherche de texte dans les pages du site.\n\n**Note :** à cause d''un [[http://bugzilla.mozilla.org/show_bug.cgi?id=10547 bogue dans son moteur de rendu]], les listes, utilisant la touche TAB, ne fonctionnent pas (encore) sous Mozilla.\nUne astuce consiste à réaliser une tabulation dans un éditeur de texte puis de la copier. On peut ensuite coller la tabulation dans la zone de saisie de Wikini.\nVous pouvez également indenter du texte en utilisant des caractères espace au lieu de la touche \"TAB\", les exemples ci-dessus restent valables mais attention à ne pas mélanger des \"TAB\" et des espaces dans la même ànumàration.\n\n---', '', '', 'ekotribu', 'Y', 'page', ''),
(61, 'AccueiL', '2006-09-21 10:53:19', '======Bienvenue sur L''Ekotribu !======\n\n----\n\n=====ICI, C''EST L''ESPACE DE TON PROJET=====\n\nEn tant que participant, tu vas pouvoir **créer tes propres pages** et ton menu pour présenter aux autres participants tes projets mais aussi expliquer, **étape par étape**, tes avancements et tes questionnements. Cet espace, **c''est à toi de le compléter**, autant de fois que tu le souhaites.\n\n\n----\n\n=====Quelques pistes pour personnaliser ton espace :=====\n\n - Double-clique sur la page pour rédiger.\n - Pour trouver les réponses à toutes tes questions, [[http://ekotribu.org/papyrus.php?site=1&menu=15 clique ici !]] \n - Pour apprendre à rédiger, mettre des photos, des liens sur l''espace projet, clique sur l''aide, dans ton menu à gauche\n\n\n----\n\n====Un petit exercice pour s''échauffer ?====\n\n[[http://ekotribu.org/images/Grenouille.jpg image]]\n\nCommence par personnaliser cette page en supprimant tout le texte de bienvenue pour créer ton propre texte sur ton projet. **C''est parti !!**', '', '', 'ekotribu', 'Y', 'page', ''),
(64, 'ReglesDeFormatage', '2006-09-21 12:59:40', '[[AccueiL Retour]]\n\n====== Guide des règles de formatage ======\n\nLes règles de formatage avec Wakka diffèrent légèrement des autres Wikis. (Voir par exemple [[http://c2.com/cgi/wiki?TextFormattingRules les règles de formatage de WikiWikiWeb]], le premier Wiki connu.)\nTout texte placé entre deux guillemets doubles - \" - est présenté tel que.\n\nVous pouvez effectuer vos propres tests dans le BacASable : c''est un endroit fait pour ça.\n\n=== Règles de base : ===\n \"\"**Texte en gras !** -----\"\"> **Texte en gras !**\n \"\"//Texte en italique.// -----\"\"> //Texte en italique.//\n \"\"Texte __souligné__ ! -----\"\"> Texte __souligné__ !\n \"\"##texte à espacement fixe## -----\"\"> ##texte à espacement fixe##\n \"\"%%code%%\"\"\n \"\"%%(php) PHP code%%\"\"\n\n=== Liens forcés : ===\n \"\"[[http://www.mon-site.org]]\"\"\n \"\"[[http://www.mon-site.org Mon-site]]\"\"\n \"\"[[P2P]]\"\"\n \"\"[[P2P Page sur le P2P]]\"\"\n\n=== Liens dans Wikini ===\n Pour réaliser un lien dans wikini qui apparaisse avec un style normal utilisez cette écriture :\n \"\"[[ReglesDeFormatage Règles de Formatage]]\"\"\n Le lien apparaîtra de cette manière [[ReglesDeFormatage Règles de Formatage]].\n\n=== En-têtes : ===\n \"\"====== En-tête énorme ======\"\" ====== En-tête énorme ======\n \"\"===== En-tête très gros =====\"\" ===== En-tête très gros =====\n \"\"==== En-tête gros ====\"\" ==== En-tête gros ====\n \"\"=== En-tête normal ===\"\" === En-tête normal ===\n \"\"== Petit en-tête ==\"\" == Petit en-tête ==\n\n=== Séparateur horizontal : ===\n \"\"----\"\"\n\n=== Retour de ligne forcé : ===\n \"\"---\"\"\n=== Indentation : ===\nL''indentation de textes se fait avec la touche \"TAB\". Vous pouvez aussi créer des listes à puces ou numérotées :\n \"\"- liste à puce\"\"\n \"\"1) liste numérotée (chiffres arabes)\"\"\n \"\"A) liste numérotée (capitales alphabétiques)\"\"\n \"\"a) liste numérotée (minuscules alphabétiques)\"\"\n \"\"i) liste numérotée (chiffres romains)\"\"\n\n=== Inclure une image ===\n\n - Pour inclure un lien sur une image (sans l''inclure à la page):\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\"\"(ne pas indiquer de texte alternatif).\n Ce qui donne : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\n\n - Pour inclure une image sans indiquer de texte alternatif :\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\"\"(laisser 3 espaces blancs avant la fermeture des crochets).\n Ce qui donne quand l''image est trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif]]\n Quand l''image n''est pas trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/table.gif]]\n\n - Pour inclure une image en indiquant un texte alternatif :\n \"\"[[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif une puce ]]\"\"\n Ce qui donne quand l''image est trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/images/table.gif une puce ]]\n Quand l''image n''est pas trouvée : [[http://wiki.tela-botanica.org/eflore/bibliotheque/table.gif une puce ]]\n\n//Note :// le texte alternatif est affiché à la place de l''image s''il y a une erreur lors de l''affichage de celle-ci.\n\n=== Outils avancés : ===\n\n \"\"{{Backlinks}}\"\" permet de créer un lien vers la page précédente. \n \"\"{{Listusers}}\"\" affiche la liste des utilisateurs du site wikini.\n \"\"{{OrphanedPages}}\"\" affiche les pages orphelines du site wikini.\n \"\"{{ListPages/tree}}\"\" affiche le plan du site wikini.\n \"\"{{pageindex}}\"\" affiche un index des pages du site classées par lettres alphabétiques.\n \"\"{{ListPages}}\"\" affiche un index des pages du site avec le nom de leur propriétaire.\n \"\"{{WantedPages}}\"\" affiche la liste des pages restant à créer. Elles apparaissent dans le site avec un ? à la suite de leur nom.\n \"\"{{RecentChanges}}\"\" affiche la liste des sites faisant référence au site wikini.\n \"\"{{RecentlyCommented}}\"\" affichage de la liste des derniers commentaires.\n \"\"{{TextSearch}}\"\" recherche de texte dans les pages du site.\n\n**Note :** à cause d''un [[http://bugzilla.mozilla.org/show_bug.cgi?id=10547 bogue dans son moteur de rendu]], les listes, utilisant la touche TAB, ne fonctionnent pas (encore) sous Mozilla.\nUne astuce consiste à réaliser une tabulation dans un éditeur de texte puis de la copier. On peut ensuite coller la tabulation dans la zone de saisie de Wikini.\nVous pouvez également indenter du texte en utilisant des caractères espace au lieu de la touche \"TAB\", les exemples ci-dessus restent valables mais attention à ne pas mélanger des \"TAB\" et des espaces dans la même énumération.\n\n---', '', '', 'ekotribu', 'Y', 'page', ''),
(66, 'PageMenu', '2006-09-21 14:30:48', '======Menu======\n\n - [[AccueiL Page d''accueil]]\n - [[AideWikiNi Aide]]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\"\"<div class=\"centrage\"><a id=\"rss\" href=\"wakka.php?wiki=DerniersChangementsRSS/xml\"><img src=\"http://ekotribu.org/images/rss.png\" alt=\"Syndication RSS\" /></a></div>\"\"', '', '', 'ekotribu', 'Y', 'page', '');
");
} // end of member function creation_tables
/trunk/client/integrateur_wikini/bibliotheque/adwi_HTML_formulaireWikini.class.php
19,7 → 19,7
// | 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: adwi_HTML_formulaireWikini.class.php,v 1.9 2007-04-06 08:40:13 neiluj Exp $
// CVS : $Id: adwi_HTML_formulaireWikini.class.php,v 1.10 2007-04-11 08:30:12 neiluj Exp $
/**
*
* Admin Wikini
32,7 → 32,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.9 $
*@version $Revision: 1.10 $
// +------------------------------------------------------------------------------------------------------+
*/
 
58,10 → 58,6
*/
class HTML_formulaireWikini extends HTML_QuickForm
{
var $me;
var $squelette;
/**
* Constructeur
*
77,7 → 73,6
function HTML_formulaireWikini( $formName = "", $method = "post", $action = "", $target = "_self", $attributes = "", $trackSubmit = false )
{
HTML_QuickForm::HTML_QuickForm($formName, $method, $action, $target, $attributes, $trackSubmit) ;
$this->squelette = & $this->defaultRenderer();
} // end of member function HTML_formulaireProjet
 
/**
89,7 → 84,7
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
return $res ;
} // end of member function toHTML
 
/**
100,71 → 95,30
*/
function construitFormulaire($url_retour)
{
// template
$this->addElement('html',"
<script type=\"text/javascript\">
//<![CDATA[
var options = false;
function showOptions() {
el = document.getElementById(\"advanced\");
btn = document.getElementById('optionsbtn');
if (!options) {
el.style.display = 'block';
options = true;
btn.value = 'Options Avancees <<';
}else{
el.style.display = 'none';
options = false;
btn.value = 'Options Avancees >>';
}
return options;
}
//]]>
</script>");
$this->squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$this->squelette->setElementTemplate( '<p class="formulaire_element">'."\n".'<label>'."\n".
'{label}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->&nbsp;'."\n".
'</label>'."\n".
'{element}'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</p>'."\n");
$this->squelette->setRequiredNoteTemplate("\n".'<p class="symbole_obligatoire">*&nbsp;:&nbsp;{requiredNote}</p>'."\n");
$this->addElement ('text', 'code_alpha_wikini', ADWI_NOM_WIKINI, array('class' => 'champs_input')) ;
 
$this->addElement ('text', 'code_alpha_wikini', ADWI_NOM_WIKINI, array ('size' => 60)) ;
$this->addRule ('code_alpha_wikini', ADWI_NOM_WIKINI_ALERTE, 'required', '', 'client') ;
// UPDATE: Depuis la nouvelle fonction genere_nom_wiki() les espaces / accents sont autorisés.
// $this->addRule ('code_alpha_wikini', ADWI_NOM_WIKINI_NON_VALIDE, 'lettersonly', '', 'client');
$this->addRule ('code_alpha_wikini', ADWI_NOM_WIKINI_NON_VALIDE, 'required', '', 'client');
// Défaut : PagePrincipale
$this->addElement ('text', 'page', ADWI_PAGE, array('class' => 'champs_input')) ;
$this->addElement('button', 'Options Avanc&eacute;es >>', 'Options Avancees >>', array ("onclick" => "showOptions()",
'id' => 'optionsbtn', 'class' => 'bouton'));
$this->addElement ('html', '<div id="advanced" style="display:none;">');
// $this->addElement ('static', '', 'Configuration avanc&eacute;e : ') ;
$this->addRule ('code_alpha_wikini', ADWI_NOM_WIKINI_NON_VALIDE, 'lettersonly', '', 'client');
// Défault : PagePrincipale
$this->addElement ('text', 'page', ADWI_PAGE, array ('size' => 60)) ;
 
$this->addElement ('text', 'bdd_hote', ADWI_BDD_HOTE, array('class' => 'champs_input')) ;
$this->addElement ('text', 'bdd_nom', ADWI_BDD_NOM, array('class' => 'champs_input')) ;
$this->addElement ('text', 'bdd_utilisateur', ADWI_BDD_UTILISATEUR, array('class' => 'champs_input')) ;
$this->addElement ('password', 'bdd_mdp', ADWI_BDD_MDP, array('class' => 'champs_input')) ;
$this->addElement ('text', 'table_prefix', ADWI_TABLE_PREFIX, array('class' => 'champs_input')) ;
$this->addElement ('text', 'chemin', ADWI_CHEMIN, array('class' => 'champs_input')) ;
$this->addElement ('static', '', 'Configuration avancée : ') ;
 
$this->addElement ('text', 'bdd_hote', ADWI_BDD_HOTE, array ('size' => 60)) ;
$this->addElement ('text', 'bdd_nom', ADWI_BDD_NOM, array ('size' => 60)) ;
$this->addElement ('text', 'bdd_utilisateur', ADWI_BDD_UTILISATEUR, array ('size' => 60)) ;
$this->addElement ('password', 'bdd_mdp', ADWI_BDD_MDP, array ('size' => 60)) ;
$this->addElement ('text', 'table_prefix', ADWI_TABLE_PREFIX, array ('size' => 60)) ;
$this->addElement ('text', 'chemin', ADWI_CHEMIN, array ('size' => 60)) ;
 
$this->setRequiredNote('<span style="color: #ff0000">*</span>'.ADWI_CHAMPS_REQUIS) ;
$this->addElement ('html', '</div>');
 
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$buttons[] = $this->createElement('button', 'annuler', ADWI_ANNULER, array ("onclick" => "javascript:document.location.href='".str_replace ('&amp;', '&', $url_retour->getURL())."'",
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', ADWI_ANNULER, array ("onclick" => "javascript:document.location.href='".str_replace ('&amp;', '&', $url_retour->getURL())."'",
'id' => 'annuler', 'class' => 'bouton'));
$buttons[] = $this->createElement('submit', 'valider', ADWI_VALIDER, array ('id' => 'valider', 'class' =>'bouton'));
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', ADWI_VALIDER, array ('id' => 'valider', 'class' =>'bouton'));
$this->addGroup($buttons, null, null, '&nbsp;');
 
} // end of member function _construitFormulaire
} // end of HTML_formulaireProjet
?>
/trunk/client/integrateur_wikini/configuration/iw_config.inc.php
21,7 → 21,7
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: iw_config.inc.php,v 1.9 2007-04-06 08:40:13 neiluj Exp $
// CVS : $Id: iw_config.inc.php,v 1.10 2007-04-11 08:30:12 neiluj Exp $
/**
* Configuration de l'intégrateur de page Wikini
*
34,7 → 34,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.9 $ $Date: 2007-04-06 08:40:13 $
*@version $Revision: 1.10 $ $Date: 2007-04-11 08:30:12 $
// +------------------------------------------------------------------------------------------------------+
*/
 
129,7 → 129,8
define('IW_CHEMIN_WIKINI_COURANT_FORMATTER', IW_CHEMIN_WIKINI_COURANT.'formatters'.GEN_SEP);
global $wikini_config_defaut;
 
// Ajout dans l'URL générale du Query String wiki spécifique à l'intégrateur
$GLOBALS['_GEN_commun']['url']->addQueryString('wiki', '');
$wikini_config_defaut = array(
"wakka_version" => "0.1.1",
"wikini_version" => "0.4.3",
140,7 → 141,7
'table_prefix' => $config_wikini['table_prefix'],
'root_page' => $config_wikini['page'],
'wakka_name' => $config_wikini['code_alpha_wikini'],
'base_url' => str_replace('&amp;', '&', $GLOBALS['_GEN_commun']['url']->getUrl()).'&wiki=',
'base_url' => str_replace('&amp;', '&', $GLOBALS['_GEN_commun']['url']->getUrl()),
'rewrite_mode' => '0',
'meta_keywords' => '',
'meta_description' => '',
155,7 → 156,8
'default_read_acl' => '*',
'default_comment_acl' => '*',
'preview_before_save' => '0');
// Suppression de l'URL générale du Query String wiki spécifique à l'intégrateur
$GLOBALS['_GEN_commun']['url']->removeQueryString('wiki', '');
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
165,6 → 167,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.8 2006/11/09 17:50:41 jp_milcent
* Compatibilité avec les nouveaux permaliens de Papyrus.
*
* Revision 1.7 2005/09/14 09:12:15 ddelon
* Integrateur Wikini et administration des Wikini
*