Subversion Repositories Applications.papyrus

Compare Revisions

No changes between revisions

Ignore whitespace Rev 234 → Rev 235

/trunk/client/annuaire/configuration/ann_config.inc.php
New file
0,0 → 1,107
<?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: ann_config.inc.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fichier de configuration de l'annuaire
*
* A éditer de façon spécifique à chaque déploiement
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
$GLOBALS['AUTH'] = &$_GEN_commun['pear_auth'] ;
$GLOBALS['ann_db'] = &$_GEN_commun['pear_db'] ;
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
$GLOBALS['ann_url'] = &$_GEN_commun['url']; //l'url de base de l'application, un objet Net_URL
// Créer cet objet par $GLOBALS['ins_url'] = new Net_URL('http://....') ;
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
 
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
define ("ANN_URL_SPIP", "rubrique.php3?id_rubrique=$id_rubrique&lang=$lang") ;
 
/**
//==================================== LES CHEMINS =================================
* Constantes définissant les chemins d'accé au différents fichiers inclus dans les
* applications.
//==================================================================================
*/
define("ANN_CHEMIN_APPLI",'annuaire/');//le chemin vers l'application courrante
define("ANN_CHEMIN_LIBRAIRIE",'annuaire/bibliotheque/');//le chemin de la librairie de fichier php
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
 
define ("ANN_ANNUAIRE", "annuaire") ;
define ("ANN_CHAMPS_NOM", "a_nom") ; // Nom du champs nom
define ("ANN_CHAMPS_MAIL", "a_mail") ; // Nom du champs mail
define ("ANN_CHAMPS_PRENOM", "a_prenom") ; // Nom du champs prénom
define ("ANN_CHAMPS_ID", "a_id") ; // Nom du champs id
 
/**
//==================================== CONSTANTES==================================
* Constantes contenant des mails
//==================================================================================
*/
 
define ("ANN_MAIL_ADMIN", "") ;
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:19:20 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/annuaire/annuaire.php
New file
0,0 → 1,181
<?
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: annuaire.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* programme principal du module annuaire
*
* programme principal du module annuaire
*
*@package annuaire
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
include_once 'client/annuaire/configuration/ann_config.inc.php' ;
if (isset($lang)) {
include_once CAR_CHEMIN_APPLI."/langues/ann_langue_$lang.inc.php" ;
} else {
include_once CAR_CHEMIN_APPLI.'/langues/ann_langue_fr.inc.php' ;
}
 
 
include_once 'annuaire/configuration/ann_config.inc.php' ;
include_once ANN_CHEMIN_LIBRAIRIE.'ann_annuaire.fonct.php' ;
if (isset($lang)) {
include_once "annuaire/langues/ann_langue_$lang.inc.php" ;
} else {
include_once 'annuaire/langues/ann_langue_fr.inc.php' ;
}
include_once 'HTML/QuickForm.php' ;
 
 
define ("ENVOIE_MAIL", 2) ;
 
//==============================================================================
// putFrame ($db, $link, $DOCrow, $PAGEresult, $CURRENTPAGErow, $innerTableWidth, $innerTableSpacing)
// $db : database name
// $link : connexion to database
// $DOCrow : row about the current document
// $PAGEresult : result set: all pages linked to the current document
// $CURRENTPAGErow : row about the current page
// $innerTableWidth : global table width
// $innerTableSpacing : cell spacing for global table.
//
// Generation frame content.
//==============================================================================
 
function GEN_afficherContenuCorps () {
 
global $AUTH, $db ;
global $GS_GLOBAL ;
 
if (!$AUTH->getAuth()) {
$res = AUTH_formulaire_login() ;
} else {
// Le code javascript des cases à cocher
$java =
"function setCheckboxes(the_form)
{
var do_check=document.forms[the_form].elements['selecttotal'].checked;
var elts = document.forms[the_form].elements['select[]'];
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
} // Fin for
} else {
elts.checked = do_check;
} // Fin if... else
return true;
} // Fin de la fonction 'setCheckboxes()'";
$GLOBALS['javascript'] .= $java ;
 
$res = "<h1 class=\"annuaire_titre1\">".ANN_TITRE."</h1>\n" ;
 
$res .= "<h2 class=\"annuaire_titre2\">".ANN_CLIQUEZ_LETTRE."</h2>\n";
 
global $baseURL ;
$baseURL = ANN_URL_SPIP ;
// S'il y a un mail a envoyé, on l'envoie
if ($action == ENVOIE_MAIL) $res .= envoie_mail () ;
 
$res .= parcourrirAnnu("") ;
}
return $res;
}
 
//==============================================================================
// FUNCTION putFooter ()
//
// Generation of footer.
//==============================================================================
 
function putFooter () {
return '&nbsp;';
}
 
 
 
function envoie_mail () {
global $titre, $corps, $HTTP_POST_VARS, $select, $AUTH, $db ;
 
// On vérifie qu'un email aie été sélectionné
if (!is_array($select)) {
$res ="<div class=\"annuaire_erreur\">".ANN_VERIF_MAIL_COCHE."</divr>";
return $res ;
}
if ($titre == "" || $corps == "") {
$res = "<div class=\"annuaire_erreur\">".ANN_VERIF_TITRE."</div>\n" ;
return $res ;
}
 
// On récupère le mail de l'expéditeur
$req_exp = "select ".ANN_CHAMPS_MAIL." from ".ANN_ANNUAIRE." where ".ANN_CHAMPS_ID."=".$AUTH->getAuthData(ANN_CHAMPS_ID) ;
$res_exp = $db->query($req_exp) ;
if (DB::isError($res_exp)) {
die ("Echec de la requete sur annuaire_tela <br>".$res_exp->getMessage()) ;
}
$ligne_exp = $res_exp->fetchRow(DB_FETCHMODE_ASSOC) ;
$expediteur = $ligne_exp[ANN_CHAMPS_MAIL] ;
 
$corps .= ANN_PIED_MESSAGE ;
$liste = "" ;
for ($i = 0; $i < count($select); $i++) {
$requete = "select ".ANN_CHAMPS_MAIL." from ".ANN_ANUAIRE." where ".ANN_CHAMPS_ID."=".$select[$i] ;
$resultat = $db->query($requete) ;
if (DB::isError($resultat)) {
die ("Echec de la requete sur annuaire_tela <br>".$resultat->getMessage()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
 
// L'envoie du mail proprement dit
if (!mail($ligne[ANN_CHAMPS_MAIL], stripslashes($titre), stripslashes($corps), "From: $expediteur")) {
return "<div class=\"annuaire_erreur\">Le mail n'est pas partie</div>\n" ;
}
$liste .= $ligne[ANN_CHAMPS_MAIL]."\n" ;
}
$corps .= "\n----------------------------------------------------------------------------
Ce message a été envoyé à :\n $liste" ;
mail ("ANN_MAIL_ADMIN", stripslashes($titre), stripslashes($corps), "From: $expediteur");
}
/**------------------------------------------------------------------------------
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:18:43 alex
* retour vers la liste des participants après un ajout.
*
*
*-- End of source ------------------------------------------------------------*/
?>
/trunk/client/annuaire/annuaire_moteur_config.php
New file
0,0 → 1,67
<?php
 
// +--------------------------------------------------------------------------------+
// | annuaire_moteur_config.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2000 - 2003 Tela Botanica |
// +--------------------------------------------------------------------------------+
// | Fichier de configuration de annuaire_moteur.php |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_moteur_config.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
/**
//=========================DEFINITION DE VARIABLES =================================
* Définition des variables globales
//==================================================================================
*/
global $GS_GLOBAL, $_SERVER ;
/**
//==================================== LES URLS ==================================
* Constantes liées à l'utilisation des url
//==================================================================================
*/
define("AM_BASE_URL", 'http://'.$_SERVER["HTTP_HOST"].'/');//URL de base. Exemple: http://www.tela-botanica.org/
define("AM_URL_DOCUMENT",'index.php?project='.$GS_GLOBAL['project'].'&amp;locale='.
$GS_GLOBAL['locale'].'&amp;doc='.$GS_GLOBAL['document_row']->GD_NOM.'&amp;page='.
$GS_GLOBAL['current_page_ndx']); //l'url de base de l'apllication
 
 
/**
//==================================== LES CHEMINS =================================
* Constantes définissant les chemins d'accé au différents fichiers inclus dans les
* applications.
//==================================================================================
*/
define("AM_CHEMIN_APPLI",'client/applications_clientes/annuaire/');//le chemin vers l'application courrante
define("AM_CHEMIN_PHP",'php/');//le chemin vers les fichiers propre à GSITE // obsolète !
define("AM_CHEMIN_LIBRAIRIE",'client/bibliotheque_client/fonctions/');//le chemin de la librairie de fichier php
 
/**
//==================================== CONSTANTES ==================================
* Constantes de connexion aux bases de données MySQL
//==================================================================================
*/
define("AM_HOTE","brille.logicosme.net");
define("AM_UTILISATEUR","botanica");
define("AM_MDP","wuzvw90fq");
 
 
define("AM_BD_BOTA", $GS_GLOBAL['mysql_db']);//Nom de la base des tables de chorologie
define("AM_BD_LINK", $GS_GLOBAL['link']);//Nom de la base des tables de la carto (et éventuellement de chorologie)
 
/**
//==================================== CONSTANTES ==================================
* Constantes des noms de tables et de champs dans l'annuaire
//==================================================================================
*/
 
define ("AM_ANNUAIRE", "annuaire_tela") ; // Nom de la table d'annuaire
define ("AM_NOM", "U_NAME") ; // Nom du champs nom
define ("AM_MAIL", "U_MAIL") ; // Nom du champs mail
define ("AM_PRENOM", "U_SURNAME") ; // Nom du champs prénom
define ("AM_DPT", "gen_FRENCH_DPT") ; // Nom de la table département
define ("AM_PAYS", "gen_COUNTRY") ; // Nom de la table pays
?>
/trunk/client/annuaire/fonctions.php
New file
0,0 → 1,267
<?php
// +--------------------------------------------------------------------------------+
// | fonctions.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2002 Tela Botanica |
// +--------------------------------------------------------------------------------+
// | Fonctions diverses |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: fonctions.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
// effectue une requete sur un colonne unique et renvoie le resultat sous la forme
// d'un tableau
 
function get($query) {
$tableau = array() ;
$query = "SELECT " . $query;
$result = mysql_query($query) or die ("Echec de la requ&ecirc;te sur AGORA");
while ($row = mysql_fetch_row($result)) {
array_push ($tableau,$row[0]);
}
 
return $tableau ;
}
 
function textecourt($texte, $taille) {
if (strlen($texte) > $taille) return substr($texte, 0, $taille-3)."...";
return $texte;
}
 
// formulaire, prend en parametre les valeurs par defaut
function formulaire($titre="",$description="", $abreviation="", $internet="", $selectedForums="", $selectedProjet="",$origine="NOUVEAU") {
global $baseURL, $forums, $projets, $projetAb ;
$forums = get("AGO_A_ALIAS FROM agora") ;
$IDforums = get ("AGO_A_ID FROM agora");
$projets = get("TITRE FROM PROJET_PROJET ORDER BY ABREVIATION");
$projetAb = get("ABREVIATION FROM PROJET_PROJET ORDER BY ABREVIATION") ;
if ($selectedForums == "") $selectedForums = array() ;
if ($selectedProjet == "") $selectedProjet = array() ;
$res ="<table>\n";
if ($origine == "NOUVEAU") {
$res .="<form action=\"$baseURL&menuProjet=projetadm&action=2\" method=\"post\">\n";
} else {
$res .="<form action=\"$baseURL&menuProjet=projetgest&projet=$abreviation&action=2\" method=\"post\">\n";
}
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Titre :</td><td><input type=\"text\"
class=\"insInputForm\" name=\"titre\" size=\"60\" value=\"$titre\"></td></tr>\n";
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Description :</td><td><textarea name=\"description\"
class=\"insInputForm\" cols=\"60\" rows=\"20\">$description</textarea></td></tr>\n";
if ($origine == "NOUVEAU") {
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Abr&eacute;viation :</td>\n";
$res .="<td><input class=\"insInputForm\" type=\"text\" name=\"abreviation\" size=\"5\" value=\"$abreviation\">&nbsp;&nbsp;";
$res .="&nbsp;&nbsp;Au maximum 5 caract&egrave;res, de pr&eacute;f&eacute;rence en majuscule.</td></tr>\n";
}
$res .="<tr class=\"text\"><td style=\"text-align:right;font-weight:bold;\">Espace Internet :</td>\n";
$res .="<td><input class=\"insInputForm\" type=\"text\" name=\"internet\" size=\"60\" value=\"$internet\"></td></tr>\n";
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Forums associ&eacute;s :</td><td><select class=\"insInputForm\" name=forumsS[] size=\"";
$res .=count($forums);
$res .="\" multiple>\n";
for ($i = 0 ; $i < count($forums) ; $i++) {
$res .="<option value=\"$IDforums[$i]\"";
if (in_array($forums[$i],$selectedForums)) $res .=" selected";
$res .=">";
$res .=$forums[$i];
$res .="</option>\n";
}
$res .="</select>\n";
$res .="<tr class=\"text\"><td valign=\"top\" style=\"text-align:right;font-weight:bold;\">Projets associ&eacute;s :</td>\n<td><select class=\"insInputForm\" name=projetsS[] size=\"";
$res .=count($projets);
$res .="\" multiple>\n";
for ($i = 0 ; $i < count($projets) ; $i++) {
$res .="<option value=\"";
$res .=$projetAb[$i];
$res .="\"";
if (in_array($projetAb[$i],$selectedProjet)) $res .=" selected";
$res .=">";
$res .=$projets[$i];
$res .="</option>\n";
}
$res .="</select></td></tr>\n";
$res .="<tr><td colspan=\"2\" align=\"center\">\n";
if ($origine != "NOUVEAU") $res .="<input style=\"background-color:#FFFFFF\" type=\"button\" onclick=\"Javascript:history.go(-1);\" value=\"Annuler\">\n" ;
$res .="<input style=\"background-color:#FFFFFF\" type=\"submit\"";
if ($origine == "NOUVEAU") {
$res .=" value=\"Cr&eacute;er\">";
} else { $res .=" value=\"Valider\">";
}
$res .="</td></tr>\n";
$res .="</form>\n";
$res .="</table>\n";
return $res ;
}
 
function getExtension($filename) {
$extension = explode (".",$filename) ;
return $extension[1] ;
}
 
#--------------------------------------------------------------
# Insere $num espace insecable
#--------------------------------------------------------------
 
function insert_spaces($num) {
$res = "" ;
for ($i = 0; $i < $num; $i++) $res .= "&nbsp;";
return $res ;
}
 
function getEnumSet($text) {
$resultat = explode("'", $text) ;
$retour = array() ; $j = 0 ;
for ($i = 1 ; $i < count ($resultat)-1 ; $i = $i + 2) {
$retour[$j] = $resultat[$i] ;
$j++ ;
}
return $retour ;
}
 
$jour = array("lundi","mardi", "mercredi", "jeudi", "vendredi", "samedi","dimanche");
$moi = array("janvier","f&eacute;vrier","mars","avril","mai","juin","juillet","septembre","octobre","novembre","d&eacute;cembre") ;
 
function parcourrirAnnu($event) {
global $baseURL, $lettre, $menuProjet ;
$outputText = "" ;
$outputText .= "<tr><td>&nbsp;</td></tr>\n";
$outputText .= "<tr><td><table align=\"center\">";
$outputText .= "<tr class=\"texte_tb\">";
// ecrire toutes les lettres avec un lien
for ($i = 65 ; $i <91 ; $i++) {
$outputText .= "\t<td><a style=\"font-size:15px;\" href=\"$baseURL&amp;menuProjet=$menuProjet&amp;action=$event&amp;lettre=";
$outputText .= chr($i) ;
$outputText .= "\">";
$outputText .= chr($i) ;
$outputText .= "</a></td>\n";
}
$outputText .= "<td>&nbsp;&nbsp;<a href=\"$baseURL&amp;menuProjet=$menuProjet&amp;action=$event&amp;lettre=tous\">Tous</a></td>\n" ;
$outputText .= "</tr></table></td></tr>\n";
// si une lettre est selectionne
if (!empty($lettre)) {
$query = "SELECT annuaire_tela.U_NAME,annuaire_tela.U_SURNAME,annuaire_tela.U_MAIL,annuaire_tela.U_CITY,
annuaire_tela.U_ZIP_CODE,gen_COUNTRY.GC_NAME FROM annuaire_tela,gen_COUNTRY WHERE";
if ($lettre != "tous") $query .= " U_NAME LIKE \"$lettre%\" AND" ;
$query .= " annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID AND gen_COUNTRY.GC_LOCALE=\"fr\"
AND U_NAME<>\"\" and U_SHOW=3 ORDER BY U_NAME" ;
$result = mysql_query($query) or die ("Echec de la requ&ecirc;te sur annuaire_tela...");
if (mysql_num_rows($result) != 0) {
// pour chaque nom, on inscrit les infos
$outputText .= "<tr><td>&nbsp;</td></tr>\n";
$outputText .= "<tr class=\"insTitle1\"><td>Liste des inscrits &agrave; la lettre : $lettre</td></tr>\n";
$outputText .= "<tr><td><table width=\"100%\">";
$outputText .= "<tr class=\"insTitle1\"><td>Nom</td>";
$outputText .= "<td>Pr&eacute;nom</td><td align=\"center\">E-mail</td>\n";
$outputText .= "<td align=\"center\">Code postal</td><td>Pays</td></tr>\n";
$pair = true ;
while ($row = mysql_fetch_object($result)) {
$outputText .= "<tr class=\"texte_tb2\"";
if ($pair) {
$outputText .= " bgcolor=\"#E8FFE5\"";
$pair = false ;
} else {
$pair = true ;
}
$outputText .= "><td>$row->U_NAME</td><td>$row->U_SURNAME</td>\n";
$outputText .= "<td align=\"left\"><a href=\"mailto:$row->U_MAIL\">$row->U_MAIL</a></td>\n";
$outputText .= "<td align=\"center\">$row->U_ZIP_CODE</td>\n";
$outputText .= "<td>$row->GC_NAME</td>\n" ;
$outputText .= "</tr>\n";
}
$outputText .= "</table></td></tr>\n";
} else {
$outputText .= "<tr><td>&nbsp;</td></tr>\n";
$outputText .= "<tr class=\"texte_tb\"><td>Pas d'inscrit</td></tr>\n";
}
}
return $outputText ;
}
function formRep($nom="", $description="", $origine="NOUVEAU", $visibilite="") {
global $baseURL, $projet, $repcourant, $id ;
if ($origine == "NOUVEAU") {
$res = "<form action=$baseURL&action=20\" method=\"post\">\n" ;
} else {
$res = "<form action=$baseURL&action=19\" method=\"post\"\n>" ;
}
$res .= "\t<table align=\"center\">\n\t" ;
$res .= "<tr class=\"texte_tb\"><td colspan=\"2\">N'utilisez pas d'accents, ni d'espace pour le nom du r&eacute;pertoire.</td></tr>\n";
$res .= "<tr class=\"text\"><td style=\"font-weight:bold;text-align:right\">" ;
$res .= "Nom : </td><td><input class=\"insInputForm\" type=\"text\" name=\"nom\" size=\"80\" value=\"$nom\"></td></tr>\n" ;
$res .= "<tr class=\"text\"><td style=\"font-weight:bold;text-align:right;vertical-align:top\">Description : </td>\n" ;
$res .= "<td><textarea class=\"insInputForm\" name=\"description\" cols=\"81\">$description</textarea></td></tr>\n" ;
$res .= "<tr class=\"text\"><td align=\"right\"><b>Visibilit&eacute; :</b></td>\n";
$res .= "<td align=\"left\">\n";
$res .= "<input style=\"background-color:#FFFFFF;\" type=\"radio\" name=\"visible\" value=\"public\"" ;
if ($visibilite == "public" or $visibilite == "") $res .= " checked" ;
$res .= ">Tout public&nbsp;&nbsp;&nbsp;&nbsp;";
$res .= "<input style=\"background-color:#FFFFFF;\" type=\"radio\" name=\"visible\" value=\"prive\"" ;
if ($visibilite == "prive") $res.= " checked" ;
$res .= ">Projet seulement</td></tr>\n";
$res .= "<tr class=\"text\"><td><input type=\"hidden\" name=\"repcourant\" value=\"$repcourant\"</td><td>\n" ;
$res .= "<input type=\"hidden\" name=\"id\" value=\"$id\">" ;
$res .= "<input type=\"submit\" style=\"background-color:#FFFFFF;\"" ;
if ($origine == "NOUVEAU") { $res.= "value=\"Valider\"" ; } else { $res .= "value=\"Modifier\"" ; }
$res .= "></td></tr></table></form>\n" ;
return $res ;
}
 
// renvoie le chemin complet depuis la racine de l'application
// on indique en argument l'identifiant du repertoire en cour
// la fonction remonte d'etage en etage jusqu'a ce que gen_voiraussi.PERE soit NULL
function getPath($ID_rep) {
$path = "" ;
$query = "SELECT PERE,NOM FROM gen_repertoire WHERE ID='$ID_rep'" ;
$result = mysql_query($query) or die ("Echec de la requ&ecirc;te dans gen_voiraussi, au cours de la recherche
du chemin des repertoire") ;
$row = mysql_fetch_object($result) ;
if ($row->PERE != NULL) {
$path .= getPath($row->PERE)."/".$row->NOM ;
}
return $path ;
}
 
 
// renvoie le chemin avec les tag <a href
 
function getHTMLPath($ID_rep) {
global $baseURL ;
$query = "SELECT PERE,NOM FROM gen_repertoire WHERE ID='$ID_rep'" ;
$result = mysql_query($query) or die ("Echec de la requ&ecirc;te dans gen_voiraussi, au cours de la recherche
du chemin des repertoire") ;
$row = mysql_fetch_object($result) ;
if ($row->PERE != NULL) {
$path .= " <b>&gt;</b><a href=\"$baseURL&amp;repcourant=$ID_rep\">" ;
$path .= $row->NOM ;
$path .= "</a>\n" ;
$path = getHTMLPath($row->PERE).$path ;
}
return $path ;
}
 
function nettoieAccent(&$texte) {
 
// un peu barbare
$texte = ereg_replace("é","e",$texte) ;
$texte = ereg_replace("è","e",$texte) ;
$texte = ereg_replace("ê","e",$texte) ;
$texte = ereg_replace("à","a",$texte) ;
$texte = ereg_replace("ù","u",$texte) ;
$texte = ereg_replace("â","a",$texte) ;
$texte = ereg_replace("ä","a",$texte) ;
$texte = ereg_replace("ë","e",$texte) ;
$texte = ereg_replace("î","i",$texte) ;
$texte = ereg_replace("ô","o",$texte) ;
$texte = ereg_replace("û","u",$texte) ;
$texte = ereg_replace("ö","o",$texte) ;
$texte = ereg_replace("ü","u",$texte) ;
 
return $texte ;
}
 
?>
/trunk/client/annuaire/annuaire_moteur_lang_fr.php
New file
0,0 → 1,27
<?php
 
// +--------------------------------------------------------------------------------+
// | annuaire_moteur_lang_fr.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2000 - 2003 Tela Botanica |
// +--------------------------------------------------------------------------------+
// | Contient le texte de l'appli en français |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_moteur_lang_fr.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
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") ;
?>
/trunk/client/annuaire/bibliotheque/annuaire.fonct.php
New file
0,0 → 1,179
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: annuaire.fonct.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fonctions du module annuaire
*
* Fonctions du module annuaire
*
*@package annuaire
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
include_once "HTML/QuickForm.php" ;
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
 
function AUTH_formulaire_login() {
// l'url de la page en cours
$url = ANN_URL_SPIP;
 
$res = '';
$form = new HTML_QuickForm ('inscription', 'post', $url) ;
$form->addElement ('text', 'username', ANN_EMAIL) ;
$form->addElement ('password', 'password', ANN_MOT_DE_PASSE) ;
$form->addElement('submit', 'valider', ANN_VALIDER);
$res .= $form->toHTML() ;
 
$res .= "<tr class=\"texte_tb\"><td>".ANN_TEXTE_PERDU."</td></tr>\n" ;
return $res;
}
 
/** function parcourrirAnnu () Affiche l'annuaire à partir d'une lettre
*
*
*
* @return string HTML
*/
 
function parcourrirAnnu($event) {
global $baseURL, $lettre, $menuProjet, $db, $HTTP_USER_AGENT ;
$res = "" ;
$res .= "<div><table align=\"center\">";
$res .= "<tr class=\"texte_tb\">";
 
// ecrire toutes les lettres avec un lien
for ($i = 65 ; $i <91 ; $i++) {
$res .= " <td><a style=\"font-size:15px;\" href=\"$baseURL&amp;lettre=";
$res .= chr($i) ;
$res .= "\">";
$res .= chr($i) ;
$res .= "</a></td>\n";
}
$res .= "</tr></table></div>\n";
 
// si une lettre est selectionne
if (!empty($lettre)) {
$query = "SELECT ".ANN_ANNUAIRE.".".ANN_CHAMPS_NOM.",".ANN_ANNUAIRE.".".ANN_CHAMPS_PRENOM.
",".ANN_ANNUAIRE.".".ANN_CHAMPS_ID.",".ANN_ANNUAIRE.".".ANN_CHAMPS_MAIL.
" from ".ANN_ANNUAIRE." WHERE";
if ($lettre != "tous") $query .= " ".ANN_CHAMPS_NOM." LIKE \"$lettre%\"" ;
$query .= " ORDER BY ".ANN_CHAMPS_NOM ;
$result = $db->query($query) ;
if (DB::isError($result)) {
die ($result->getMessage().'<br />'.$result->getDebugInfo()) ;
}
if ($result->numRows() != 0) {
// pour chaque nom, on inscrit les infos
 
$res .= "<tr class=\"insTitle1\"><td>".ANN_LISTE_INSCRIT_LETTRE." : $lettre</td></tr>\n";
$res .= "<tr><td><form action=\"$baseURL&action=".ENVOIE_MAIL."&lettre=$lettre\" method=\"POST\" name=\"formmail\"><table width=\"100%\">" ;
$res .= "<tr><td><table width=\"100%\" id=\"table_annuaire\">";
$res .= '<colgroup><col width="10%" /><col width="45%" /><col width="45%" /></colgroup>' ;
$res .= "<thead><th>&nbsp;</th><th>".ANN_NOM."</th>";
$res .= "<th>".ANN_PRENOM."</th>\n";
$pair = true ;
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= "<tr ";
if ($pair) {
$res .= " class=\"ligne_impaire\"";
$pair = false ;
} else {
$res .= " class=\"ligne_paire\"" ;
$pair = true ;
}
$res .= ">" ;
$res .= "<td><input type=\"checkbox\" name=\"select[]\" value=\"$row->U_ID\"></td>\n" ;
$res .= "<td>".$row[ANN_CHAMPS_NOM]."</td><td>".$row[ANN_CHAMPS_PRENOM]."</td>\n";
$res .= "</tr>\n";
}
$res .= "</table></td></tr>" ;
 
// Raccourci pour sélectionner tous les adhérents d'un coup
$res .= "<tr class=\"texte_tb\" align=\"center\"><td>".ANN_CHECK_UNCHECK ;
$res .= "&nbsp;<input type=\"checkbox\" name=\"selecttotal\" onclick=\"javascript:setCheckboxes('formmail');\"></td></tr>";
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr class=\"annuaire_titre2\"><td>".ANN_ENVOYER_MAIL."</td></tr>\n";
$res .= "<tr><td>\n<table width=\"100%\" border=\"0\">\n" ;
$res .= "<tr><td class=\"insLabel\">".ANN_SUJET." :</td>\n
<td><input class=\"formInput\" type=\"text\" name=\"titre\" size=\"80\" value=\"\"></td>\n
</tr>\n
<tr>
<td class=\"insLabel\" valign=\"top\">".ANN_MESSAGE." :</td>\n
<td><textarea class=\"formInput\" name=\"corps\" rows=\"5\" cols=\"80\"></textarea></td>\n
</tr>\n
<tr>
<td></td>\n
<td align=\"center\">";
 
if (ereg ("Gecko",$HTTP_USER_AGENT)) {
$res .= "<input class=\"texte_tb\" type=\"submit\" value=\"".ANN_ENVOYER."\">";
} else {
$res .= "<input class=\"texte_tb\" type=\"submit\" onclick=\"javascript:confirmer();\" value=\"".ANN_ENVOYER."\">";
}
$res.="<input class=\"texte_tb\" type=\"button\" ".
"onclick=\"javascript:if (window.confirm ('".ANN_CLIC_CONFIRMATION.".')) ".
"window.location.href='$baseURL&amp;fin=true&amp;logout=1';\"
\nvalue=\"Deconnexion\">
</td>\n
</tr>\n
</table>\n
</td>
</tr>" ;
$res .= "</table></form></td></tr>\n";
} else {
$res .= "<div>".ANN_PAS_D_INSCRIT."</div>\n";
}
 
}
return $res ;
 
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:18:49 alex
* retour vers la liste des participants après un ajout.
*
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
/trunk/client/annuaire/voir_recu_pdf.php
New file
0,0 → 1,39
<?php
// +----------------------------------------------------------------------------+
// |recu_pdf.php |
// +----------------------------------------------------------------------------+
// | Copyright (c) 2003 Tela Botanica |
// +----------------------------------------------------------------------------+
// | Ce fichier génère un fichier PDF |
// | contenant le recu pour une cotisation à Tela Botanica |
// | Il utilise la librairie FPDF |
// | http://www.fpdf.org/ |
// | |
// | Recoie $cotisation_id en parametre |
// +----------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +----------------------------------------------------------------------------+
//
// $Id: voir_recu_pdf.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
 
// Inclusion des fichiers nécessaire à une connection
include_once ("../../../php/config.php") ;
 
$link = mysql_connect($G_mysqlHost, $G_mysqlUser, $G_mysqlPwd) ;
mysql_select_db($G_mysqlDB) ;
 
include_once "../../../php/lib/fpdf/fpdf.php";
 
$envoie = 1 ;
 
include_once "recu_pdf_corps.php" ;
 
 
// buffer est une propriété de la classe FPDF qui contient les données au format PDF.
// habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
// entete HTTP du document généré
 
$pdf->Output() ;
 
?>
/trunk/client/annuaire/classes/inscription.class.php
New file
0,0 → 1,229
<?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: inscription.class.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Inscription
*
* Un module d'inscription, en général ce code est spécifique à
* un site web
*
*@package inscription
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005-01-03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
require_once 'HTML/QuickForm.php' ;
 
class HTML_formulaireInscription extends HTML_Quickform {
 
/**
* Constructeur
*
* @param string formName Le nom du formulaire
* @param string method Méthode post ou get
* @param string action L'action du formulaire.
* @param int target La cible.
* @param Array attributes Les attributs HTML en plus.
* @param bool trackSubmit ??
* @return void
* @access public
*/
function HTML_forumlaireInscription ( $formName, $method = "post", $action, $target = "_self", $attributes, $trackSubmit = false ) {
HTML_Quickform::HTML_Quickform($formName, $method, $action, $target, $attributes, $trackSubmit) ;
}
 
/**
*
*
* @return void
* @access public
*/
function construitFormulaire($url, $liste_pays)
{
$squelette =& $this->defaultRenderer();
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n");
$squelette->setElementTemplate( '<li class="liste_inscription">'."\n".'{label}'."\n".'{element}'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n".
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
'</li>'."\n");
$squelette->setGroupElementTemplate ('<span class="groupe_formulaire">{label}{element}</span>', 'groupe_mot_de_passe') ;
$squelette->setGroupElementTemplate ('<span class="groupe_formulaire">{label}{element}</span>', 'groupe_cp_ville') ;
$squelette->setGroupElementTemplate ('<span class="groupe_formulaire">{label}{element}</span>', 'groupe_nom') ;
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n");
$fieldset_debut = '<fieldset>'."\n".
'<legend>'.INS_AJOUT_MEMBRE.'</legend>'."\n".
'<ul>'."\n";
$this->addElement('html', $fieldset_debut);
$this->addElement ('text', 'email', INS_EMAIL) ;
$this->addRule ('email', INS_EMAIL_REQUIS, 'required','', 'client') ;
$this->addRule ('email', INS_MAIL_INCORRECT, 'email', '', 'client') ;
$this->registerRule('doublonmail', 'callback', 'verif_doublonMail');
$this->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true);
// A faire, grouper les mots de passe
$this->addElement ('password', 'mot_de_passe', INS_MOT_DE_PASSE) ;
$this->addElement ('password', 'mot_de_passe_repete', INS_REPETE_MOT_DE_PASSE) ;
$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') ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM) ;
$nom_prenom[] = & HTML_QuickForm::createElement ('text', 'prenom', INS_PRENOM) ;
$this->addGroup ($nom_prenom, 'groupe_nom', '', '', false) ;
if (INS_UTILISE_WIKINI) {
$this->addElement ('text', 'nom_wikini', INS_NOM_WIKI) ;
$this->addRule ('nom_wikini', INS_MAUVAIS_NOM_WIKI, 'regex', '/(!?[A-Z][A-Za-z0-9]*[a-z0-9]+[A-Z][A-Za-z0-9]*)/', 'client') ;
$this->registerRule('doublonwikini', 'callback', 'verif_doublonNomWiki');
$this->addRule('nom_wikini', INS_NOMWIKI_DOUBLE, 'doublonwikini', true);
}
$this->addElement ('text', 'adresse_1', INS_ADRESSE) ;
$this->addElement ('text', 'adresse_2', INS_ADRESSE) ;
$this->addElement ('text', 'region', INS_REGION) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'cp', INS_CODE_POSTAL) ;
$cp_ville[] = & HTML_QuickForm::createElement ('text', 'ville', INS_VILLE) ;
$this->addGroup ($cp_ville, 'groupe_cp_ville', '', '', false) ;
$this->addGroupRule ('groupe_cp_ville', INS_CODE_POSTAL_REQUIS, 'required', '', 1, 'client') ;
// L'élément pays est construit à partir du tableau liste_pays
 
$this->addElement ('select', 'pays', INS_PAYS, $liste_pays) ;
$this->addElement ('text', 'site', INS_SITE_INTERNET) ;
// on fait un groupe avec les boutons pour les mettres sur la même ligne
$buttons[] = &HTML_QuickForm::createElement('button', 'annuler', INS_ANNULER, array ("onclick" => "javascript:document.location.href='".$url."'"));
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', INS_VALIDER);
$this->addGroup($buttons, null, null, '&nbsp;');
$fieldset_fin = '</ul>'."\n".
'</fieldset>'."\n";
$this->addElement('html', $fieldset_fin);
 
$this->setRequiredNote(INS_CHAMPS_REQUIS) ;
} // end of member function construitFormulaire
/** Modifie le formulaire pour l'adapter au cas des structures
*
*
* @return void
* @access public
*/
function formulaireStructure()
{
$this->removeElement('groupe_nom') ;
$this->removeElement('email', false) ;
$mail = & HTML_QuickForm::createElement ('text', 'email', INS_MAIL_STRUCTURE) ;
$this->insertElementBefore ($mail, 'mot_de_passe') ;
$nom_structure = & HTML_QuickForm::createElement ('text', 'nom', INS_NOM_STRUCTURE) ;
$this->insertElementBefore ($nom_structure, 'email') ;
$this->removeElement ('site', false) ;
$site_structure = & HTML_QuickForm::createElement ('text', 'site', INS_SITE_STRUCTURE) ;
$this->insertElementBefore ($site_structure, 'pays') ;
$this->addElement ('hidden', 'est_structure', 1) ;
$sigle_structure = & HTML_QuickForm::createElement ('text', 'sigle_structure', INS_SIGLE_STRUCTURE) ;
$this->insertElementBefore ($sigle_structure, 'nom') ;
$this->addRule ('sigle_structure', INS_SIGLE_REQUIS, 'required', '', 'client') ;
}
/**
*
*
* @return string
* @access public
*/
function toHTML( )
{
$res = HTML_QuickForm::toHTML() ;
return $res ;
} // end of member function toHTML
 
 
 
}
 
class ListeDePays extends PEAR{
 
var $_db ;
/** Constructeur
* Vérifie l'existance de la table gen_pays_traduction
*
* @param DB Un objet PEAR::DB
* @return
*/
function ListeDePays (&$objetDB) {
$this->_db = $objetDB ;
$requete = "show tables" ;
$resultat = $objetDB->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
while ($ligne = $resultat->fetchRow()) {
if ($ligne[0] == 'gen_pays_traduction') {
return ;
}
}
return $this->raiseError ('La table gen_pays_traduction n\'est pas présente dans la base de donnée !') ;
}
/** Renvoie la liste des pays traduite
*
* @param string une chaine de type i18n ou une chaine code iso langue (fr_FR ou fr ou FR)
* @return un tableau contenant en clé, le code iso du pays, en majuscule et en valeur le nom du pays traduit
*/
function getListePays ($i18n) {
if (strlen($i18n) == 2) {
$i18n = strtolower($i18n)."-".strtoupper($i18n) ;
}
$requete = "select gpt_id_pays, gpt_nom_pays_traduit from gen_pays_traduction where gpt_id_i18n='".$i18n."'" ;
$resultat = $this->_db->query ($requete) ;
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError('Le code fourni ne correspond à aucun pays ou n\'est pas dans la table!') ;
}
$retour = array() ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$retour[$ligne->gpt_id_pays] = $ligne->gpt_nom_pays_traduit ;
}
return $retour ;
}
}
 
?>
/trunk/client/annuaire/langues/ann_langue_en.inc.php
New file
0,0 → 1,95
<?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: ann_langue_en.inc.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package vecam
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005-01-03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("ANN_NOM", "Name :") ;
define ("ANN_PRENOM", "First name") ;
define ("ANN_PAYS", "Country:") ;
define ("ANN_LANGUES_PARLES", "Languages spoken :") ;
define ("ANN_EMAIL", "E-mail :") ;
define ("ANN_MOT_DE_PASSE", "Password:") ;
define ("ANN_REPETE_MOT_DE_PASSE", "Repeat the password :") ;
define ("ANN_RETABLIR", "Restore") ;
define ("ANN_VALIDER", "Validate") ;
define ("ANN_MOTS_DE_PASSE_DIFFERENTS", "The two passwords are different !") ;
define ("ANN_EMAIL_REQUIS", "You must enter your e-mail.") ;
define ("ANN_MOT_DE_PASSE_REQUIS", "You must enter your password.") ;
 
define ("ANN_MAIL_INCORRECT", "E-mail addresses must be in the following format, user@domain.ext") ;
define ("ANN_NOTE_REQUIS", "Indicate the required fields") ;
define ("ANN_MODIFIER_INSCRIPTION", "Modify your registration") ;
define ("ANN_SUPPRIMER_INSCRIPTION", "Cancel your registration") ;
define ("ANN_MESSAGE_BIENVENU", "You are registered at i-twinning ") ;
 
define ("ANN_CLIQUEZ_LETTRE", "Click on a letter to see the members ") ;
define ("ANN_LISTE_INSCRIT_LETTRE", "List of the newsletter's subscribers") ;
define ("ANN_TITRE", "I-twinning repertory") ;
define ("ANN_TEXTE_PERDU", "If you forgot your password, enter your e-mail address in the Login ".
"field below and click on \Validate\ ") ;
define ("ANN_CHECK_UNCHECK", "Tick the boxes to select your recipient or tick / untick all") ;
define ("ANN_ENVOYER_MAIL", "Send an e-mail") ;
define ("ANN_SUJET", "Subject") ;
define ("ANN_MESSAGE", "Message") ;
define ("ANN_ENVOYER", "Send") ;
define ("ANN_CLIC_CONFIRMATION", "Click on OK to confirm") ;
define ("ANN_PAS_D_INSCRIT", "No registered members") ;
 
// ========================= Labels pour les mails =============================
 
define ("ANN_VERIF_MAIL_COCHE", "Please tick at least one recipient for your mail.") ;
define ("ANN_VERIF_TITRE", "Your message must be composed of a title <i>et</i> and a content") ;
 
define ("ANN_PIED_MESSAGE", "\n---------------------------------------------------------------------------".
"\nThis message has been sent by".
"\n(http://www.vecam.org) VECAM, ".
"\nwhere you are currently registered.".
"\nOther members may also have received this message.") ;
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:19:32 alex
* version initiale
*
* Revision 1.1 2004/06/30 08:50:01 alex
* traduction
*
* Revision 1.1 2004/06/18 08:45:45 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/annuaire/langues/ann_langue_pt.inc.php
New file
0,0 → 1,98
<?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: ann_langue_pt.inc.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package vecam
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005-01-03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("ANN_NOM", "Name :") ;
define ("ANN_PRENOM", "First name") ;
define ("ANN_PAYS", "Country:") ;
define ("ANN_LANGUES_PARLES", "Languages spoken :") ;
define ("ANN_EMAIL", "E-mail :") ;
define ("ANN_MOT_DE_PASSE", "Password:") ;
define ("ANN_REPETE_MOT_DE_PASSE", "Repeat the password :") ;
define ("ANN_RETABLIR", "Restore") ;
define ("ANN_VALIDER", "Validate") ;
define ("ANN_MOTS_DE_PASSE_DIFFERENTS", "The two passwords are different !") ;
define ("ANN_EMAIL_REQUIS", "You must enter your e-mail.") ;
define ("ANN_MOT_DE_PASSE_REQUIS", "You must enter your password.") ;
 
define ("ANN_MAIL_INCORRECT", "E-mail addresses must be in the following format, user@domain.ext") ;
define ("ANN_NOTE_REQUIS", "Indicate the required fields") ;
define ("ANN_MODIFIER_INSCRIPTION", "Modify your registration") ;
define ("ANN_SUPPRIMER_INSCRIPTION", "Cancel your registration") ;
define ("ANN_MESSAGE_BIENVENU", "You are registered at i-twinning ") ;
 
define ("ANN_CLIQUEZ_LETTRE", "Click on a letter to see the members ") ;
define ("ANN_LISTE_INSCRIT_LETTRE", "List of the newsletter's subscribers") ;
define ("ANN_TITRE", "I-twinning repertory") ;
define ("ANN_TEXTE_PERDU", "If you forgot your password, enter your e-mail address in the Login ".
"field below and click on \Validate\ ") ;
define ("ANN_CHECK_UNCHECK", "Tick the boxes to select your recipient or tick / untick all") ;
define ("ANN_ENVOYER_MAIL", "Send an e-mail") ;
define ("ANN_SUJET", "Subject") ;
define ("ANN_MESSAGE", "Message") ;
define ("ANN_ENVOYER", "Send") ;
define ("ANN_CLIC_CONFIRMATION", "Click on OK to confirm") ;
define ("ANN_PAS_D_INSCRIT", "No registered members") ;
 
// ========================= Labels pour les mails =============================
 
define ("ANN_VERIF_MAIL_COCHE", "Please tick at least one recipient for your mail.") ;
define ("ANN_VERIF_TITRE", "Your message must be composed of a title <i>et</i> and a content") ;
 
define ("ANN_PIED_MESSAGE", "\n---------------------------------------------------------------------------".
"\nThis message has been sent by".
"\n(http://www.vecam.org) VECAM, ".
"\nwhere you are currently registered.".
"\nOther members may also have received this message.") ;
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:19:32 alex
* version initiale
*
* Revision 1.1 2004/09/14 11:54:49 alex
* version initiale
*
* Revision 1.1 2004/06/30 08:50:01 alex
* traduction
*
* Revision 1.1 2004/06/18 08:45:45 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/annuaire/langues/ann_langue_es.inc.php
New file
0,0 → 1,77
<?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: ann_langue_es.inc.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package vecam
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005-01-03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("ANN_NOM", "pellido") ;
define ("ANN_PRENOM", "Nombre") ;
define ("ANN_PAYS", "Pais") ;
define ("ANN_LANGUES_PARLES", "Idiomas hablados") ;
define ("ANN_EMAIL", "Correo electronico") ;
define ("ANN_MOT_DE_PASSE", "Contraseña") ;
define ("ANN_REPETE_MOT_DE_PASSE", "Repetir la contraseñas") ;
define ("ANN_RETABLIR", "Restablecer") ;
define ("ANN_VALIDER", "Ingresar") ;
define ("ANN_MOTS_DE_PASSE_DIFFERENTS", "Las contraseñas son diferentes!") ;
define ("ANN_EMAIL_REQUIS", "Debe ingresar un correo electronico") ;
define ("ANN_MOT_DE_PASSE_REQUIS", "Debe ingresar una contraseña.") ;
define ("ANN_MAIL_INCORRECT", "El correo electronico debe tener una forma correcta, utilisador@domaine.ext") ;
define ("ANN_NOTE_REQUIS", "Indique los espacios requeridos") ;
define ("ANN_MODIFIER_INSCRIPTION", "Modificar su inscripcion") ;
define ("ANN_SUPPRIMER_INSCRIPTION", "Cancelar su inscripcion") ;
define ("ANN_MESSAGE_BIENVENU", "Esta inscrito en I-Enlace") ;
define ("ANN_CLIQUEZ_LETTRE", "Haga clic en una letra para ver los miembros.") ;
define ("ANN_LISTE_INSCRIT_LETTRE", "Lista de los inscritos en la carta") ;
define ("ANN_TITRE", "Guia de I-Enlace") ;
define ("ANN_TEXTE_PERDU", "Si ha perdido su contraseña, indique su correo electronico en el espaciologin y haga clic en Ingresar") ;
define ("ANN_CHECK_UNCHECK", "Marcar en la casilla para seleccionar su destinatario o marcar/quitar todo") ;
define ("ANN_ENVOYER_MAIL", "Enviar un correo electronico") ;
define ("ANN_SUJET", "Objet") ;
define ("ANN_MESSAGE", "Mensaje") ;
define ("ANN_ENVOYER", "Enviar") ;
define ("ANN_CLIC_CONFIRMATION", "Haga clic en OK para confirmar") ;
define ("ANN_PAS_D_INSCRIT", "Ninguninscrito") ;
//======================== labels pour les mails===========================
define ("ANN_VERIF_MAIL_COCHE", "Marque al menos un destinatario para su correo electronico") ;
define ("ANN_VERIF_TITRE", "Su mensaje debe tener un titulo y un cuerpo") ;
 
define ("ANN_PIED_MESSAGE", "\n---------------------------------------------------------------------------".
"\nCe message vous est envoyé par l'intermédiaire du site Internet".
"\n(http://www.vecam.org) de VECAM, ".
"\nauquel vous êtes inscrit.".
"\nD'autres inscrits au réseau peuvent avoir reçu ce message.".
"\nNe répondez que si vous êtes concerné, ou si vous avez des".
"\ninformations utiles à transmettre au demandeur." ) ;
?>
/trunk/client/annuaire/langues/ann_langue_fr.inc.php
New file
0,0 → 1,92
<?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: ann_langue_fr.inc.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
/**
* Fichier de traduction en français de l'application inscription
*
* Fichier de traduction en français de l'application inscription
*
*@package vecam
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1.1.1 $ $Date: 2005-01-03 17:27:49 $
// +------------------------------------------------------------------------------------------------------+
*/
 
define ("ANN_NOM", "Nom") ;
define ("ANN_PRENOM", "Pr&eacute;nom") ;
define ("ANN_PAYS", "Pays :") ;
define ("ANN_LANGUES_PARLES", "Langues parl&eacute;s :") ;
define ("ANN_EMAIL", "E-mail :") ;
define ("ANN_MOT_DE_PASSE", "Mot de passe :") ;
define ("ANN_REPETE_MOT_DE_PASSE", "R&eacute;p&eacute;ter le mot de passe :") ;
define ("ANN_RETABLIR", "Rétablir") ;
define ("ANN_VALIDER", "Valider") ;
define ("ANN_MOTS_DE_PASSE_DIFFERENTS", "Les mots de passe sont diff&eacute;rents !") ;
define ("ANN_EMAIL_REQUIS", "Vous devez saisir un email.") ;
define ("ANN_MOT_DE_PASSE_REQUIS", "Vous devez saisir un mot de passe.") ;
define ("ANN_MAIL_INCORRECT", "L'email doit avoir une forme correcte, utilisateur@domaine.ext") ;
define ("ANN_NOTE_REQUIS", "Indique les champs requis") ;
define ("ANN_MODIFIER_INSCRIPTION", "Modifier votre inscription") ;
define ("ANN_SUPPRIMER_INSCRIPTION", "Supprimer votre inscription") ;
define ("ANN_MESSAGE_BIENVENU", "Vous &ecirc;tes inscrit &agrave; I-Jumelage") ;
define ("ANN_CLIQUEZ_LETTRE", 'Cliquez sur une lettre pour voir les adh&eacute;rents.') ;
define ("ANN_LISTE_INSCRIT_LETTRE", "Liste des inscrits &agrave; la lettre") ;
define ("ANN_TITRE", 'Annuaire de I-Jumelage') ;
define ("ANN_TEXTE_PERDU", "Si vous avez perdu votre mot de passe, indiquer ".
"votre adresse email dans le champs login ci-dessus et cliquez sur \"Valider\"") ;
define ("ANN_CHECK_UNCHECK", "Cocher les cases pour s&eacute;lectionner votre destinataire ou cocher / d&eacute;cocher tout") ;
define ("ANN_ENVOYER_MAIL", "Envoyer un email") ;
define ("ANN_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") ;
 
// ========================= 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.vecam.org) de VECAM, ".
"\nauquel vous êtes inscrit.".
"\nD'autres inscrits au réseau peuvent avoir reçu ce message.".
"\nNe répondez que si vous êtes concerné, ou si vous avez des".
"\ninformations utiles à transmettre au demandeur." ) ;
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1 2005/01/03 17:19:32 alex
* version initiale
*
* Revision 1.1 2004/06/18 08:54:55 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/client/annuaire/admin_annu.php
New file
0,0 → 1,637
<?php
 
// +--------------------------------------------------------------------------------+
// | admin_annu.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2002 |
// +--------------------------------------------------------------------------------+
// | Administration des inscrits à un annuaire de type annuaire_tela |
// | de Gsite, |
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT, |
// | LABELS |
// | Plus spécifique la fonction cotisation($id) en bas permet de |
// | gérer les cotisations versées par les inscrits, avec la table |
// | annuaire_COTISATION |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: admin_annu.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
include "php/lib/pack.lib.gen.php" ;
global $HTTP_HOST ;
 
define ("URL_RECU", "http://www.tela-botanica.org/modules/client/annuaire/voir_recu_pdf.php") ;
 
include_once ("php/auth_object_login.php") ;
include_once ("php/auth.php") ;
 
include_once ("HTML/Table.php") ;
 
class auth_annu extends authLoginClass {
//============================================================================
// ENTRY dumpLoginForm ($errorMsg = '')
//
// Build the login form, with an error message.
// This method calls the overloadable methods buildLoginLabel,
// buildLoginLabel, buildMessage and buildErrorMessage (with $errorMsg as
// argument).
// Note that $errorMsg is supposed to be an HTML string.
//============================================================================
 
function dumpLoginForm ($errorMsg = '') {
 
global $GS_GLOBAL, $u_id ;
 
// l'url de la page en cours
$url = "document.php".
"?project=".$GS_GLOBAL['project'].
"&amp;locale=".$GS_GLOBAL['locale'].
"&amp;doc=".$GS_GLOBAL['document_row']->D_NAME.
"&amp;page=".$GS_GLOBAL['current_page_ndx'];
 
$prjLabel = "Administration de l'annuaire" ;
 
$loginLabel = $this->buildLoginLabel ();
$pwdLabel = $this->buildPasswordLabel ();
 
$outputText = '';
 
//--------------------------------------------------------------------------
// Spacing.
 
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
 
//--------------------------------------------------------------------------
// Message ?
 
$outputText .= $this->buildMessage ();
 
//--------------------------------------------------------------------------
// The form itself.
$outputText .= "<tr class=\"titlePage\"><td>Administration de l'annuaire de Tela Botanica</td></tr>\n" ;
$outputText .= "<tr><td>&nbsp;</td></tr>\n" ;
$outputText .= "<tr class=\"insTitle1\"><td>Identifiez-vous</td></tr>" ;
$outputText .= "<tr class=\"texte_tb\"><td>Cette fonction est réservée aux administrateurs de Tela Botanica. Elle permet de visualiser
l'ensemble des adh&eacute;rents et de faire des ajouts, suppression, modifications. :" ;
$outputText .= "<tr align=\"center\"><td>" ;
$outputText .= "</td></tr>" ;
$outputText .= "<tr><td>&nbsp;</td></tr>\n" ;
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD>';
$outputText .= "\n".' <FORM name="loginform" action="'.$this->scriptURL_.'" method="post">';
$outputText .= "\n".' <TABLE border="0" cellpadding="0" cellspacing="5" summary="" align="center">';
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="insLabel">'.$loginLabel.'&nbsp;:&nbsp;</TD>';
$outputText .= "\n".' <TD class="authFormInput"><INPUT';
$outputText .= "\n".' tabindex="1" class="insInputForm" type="text" name="auth_login" size="32" maxlength="64"></TD>';
$outputText .= "\n".' <TD rowspan="2"><IMG src="Local/vide.gif" alt="" width="20" height="1"></TD>';
$outputText .= "\n".' <TD rowspan="2"><INPUT class="text" tabindex="3" type="submit" value="Valider"></TD>';
$outputText .= "\n".' </TR>';
$outputText .= "\n";
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD class="insLabel">'.$pwdLabel.'&nbsp;:&nbsp;</TD>';
$outputText .= "\n".' <TD class="authFormInput"><INPUT';
$outputText .= "\n".' tabindex="2" class="insInputForm" type="password" name="auth_pwd" size="20" maxlength="32"></TD>';
$outputText .= "\n".' <TD class="authFormInput">';
$outputText .= "\n".' </TD>';
$outputText .= "\n".' </TR>';
 
$outputText .= $this->baseHidden ();
$outputText .= "<input type=\"hidden\" name=\"u_id\" value=\"$u_id\">\n" ;
$outputText .= "\n".' </TABLE>';
 
$outputText .= "\n".' </FORM>';
$outputText .= "\n".' </TD>';
$outputText .= "\n".' </TR>';
 
//--------------------------------------------------------------------------
// Error message ?
 
$outputText .= $this->buildErrorMessage ($errorMsg);
 
//--------------------------------------------------------------------------
// Spacing.
 
$outputText .= "\n".' <TR>';
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
$outputText .= "\n".' </TR>';
 
return $outputText;
 
}
}
 
// admin_annu est une application cliente de gsite elle commence donc
// dans une fonction putFrame()
 
 
function putFrame()
{
global $u_id, $cotisation_id ;
global $link ;
global $GS_GLOBAL ;
global $doc ;
global $action ;
 
$loginObj = new auth_annu ();
$loginObj->args_['auth_field_login'] = 'U_MAIL';
 
if (!gs_manageAuthWithObject ($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link'], $loginObj, &$outputText)) {
$res = $outputText ;
} else {
 
global $u_id ;
global $link ;
global $GS_GLOBAL ;
global $doc ;
global $action ;
 
 
if (empty($action)) $action = false ;
if (empty($GS_GLOBAL['doc'])) $GS_GLOBAL['doc'] = $doc ;
if (empty($GS_GLOBAL['page'])) $GS_GLOBAL['page'] = "" ;
 
$url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
$url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
 
// mise à jour si il y lieu
 
if ($action == "up") {
upSQL() ;
}
 
 
// Requete de pour récupérer toutes les infos d'un usager
 
$query = "select annuaire_tela.*,annuaire_LABEL_ACT.*,annuaire_LABEL_ASS.*,gen_COUNTRY.GC_NAME" ;
$query .= ", annuaire_LABEL_NIV.*, annuaire_LABEL_STATUT.*" ;
$query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ;
$query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV, annuaire_LABEL_STATUT" ;
$query .= " where U_ID=$u_id" ;
$query .= " and annuaire_tela.U_FRENCH_DPT=gen_FRENCH_DPT.GFD_ID" ;
$query .= " and annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID" ;
$query .= " and annuaire_tela.U_ACT=annuaire_LABEL_ACT.ID_LABEL_ACT" ;
$query .= " and annuaire_tela.U_ASS=annuaire_LABEL_ASS.ID_LABEL_ASS" ;
$query .= " and annuaire_tela.U_NIV=annuaire_LABEL_NIV.ID_LABEL_NIV" ;
$query .= " and annuaire_tela.U_SHOW=annuaire_LABEL_STATUT.ID_LABEL_STATUT" ;
 
 
 
 
$result = mysql_query($query) or die("Echec de la requete sur annu_USERS:<br>".mysql_error($GS_GLOBAL['link'])) ;
 
$row = mysql_fetch_object($result) ;
 
 
$res = "<tr class=\"titlePage\"><td>Edition d'un adh&eacute;rent : $row->U_NAME $row->U_SURNAME</td></tr>\n" ;
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Nom : ", "U_NAME", $row->U_NAME)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Pr&eacute;nom : ", "U_SURNAME", $row->U_SURNAME)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Région : ", "U_STATE", $row->U_STATE)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Ville : ", "U_CITY", $row->U_CITY)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."<td></td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Activit&eacute; : ", "LABEL_ACT", $row->LABEL_ACT)."<td></td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."<td></td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Sp&eacute;cialit&eacute; : ", "U_SPE", $row->U_SPE)."<td></td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Sp&eacute;cialit&eacute; g&eacute;ographique : ", "U_GEO", $row->U_GEO)."<td></td></tr>\n" ;
$res .= "<tr class=\"texte_tb\"><td>".form("Statut : ", "LABEL_STATUT", $row->LABEL_STATUT)."<td></td></tr>\n" ;
if (isset($cotisation_id) && $cotisation_id != "") {
include_once "modules/client/annuaire/recu_pdf_corps.php" ;
// buffer est une propriété de la classe FPDF qui contient les données au format PDF.
// habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
// entete HTTP du document généré
 
$pdf->Close() ;
$buf = $pdf->buffer;
 
// Inclusion des bibliothèques PEAR
 
include_once ('Mail.php');
include_once ('Mail/mime.php');
 
$file = 'Recu_Fiscal_Tela_Botanica.pdf';
$crlf = "\r\n";
$hdrs = array(
'From' => 'accueil@tela-botanica.org',
'Subject' => 'Reçu pour don à Tela Botanica'
);
 
$mime = new Mail_mime($crlf);
$text = "Bonjour !\n\n".
"Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n".
"- de continuer à encourager et accompagner des projets botaniques,\n".
"- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n".
"Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer".
" et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez".
" nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous".
" ferons parvenir le reçu imprimé à cette adresse.\n\n".
"Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ".
"bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n".
"Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ".
"http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n".
"- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous".
" les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ".
"botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n".
"Bien cordialement,\n\n".
"Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n".
"Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ;
$mime->setTXTBody($text);
 
// On attache le document PDF grace à $buf, et en indiquant son type MIME
$mime->addAttachment($buf, 'application/pdf', $file, false) ;
 
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
 
$mail =& Mail::factory('mail');
$mail->send($ligne->U_MAIL, $hdrs, $body);
 
// On insere le numéro du reçu dans la table annuaire_COTISATION
@mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ;
 
// On incrémente le compteur de mail de 1
if (!$deja_envoye) {
$num_recu++ ;
mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ;
}
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr class=\"titlePage\"><td>Le reçu a été envoyé</td></tr>\n" ;
}
$res .= cotisation($u_id) ;
$res .= suppression($u_id) ;
}
 
return $res ;
}
 
 
// form construit soit un formulaire de type <input type="text" ...> et
// de nom $field_ et place un $label devant
// soit construit un lien vers un formulaire à partir du champs $field_
 
 
function form($label, $field_, $value)
{
global $u_id, $GS_GLOBAL, $field ;
 
$url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
$url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
 
if ($field != $field_) {
$res = "<b>$label</b>" ;
$res .= "<a href=\"$url&amp;field=$field_\">" ;
if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') {
$res .= $value ? $value : "(vide)";
} else if ($field_ == "U_COT") {
if ($value == 0) {
$res .= "non" ;
} else {
$res .= "oui" ;
}
} else {
$res .= $value ? $value : "(vide)";
}
$res .= "</a>\n" ;
}
if ($field == $field_) {
$res = "\n<form action=\"$url&amp;u_id=$u_id&amp;action=up&amp;field_=$field_\" method=\"post\">" ;
$res .= "<b>$label</b>\n" ;
switch ($field_) {
case "U_COUNTRY" :
$select_country = new form($GS_GLOBAL['link']) ;
$res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ;
unset($select_country) ;
break ;
 
case "LABEL_NIV" :
$res .= getFormInsInfo($field_, $value) ;
break ;
 
case "LABEL_ASS" :
$res .= getFormInsInfo($field_, $value) ;
break ;
 
case "LABEL_ACT" :
$res .= getFormInsInfo($field_, $value) ;
break ;
 
case "LABEL_STATUT" :
$res .= getFormInsInfo($field_, $value) ;
break ;
 
case "U_COT" :
$res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ;
if ($value == 0) {
$check0 = " selected" ;
$check1 = "" ;
} else {
$check1 = " selected" ;
$check0 = "" ;
}
$res .= "<option value=\"0\"$check0>non</option>\n" ;
$res .= "<option value=\"1\"$check1>oui</option>\n" ;
$res .= "</select>\n" ;
break ;
 
default :
$res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ;
}
$res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ;
$res .= "</form>" ;
}
return $res ;
}
 
 
// upSQL met à jour la table annuaire_tela
 
function upSQL()
{
global $field_ ;
global $u_id ;
global $HTTP_POST_VARS ;
switch ($field_) {
case "LABEL_STATUT" : $field_ = "U_SHOW" ;
$id_field = "ID_LABEL_STATUT";
break ;
case "LABEL_NIV" : $field_ = "U_NIV" ;
$id_field = "ID_LABEL_NIV";
break ;
case "LABEL_ACT" : $field_ = "U_ACT" ;
$id_field = "ID_LABEL_ACT";
break ;
case "LABEL_ASS" : $field_ = "U_ACT" ;
$id_field = "ID_LABEL_ASS";
break ;
default :$id_field = $field_ ;
}
 
// Recherche de l'ancien mail
$req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ;
$res_am = mysql_query ($req_am) or die ("Echec ".mysql_error()) ;
$ligne_am = mysql_fetch_object ($res_am) ;
$ancien_mail = $ligne_am->U_MAIL ;
 
$query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ;
mysql_query($query) or die ("<br>Echec de la requete de mise à jour<br>\n") ;
 
// Traitement du département
if ($field_ == "U_ZIP_CODE") {
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) {
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ;
} else {
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ;
}
mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ;
}
 
// Traitement de l'adresse mail
 
 
if ($field_ == "U_MAIL") {
$requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ;
mysql_query ($requete) ;
}
}
 
function getFormInsInfo($field, $value)
{
global $GS_GLOBAL ;
 
$query = "select * from annuaire_$field" ;
$id_field = "ID_$field" ;
$result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ;
 
$res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ;
$i = 0 ;
while ($row = mysql_fetch_object($result)) {
 
$res .= "<option value=\"".$row->$id_field."\"" ;
if ($value == $row->$field) $res .= " selected";
$res .= ">" ;
$res .= $row->$field ;
$res .= "</option>\n" ;
$i++ ;
}
$res .= "</select>\n" ;
return $res ;
}
 
// Fonction pour gérer les cotisations d'un inscrit, en
// fonction de son id ($u_id)
 
function cotisation($u_id)
{
global $GS_GLOBAL, $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ;
 
 
// un peu de javascript pour la confirmation en cas de destruction
 
$outputText = "function confirmLink(theLink, theSqlQuery)
{
var is_confirmed = confirm(theSqlQuery);
return is_confirmed;
} " ;
 
// fonction gsite pour inclure la fonction Javascript
// au code html
 
js_register("confirmLink", $outputText) ;
 
$url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
$url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
 
// Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer
// qui agissent sur la table annuaire_COTISATION
 
// l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION
 
if ($action == "cu") {
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
$query = "insert into annuaire_COTISATION values (\"\", $IC_MC_ID, $u_id, UNIX_TIMESTAMP($date),\"$IC_MONTANT\", 0, \"0000-00-00\")" ;
mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ;
mysql_query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ;
}
 
// l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION
 
if ($action == "mu") {
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
$query = "update annuaire_COTISATION set IC_DATE=UNIX_TIMESTAMP($date), IC_MONTANT=\"$IC_MONTANT\",
IC_MC_ID=$IC_MC_ID where IC_ID=$id_cot" ;
mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ;
}
 
// l'action 'rm' retire une ligne de la table annuaire_COTISATION
 
if ($action == "rm") {
$query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ;
mysql_query ($query) or die ("Echec de la requete de suppression dans annuaire_COTISATION") ;
mysql_query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ;
}
 
// Quoi qu'il arrive, on récupère les informations concernant
// les cotisations d'un inscrit et on les affiche sous forme de
// table HTML
 
$query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id
and IC_MC_ID=MC_ID" ;
$result = mysql_query($query) or die ("Echec de la requete sur annuaire_COTISATION") ;
$res = "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr class=\"insTitle1\"><td><b>Etat des cotisations : </b></td></tr>" ;
 
// formatage de la date
$date = date("d-m-Y") ;
 
 
// l'action 'sc' correspond à l'édition d'une ligne de la table
// annuaire_COTISATION. Si elle est présente on affiche un formulaire
// de modification
 
if ($action == "sc") {
 
$res .= "<tr class=\"texte_tb\"><td><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ;
$res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"";
$res .= $date ;
$res .= "\">\n" ;
$res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> &euro;\n" ;
$res .= mode_paiement(0) ;
$res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ;
$res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ;
$res .= "</td></tr>\n" ;
 
// si l'action 'sc' n'est pas active on affiche toutes les lignes
// de cotisation de l'inscrit
 
} else {
if (mysql_num_rows($result) != 0) {
$res .= "<tr class=\"texte_tb\"><td>" ;
$table = new HTML_Table(array("width" => "100%", "class" => "texte_tb2")) ;
$table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu",
"Date d'envoie du reçu"),
array("class" => "insTitle1")) ;
 
while ($row = mysql_fetch_object($result)) {
// Le reçu a t il été envoyé ?
if ($row->IC_RECU != 0) {
$message_envoye = $row->IC_DATE_ENVOIE_RECU ; ;
} else {
$message_envoye = "Reçu non envoyé";
}
if ($action != "mc" || $id_cot != $row->IC_ID) {
$table->addRow(array (date ("j m Y", $row->IC_DATE), $row->IC_MONTANT." <b>&euro;</b>", $row->MC_LABEL,
"<a href=\"$url&amp;action=mc&amp;id_cot=$row->IC_ID\">modifier</a>",
"<a href=\"$url&amp;action=rm&amp;id_cot=$row->IC_ID\"".
" onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous".
" s&ucirc;r de vouloir supprimer cette entr&eacute;e');\">supprimer</a>",
"<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>",
"<a href=\"$url&cotisation_id=$row->IC_ID\">Envoyer le reçu</a>",
$message_envoye)) ;
} else {
// Recherche du mode de paiement
 
$table->addRow(array("<form action=\"$url&amp;action=mu&amp;id_cot=$row->IC_ID\" method=\"post\">\n".
"<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">",
"<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>&euro;</b>",
mode_paiement($row->IC_MC_ID),
"<input type=\"submit\" class=\"texte_tb\" value=\"valider\">".
"<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>",
"&nbsp;")) ;
}
}
$table->altRowAttributes(1, array("class" => "texte_tb2"), array("class" => "text2")) ;
$res .= $table->toHTML()."</td></tr>\n" ;
unset($table) ;
} else {
$res .= "<tr class=\"texte_tb\"><td>non cotisant</td></tr>\n" ;
}
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr><td><input type=\"button\" class=\"texte_tb\" " ;
$res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></td></tr>\n" ;
}
 
return $res ;
}
 
function suppression($u_id) {
global $GS_GLOBAL, $action ;
 
// un peu de javascript pour la confirmation en cas de destruction
 
$outputText = "function confirmLink(theLink, theSqlQuery)
{
var is_confirmed = confirm(theSqlQuery);
return is_confirmed;
} " ;
 
// fonction gsite pour inclure la fonction Javascript
// au code html
 
js_register("confirmLink", $outputText) ;
 
$url = "document.php?project=".$GS_GLOBAL['project']."&locale=".$GS_GLOBAL['locale']."&set=" ;
$url .= $GS_GLOBAL['set']."&doc=".$GS_GLOBAL['doc']."&page=".$GS_GLOBAL['page']."&u_id=$u_id" ;
 
$res = "<tr><td>&nbsp;</td></tr>\n" ;
$res .= "<tr class=\"insTitle1\"><td>Supprimer l'inscription</td></tr>\n" ;
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
$res .="<tr><td><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
$res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ;
$res .= "onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous s&ucirc;r de vouloir supprimer cet adh&eacute;rent');\">\n" ;
$res .= "</form></td></tr>\n" ;
 
if ($action=="suppr_adh") {
$queryLogin = "select U_MAIL from annuaire_tela where U_ID=$u_id" ;
$resultLogin = mysql_query($queryLogin) or die ("Echec de la requete sur annu_USERS");
$rowLogin = mysql_fetch_object($resultLogin) ;
$mail = $rowLogin->U_MAIL ;
mysql_free_result($resultLogin) ;
 
// vérifications
// 1. annu_ADMIN
$q_annu_ADMIN = "select AA_ID from annu_ADMIN where AA_ID=$u_id" ;
$r_annu_ADMIN = mysql_query($q_annu_ADMIN) or die ("Echec ..." );
if (mysql_num_rows($r_annu_ADMIN) != 0) {
$res .= "Une référence dans annu_ADMIN" ;
}
 
// 2.
// suppression
 
$query = "delete from annuaire_tela where U_ID=$u_id" ;
}
return $res ;
}
 
/** function mode_paiement () Produit un champs select avec le mode de paiement
*
*
* @param integer mode de paiement par defaut
* @return string HTML
*/
function mode_paiement ($defaut) {
$res = "<select name=\"IC_MC_ID\" class=\"insInputForm\">\n" ;
$req_mode = "select * from MODE_COTISATION" ;
$res_mode = mysql_query($req_mode) or die ($req_mode."<br>".mysql_error()) ;
while ($ligne_mode = mysql_fetch_object($res_mode)) {
$res .= "<option value=\"$ligne_mode->MC_ID\"" ;
if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ;
$res .= ">$ligne_mode->MC_LABEL</option>\n" ;
}
$res .= "</select>\n" ;
return $res ;
}
 
?>
/trunk/client/annuaire/signature_Daniel.png
New file
0,0 → 1,12
‰PNG

+IHDRP$;Éâ¦bKGDÿ‡Ì¿ pHYs  ÒÝ~ütIMEÓ ƒÄ*IDATx­•mL[UÇÏí
+ë}AÊ-¬…Q¶á‹di–©›ÂÌØÖm&Ff²S£¾9—hp¾|›?L§‰¦n“%š˜MöÞ,¬…K{)÷¶”r»®÷z{éËiï鸉žOçþŸóüžç9çÜç`<ø‡*‡ó~§%·Ø‰ÿȇ€›ÜDµûV€luh (ç %t–RÙa0¨dîá„kEw*;ZjMJ`þl›W^¶c/å)x(.ã×æ8fü·¥W°˜ß<´³­ÒhҖ+¢Wï¾c
+êԆÀôÝly;»WÄf¼þ Š°4tæõiŠÜ·~½ßïèM·¡¸vʇs›AÚK=pó)Â2Œ\.{7Ul"0æ kHÛ!“ô.‰ÞÉ`m
+$«ÀàÏ=õ <õ×l¢¾ñ¤Qx™ŠŽé]EM96Ú÷ÆìâŠÁÖ´­°÷J¼?=Ü Ñ$‚ªºk7”It„ŠÈà¡,¢ç
+ÒÇ.´ž¯J‘›(UÈz˜e™ß*
+Öy䛂(-ù ƒPòÕC¤òCKBEH2KžMÊäyÀÄïÇÉ %yÀ«‡ä­BÈÛÃðfd6(ñ_OÈ%Ôü
+…9IEND®B`‚
\ No newline at end of file
/trunk/client/annuaire/annuaire_moteur_fonction.php
New file
0,0 → 1,392
<?php
 
// +--------------------------------------------------------------------------------+
// | annuaire_moteur_fonction.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2000 - 2003 Tela Botanica |
// +--------------------------------------------------------------------------------+
// | Les fonctions de annuaire_moteur.php |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_moteur_fonction.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
 
/** function mkengine ()
*
*
*
* @return
*/
 
function mkengine()
{
global $GS_GLOBAL;
global $label_bbota;
global $nbr_total;
global $bouton, $HTTP_POST_VARS ;
$mon_frag = new fragmenteur_session() ;
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept", "prenom", "cotisant", "pays", "sort", "T_REPONSE", "lettre","statut") ;
// Deux cas , soit on a cliqué sur rechercher, soit on a cliqué sur un lien
foreach ($mes_vars as $key=>$value) {
if (!$bouton) { // on a cliqué sur un lien
if (empty($HTTP_POST_VARS[$value])) {
$$value = $mon_frag->getVariable($value);
}
} else {
// Si on clique sur le bouton rechercher
if (empty ($HTTP_POST_VARS[$value])) {
$$value = "" ;
} else {
$$value = $HTTP_POST_VARS[$value] ;
}
}
}
// Comptage du nombre total de données dans la table (hors CACHER = 1)
$query = "select count(*) as CPT from ".AM_ANNUAIRE;
$result = mysql_query($query) or die("<B>Erreur !</B> $query a échoué...");
 
if (mysql_num_rows($result) == 1)
{
$tmp_nb = mysql_fetch_object($result);
$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");
}
else die("<B>Erreur</B> lors du comptage des structures : $query");
 
mysql_free_result($result);
// fin comptage
 
$ret = "";
 
// construction du moteur de str
$ret .= "<form action=\"".AM_URL_DOCUMENT."\" method=\"post\">\n";
$ret .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" summary=\"\">\n";
$ret .= "<tr class=\"titlePage\"><td colspan=\"2\">".AM_L_TITRE."</td></tr>\n" ;
$ret .= presa_mk_blkline(1);
$ret .= "<tr class=\"insTitle1\"><td colspan=\"2\">".AM_L_TITRE." $chaine :</td></tr>\n" ;
$ret .= presa_mk_blkline(1);
 
// ligne de recherche
$ret .= "<tr><td colspan=\"2\">\n";
$ret .= "<table border=\"0\"><tr>\n" ;
$ret .= "<td class=\"insLabel\">".AM_L_RECHERCHER." :\n</td>\n<td>";
$ret .= form_mk_chaineI(stripslashes($recherche), "recherche")."&nbsp;";
$ret .= "</td><td class=\"insLabel\" colspan=\"4\">".AM_L_PAYS." : \n" ;
$ret .= "" ;
 
// formulaire contenant les pays, avec par défaut soit le pays en cours
// soit "tous les pays"
$query_pays = "select GC_ID, GC_NAME from gen_COUNTRY where GC_LOCALE='fr'" ;
$result_pays = mysql_query($query_pays) or die ("Echec de la requete sur gen_COUNTRY") ;
$ret .= "<select name=\"pays\" class=\"insInputForm\">\n" ;
$ret .= "<option value=\"tous\">Tous les pays</option>\n" ;
while ($row_pays = mysql_fetch_object($result_pays)) {
$ret .= "<option value=\"$row_pays->GC_ID\"" ;
if (!empty($pays)) {
if ($pays == $row_pays->GC_ID) $ret .= " selected" ;
}
$ret .= ">$row_pays->GC_NAME</option>\n" ;
}
$ret .= "</select>\n" ;
$ret .= "</td>\n" ;
$ret .= "<tr>\n";
$ret .= "<td class=\"insLabel\">".AM_L_NOM." :\n</td><td>";
$ret .= form_mk_chaineI(stripslashes($nom), "nom")."&nbsp;</td>\n<td class=\"insLabel\">" ;
$ret .= AM_L_PRENOM."&nbsp;:</td>\n<td>".form_mk_chaineI(stripslashes($prenom), "prenom")."&nbsp;</td>\n<td class=\"insLabel\">" ;
$ret .= AM_L_VILLE."&nbsp;:</td>\n<td>".form_mk_chaineI(stripslashes($ville), "ville")."&nbsp;</td>" ;
$ret .= "</tr><tr>\n" ;
$ret .= "<td class=\"insLabel\">".AM_L_DEPARTEMENT."&nbsp;: </td>\n<td>" ;
// Construction du <select> des départements
$requete_dpt = "select GFD_ID, GFD_NAME from gen_FRENCH_DPT" ;
$resultat_dpt = mysql_query($requete_dpt) or die ("Echec de la requete sur gen_FRENCH_DPT<br>".mysql_error()) ;
$ret .= "<select name=\"dept\" class=\"insInputForm\">\n" ;
$ret .= "<option value=\"tous\">tous</option>\n" ;
while ($ligne_dpt = mysql_fetch_object($resultat_dpt)) {
$ret .= "<option value=\"$ligne_dpt->GFD_ID\"" ;
if ($dept == $ligne_dpt->GFD_ID) $ret .= " selected" ;
$ret .= ">$ligne_dpt->GFD_ID - $ligne_dpt->GFD_NAME</option>\n" ;
}
$ret .= "</select></td>\n" ;
$ret .= "<td class=\"insLabel\">".AM_L_MAIL."&nbsp;: </td>\n<td>".form_mk_chaineI(stripslashes($mail), "mail")."</td>\n" ;
$ret .= "<td class=\"insLabel\">".AM_L_COTISANTS." : </td>\n" ;
$ret .= "<td>".form_mk_select(stripslashes($cotisant), "cotisant")."</td>\n";
$ret .= "</tr></table>\n";
$ret .= "</td></tr>\n";
$ret .= "<tr><td><table>\n" ;
// Les statuts des inscrits
$tableau_statut = array ("0" => "Désinscrit", "1" =>"Cotisant non inscrit", "3" =>"Inscrit") ;
$ret .= "<tr>\n";
$ret .= "<td class=\"insLabel\">Statut&nbsp;:&nbsp;</td>" ;
$ret .= "<td><select name=\"statut\" class=\"insInputForm\">\n" ;
foreach ($tableau_statut as $key=>$value) {
$ret .= "<option value=\"$key\"" ;
if (!empty($HTTP_POST_VARS["statut"]) && $HTTP_POST_VARS["statut"] == $key) $ret .= " selected" ;
if (empty($HTTP_POST_VARS["statut"]) && $key == "3") $ret .= " selected" ;
$ret .= ">$value</option>\n" ;
}
$ret .= "</select></td>" ;
$ret .= "<td class=\"insLabel\" width=\"60%\">\n";
$ret .= AM_L_GRP_RES." : </td>" ;
$grp = array(20, 50, 100) ;
$ret .= "<td><select name=\"T_REPONSE\" class=\"insInputForm\">\n" ;
for ($i = 0; $i < count($grp); $i++) {
$ret .= "<option value=\"".$grp[$i]."\">".$grp[$i]."</option>\n" ;
}
$ret .= "</select></td>" ;
$ret .= "<td class=\"texte_tb\" align=\"right\" width=\"40%\">\n";
$ret .= "<input type=\"submit\" class=\"texte_tb\" value=\"".AM_L_RECHERCHER."\" name =\"bouton\">\n";
$ret .= "</td></tr></table>\n</td></tr>\n";
$ret .= presa_mk_blkline(1);
$ret .= "</table></form>\n";
return $ret;
}
 
/** function form_mk_chaineI () Renvoie une balise de type <input>
*
* @param string l'attribut value de la balise
* @param string l'attibut name de la balise
* @param string la classe CSS
* @return string HTML
*/
function form_mk_chaineI($value="", $name, $class="insInputForm")
{
return "<input type=\"text\" size=\"15\" value=\"$value\" name=\"$name\" class=\"$class\">";
}
 
function form_mk_select($value="", $name="", $class="insInputForm") {
$res = "<select name=\"$name\" class=\"$class\">\n" ;
$res .= "<option value=\"1\"" ;
if ($value == 1) $res .= " selected" ;
$res .= ">Cotisants</option>\n" ;
$res .= "<option value=\"2\"" ;
if ($value == 2) $res .= " selected" ;
$res .= ">Non cotisants</option>\n" ;
$res .= "<option value=\"3\"" ;
if ($value == 3 || $value == "") $res .= " selected" ;
$res .= ">Tous</option>\n" ;
$res .= "</select>\n" ;
return $res ;
}
 
function mkquery()
{
// définition des variables globales
global $lettre ;
global $bouton, $HTTP_POST_VARS ;
$mon_frag = new fragmenteur_session() ;
 
// Requete sur l'annuaire pour extraire le nom, prénom, ville, nom du département (jointure),
// l'état de la cotisation (jointure)
// le tableau suivant contient tous les champs de la table annuaire_tela sur lesquels on peut effectuer une recherche
$fields_annu = array("nom" => "U_NAME", "prenom" => "U_SURNAME" , "mail" => "U_MAIL" , "ville" => "U_CITY",
"dept" => "U_FRENCH_DPT", "pays" => "U_COUNTRY" ) ;
 
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept", "prenom", "cotisant", "pays", "sort", "T_REPONSE", "lettre","statut") ;
 
foreach ($mes_vars as $key=>$value) {
if (!$bouton) {
if (empty($HTTP_POST_VARS[$value])) {
$$value = $mon_frag->getVariable($value);
}
} else {
$lettre = "" ;
$mon_frag->setVariable("lettre", "") ;
$mon_frag->fixerLeDebut(0) ;
if (empty ($HTTP_POST_VARS[$value])) {
$$value = "" ;
} else {
$$value = $HTTP_POST_VARS[$value] ;
}
}
}
if ($bouton) $sort = $mon_frag->getVariable("sort") ;
 
 
$queries = "select ".AM_ANNUAIRE.".*" ;
$queries .= ", ".AM_PAYS.".GC_NAME ";
$queries .= "from ".AM_ANNUAIRE ;
$queries .= ",".AM_PAYS ;
// Construction en fonction des champs saisies
// juste le champs "rechercher", on regarde partout
$queries .= " where (" ;
if ($lettre == "") {
if ($recherche != "") {
$queries .= "(U_NAME like '%$recherche%'" ; // le premier
foreach($fields_annu as $key=>$value) {
if ($key == "nom") continue ;
$queries .= ($key == "pays" ?
$pays == "tous" ? ")" :
") and $value = '$pays'" : " or $value like '%$recherche%'") ; // les autres
}
} else {
 
// si un ou plusieurs autres champs ont été indiqué, on les rajoute ici
 
$or_flag = false ;
foreach($fields_annu as $key=>$valeur) {
if ($key != "") {
if ($key == "pays") {
if ($$key == "tous") $queries .= ") and U_COUNTRY like '%'";
else $queries .= ") and $valeur like \"%".$$key."%\"" ;
} else {
if ($key == "dept") {
if ($$key != "tous" && isset($HTTP_POST_VARS[$key])) {
$queries .= " and U_FRENCH_DPT=".$$key ;
if ($fields_annu["pays"] != "fr") $queries .= " and U_COUNTRY=\"fr\"" ;
}
} else {
if ($or_flag) $queries .= "$valeur like \"%".$$key."%\"" ;
else $queries .= "($valeur like \"%".$$key."%\"" ;
if ($key != "ville") $queries .= " and " ;
}
}
$or_flag = true ;
}
}
// ici le cas ou rien n'a été saisie du tout, on affiche tout
if (!$or_flag) {
$queries .= "U_NAME like '%')" ;
}
}
} else {
if ($lettre == "tous") $lettre = "" ;
$queries .="U_NAME like '$lettre%'" ;
}
$queries .= ")" ;
$queries .= " and ".AM_ANNUAIRE.".U_COUNTRY=".AM_PAYS.".GC_ID" ;
if (isset($cotisant) && $cotisant != 3) if ($cotisant == 1) {
$queries .= " and ".AM_ANNUAIRE.".U_COT=$cotisant" ;
} else {
$queries .= " and ".AM_ANNUAIRE.".U_COT=0" ;
}
if (isset($nom) && $nom != "") $queries .= " and U_NAME like \"%$nom%\"" ;
if (isset($prenom) && $prenom != "") $queries .= " and U_SURNAME like \"%$prenom%\"" ;
if (isset($ville) && $ville != "") $queries .= " and U_CITY like \"%$ville%\"" ;
if (isset($mail) && $mail != "") $queries .= " and U_MAIL like \"%$mail%\"" ;
if (isset($statut) && $statut != "") $queries .= " and U_SHOW=$statut" ; else $queries .= " and U_SHOW=0" ;
if (isset($sort) && $sort != "") $queries .= " order by $sort" ;
return $queries;
}
function mkresu()
{
global $GS_GLOBAL;
global $HTTP_HOST, $SCRIPT_URL, $SCRIPT_NAME, $bouton ;
$mon_frag = new fragmenteur_session() ;
$mon_frag->setURL(AM_BASE_URL.AM_URL_DOCUMENT) ;
if ($bouton) $mon_frag->fixerLeDebut(0) ;
$requete = mkquery() ;
 
// Deux requetes, une avec tous les resultats, l'autre avec les résultats affichés
$result_total = mysql_query($requete) or print ("Echec de la requete <br>$requete<br>".mysql_error()) ;
// Affichage de la requete
$ret_req = "<tr class=\"texte_tb\"><td><br><b>La requete : </b><br>$requete".
" limit ".$mon_frag->lireLeDebut().",".$mon_frag->lireLePas()."</td></tr>\n" ;
$result_final = mysql_query($requete." limit ".$mon_frag->lireLeDebut().",".$mon_frag->lireLePas()) or print (mysql_error());
$nbr_final = mysql_num_rows($result_total) ;
mysql_free_result($result_total) ;
cxt_addVariable(AM_BD_BOTA, AM_BD_LINK, "requete_mail_tous", $requete) ;
$ret = "<tr class=\"text1\"><td align=\"center\"><table><tr>" ;
for ($i = 65 ; $i <91 ; $i++) {
$ret .= "\t<td><a href=\"".AM_URL_DOCUMENT."&lettre=";
$ret .= chr($i)."\">";
$ret .= chr($i) ;
$ret .= "</a></td>\n";
}
 
$ret .= "<td>&nbsp;&nbsp;<a href=\"".AM_URL_DOCUMENT."&lettre=tous\">".AM_L_TOUS."</a></td>\n" ;
$ret .= "<tr></table></td></tr>\n" ;
$ret .= "<tr class=\"insInputForm\"><td>".$mon_frag->affNbRes($nbr_final) ;
$ret .= "<tr class=\"insInputForm\" align=\"center\"><td align=\"center\">".$mon_frag->fragmente($nbr_final)."</td></tr>\n" ;
if ($nbr_final != 0) {
$ret .= "<tr><td><table width=\"100%\">\n";
$ret .= "<tr class=\"insTitle1\"><td nowrap><a href=\"".AM_BASE_URL.AM_URL_DOCUMENT."&amp;sort=U_NAME\">Identit&eacute;</a></td>\n";
$ret .= "<td><a href=\"".AM_BASE_URL.AM_URL_DOCUMENT."&amp;sort=U_MAIL\">Adresse mail</a></td>\n" ;
$ret .= "<td><a href=\"".AM_BASE_URL.AM_URL_DOCUMENT."&amp;sort=U_CITY\">".AM_L_VILLE."</a></td>\n" ;
$ret .= "<td>Pays ou Dpt (fr)</td>\n" ;
$ret .= "<td><a href=\"".AM_BASE_URL.AM_URL_DOCUMENT."&amp;sort=U_COT\">".AM_L_COTISANTS."</a></td></tr>\n" ;
 
$cotisant = array( "non", "oui") ;
 
$pair = true ; // pour afficher une ligne de résultat coloré, l'autre non
 
while ($row = mysql_fetch_object($result_final))
{
$ret .= "<tr class=\"texte_tb2\"";
if ($pair) {
$ret .= " bgcolor=\"\"" ;
$pair = false ;
} else {
$pair = true ;
}
$ret .= ">" ;
$ret .= "\n<td nowrap>";
$urlPop = "http://$HTTP_HOST$SCRIPT_NAME" ;
$urlPop .= "?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=popup&amp;doc=admin_annu&amp;page=".
$GS_GLOBAL['current_page_ndx']."&amp;u_id=$row->U_ID" ;
$ret .= "<a href=\"javascript:MagicPopup('$urlPop', 'admin_annu');\">" ;
$ret .= $row->U_NAME." ".$row->U_SURNAME ;
$ret .= "</a></td>\n ";
$ret .= "<td><a href=\"mailto:$row->U_MAIL\">$row->U_MAIL</a></td>\n" ;
$ret .= "<td>$row->U_CITY</td>" ;
if ($row->U_COUNTRY != 'fr') {
$ret .= "<td>$row->GC_NAME</td>" ;
} else {
$req_dpt = "select GFD_NAME from ".AM_DPT.",".AM_ANNUAIRE." where ".AM_ANNUAIRE.".U_ID=$row->U_ID" ;
$req_dpt .= " and ".AM_ANNUAIRE.".U_FRENCH_DPT=".AM_DPT.".GFD_ID" ;
$resultat_dpt = mysql_query($req_dpt) or die ("Echec de la requete sur ".AM_DPT."<br>".mysql_error()) ;
$ligne_dpt = mysql_fetch_object($resultat_dpt) ;
$ret .= "<td>$ligne_dpt->GFD_NAME</td>" ;
}
$ret .= "<td>".$cotisant[$row->U_COT]."</td></tr>\n" ;
}
 
$ret .= "</table></td></tr>\n" ;
$ret .= "<tr class=\"insInputForm\" align=\"center\"><td align=\"center\">".$mon_frag->fragmente($nbr_final)."</td></tr>\n" ;
$ret .= presa_mk_blkline(1) ;
$ret .= "<tr class=\"texte_tb\"><td><a href=\"document.php?project=gus&doc=mail_tous\" target=\"_blank\">".AM_L_MAIL_SELECTION."</a></td></tr>\n" ;
}
// $ret .= $ret_req ;
return $ret;
}
 
/** function presa_mk_blkline () insere des lignes vides du type <tr><td>&nbsp;</td></tr>
*
*
* @param integer nombre de ligne à insérer
* @return string HTML
*/
 
function presa_mk_blkline ($nombre) {
$res = "" ;
for ($i = 0; $i < $nombre; $i++) {
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
}
return $res ;
}
 
?>
/trunk/client/annuaire/mail_tous.php
New file
0,0 → 1,94
<?php
 
// +--------------------------------------------------------------------+
// | mail_tous.php |
// +--------------------------------------------------------------------+
// | Copyright (c) 2002 Tela Botanica |
// +--------------------------------------------------------------------+
// | Application permetant d'envoyer un mail à tous |
// +--------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------+
//
// $Id: mail_tous.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
include_once "php/lib/pack.lib.gen.php" ;
include_once "php/auth_object_login.php" ;
 
function putFrame() {
// configuration
global $GS_GLOBAL ;
global $objet, $corps, $annuaire_LABEL_STATUT, $SERVER_ADMIN ;
global $action ;
$url = "document.php?project=".$GS_GLOBAL['project']."&locale=".$GS_GLOBAL['locale']."&doc=".$GS_GLOBAL['document_row']->D_NAME ;
$url .= "&page=".$GS_GLOBAL['current_page_ndx'] ;
$link = $GS_GLOBAL['link'] ;
$annu_table = "annuaire_tela" ;
$champs_mail = "U_MAIL" ;
// Identification
$loginObj = new authLoginClass() ;
if (!gs_manageAuthWithObject ($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link'], $loginObj, &$outputText)) {
$res = $outputText ;
} else {
// Entete
confirmation() ;
$corps_debut = "RESEAU TELA BOTANICA - Le ".date("j/m/Y").
"\n\nBonjour,\n"."\n\nCordialement,\n-------------------\nTela Botanica le réseau des botanistes francophones\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n";
$res = "<tr class=\"titlePage\"><td>Envoi d'un mail &agrave; tous les membres</td></tr>\n" ;
$res .= "<tr><td>&nbsp;</td></tr>\n" ;
if ($action == "go") $res .= envoie_mail() ;
// formulaire
$res .= "<tr><td><form action=\"$url&action=go\" method=\"post\"><table width=\"100%\">\n" ;
$res .= "<tr><td class=\"insLabel\">" ;
$res .= "Objet&nbsp;:&nbsp;</td><td><input size=\"91\" name=\"objet\" type=\"text\" class=\"insInputForm\"></td></tr>\n" ;
$res .= "<tr><td class=\"insLabel\">Corps&nbsp;:&nbsp;</td><td><textarea name=\"corps\" cols=\"90\" rows=\"30\" class=\"insInputForm\">$corps_debut</textarea></td></tr>\n" ;
$res .= "<tr><td></td><td><input type=\"submit\" class=\"texte_tb\" value=\"envoyer\"" ;
$res .= " onclick=\"javascript:return confirmLink(this, 'Etes-vous sur de vouloir envoyer ce message !!');\"" ;
$res .= "></td></tr>\n" ;
$res .= "</table></form></td></tr>\n" ;
}
return $res ;
}
 
include_once ("Mail.php");
 
// envoie le mail à tous
 
 
function envoie_mail()
{
global $objet, $corps, $annuaire_LABEL_STATUT, $SERVER_ADMIN, $GS_GLOBAL ;
$annuaire = "annuaire_tela" ;
$champs_mail = "U_MAIL" ;
$headers['From'] = "accueil@tela-botanica.org" ;
$headers['Subject'] = stripslashes($objet) ;
 
$corps = stripslashes($corps) ;
$requete = cxt_getVariable($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link'], "requete_mail_tous") ;
cxt_clear($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link']) ;
 
$resultat = mysql_query($requete) or die ("echec") ;
while ($ligne = mysql_fetch_object($resultat)) {
if (!mail($ligne->U_MAIL, $headers['Subject'], $corps, "From: ".$headers['From'])) {
return "<tr><td>Une erreur s'est produite:<br>".$mail_object->getMessage()."</td></tr>\n" ;
}
}
return "<tr><td class=\"titlePage\">Le mail est parti !</td></tr>\n";
 
}
?>
/trunk/client/annuaire/annuaire_moteur.php
New file
0,0 → 1,42
<?php
 
// +--------------------------------------------------------------------------------+
// | annuaire_moteur.php |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2000 - 2003 Tela Botanica |
// +--------------------------------------------------------------------------------+
// | Moteur de recherhche dans un annuaire, les champs à |
// | affichés sont déterminé dans annuaire_moteur_config.php |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +--------------------------------------------------------------------------------+
//
// $Id: annuaire_moteur.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
 
include_once ("annuaire_moteur_config.php") ;
include_once (AM_CHEMIN_LIBRAIRIE."pack.lib.gen.php") ;
include_once (AM_CHEMIN_APPLI."annuaire_moteur_fonction.php");
 
 
if (!isset($locale)) $locale = 'fr' ;
include_once (AM_CHEMIN_APPLI."annuaire_moteur_lang_".$locale.".php") ;
 
include_once "php/auth.php" ;
include_once "php/auth_object_login.php" ;
 
function putframe () {
global $statut, $GS_GLOBAL ;
 
$objet_login = new AuthLoginClass() ;
if (!gs_manageAuthWithObject ($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link'], $objet_login, &$outputText)) {
$res = $outputText ;
} else {
$res = "<tr><td>".mkengine()."</td></tr>\n" ;
//mkquery() ;
$res .= "<tr><td>".mkresu()."</td></tr>\n" ;
}
return $res ;
}
 
?>
/trunk/client/annuaire/recu_pdf_corps.php
New file
0,0 → 1,163
<?php
// +----------------------------------------------------------------------------+
// |pdf_recu_et_mail.php |
// +----------------------------------------------------------------------------+
// | Copyright (c) 2003 Tela Botanica |
// +----------------------------------------------------------------------------+
// | Ce fichier génère un fichier PDF |
// | contenant le recu pour une cotisation à Tela Botanica |
// | Il utilise la librairie FPDF |
// | http://www.fpdf.org/ |
// | Il envoie également un email à l'adhérent concerné |
// +----------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> |
// +----------------------------------------------------------------------------+
//
// $Id: recu_pdf_corps.php,v 1.1.1.1 2005-01-03 17:27:49 alex Exp $
 
 
// Recherche des informations sur un utilisateur
 
$requete = "select * from annuaire_COTISATION, annuaire_tela, MODE_COTISATION
where IC_ID=$cotisation_id
and IC_ANNU_ID=U_ID
and IC_MC_ID=MC_ID" ;
$resultat = mysql_query($requete) or die ($requete."<br>".mysql_error()) ;
$ligne = mysql_fetch_object($resultat) ;
mysql_free_result($resultat) ;
 
/*
// On regarde si le reçu a déjà été envoyé
$requete = "select IC_RECU from annuaire_COTISATION where IC_ID=$cotisation_id" ;
$resultat = mysql_query ($requete) or die ($requete."<br>".mysql_error()) ;
$ligne = mysql_fetch_object($resultat) ;
mysql_free_result($resultat) ;
*/
 
if ($ligne->IC_RECU != 0) {
$num_recu = $ligne->IC_RECU ;
// $deja_envoye permettra au programme admin_annu.php de ne pas incrementé
// le compteur de recu
$deja_envoye = true ;
} else {
$res_compteur = mysql_query("select COMPTEUR from COMPTEUR_COTISATION") ;
$ligne_compteur = mysql_fetch_object($res_compteur) ;
$num_recu = $ligne_compteur->COMPTEUR ;
$deja_envoye = false ;
}
 
@include_once "php/lib/fpdf/fpdf.php";
 
if (!isset($envoie)) $chemin = "modules/client/annuaire/" ;
 
// Constante nécessaire à fpdf.php
define('FPDF_FONTPATH','font/');
 
// Création de l'objet pdf
 
$pdf = new FPDF();
 
$pdf->Open();
$pdf->AddPage("P");
// La ligne du haut
 
$pdf->Line(10, 10, 200, 10) ;
 
// Contenu du document
 
$pdf->SetFont('Arial', '', 8) ;
 
$pdf->Cell(150, 10, "", 0, 0) ;
 
$pdf->MultiCell(40, 10, "Numéro d'ordre : $num_recu", 1,1, "C") ;
 
$pdf->SetY($pdf->GetY() - 10) ;
 
$pdf->SetFont('Arial','B',14);
$pdf->Cell(0,10,'Reçu dons aux œuvres', 0, 1, "C");
$pdf->SetFont('Arial', '', 10) ;
$pdf->Cell(0, 0, '(Article 200-5 et 238 bis du Code Général des impôts)', 0, 1, "C") ;
 
$pdf->Cell(0, 10, 'REÇU A CONSERVER ET A JOINDRE A VOTRE DECLARATION DE REVENUS 2004', 0, 1, "L") ;
 
// On met le logo de Tela
$pdf->Image($chemin."logotb.png", 12, 35, "29", "", "PNG", "http://www.tela-botanica.org/") ;
 
 
 
// On écrie Les titres du cadre
 
$pdf->SetFontSize(12) ;
$pdf->Cell(100, 10, 'Bénéficiaire du don', 0, 0, "C") ;
$pdf->Cell(100, 10, 'Donateur', 0, 1, "C") ;
 
$pdf->SetFont('Arial', 'B', 10) ;
 
$pdf->Cell(38, 5, '', 0, 0) ;
$pdf->Cell(62, 5, 'Association Tela Botanica', 0, 0, "L") ;
 
$pdf->SetFont('Arial', 'B', 10) ;
 
$pdf->Cell(100, 5, "$ligne->U_NAME $ligne->U_SURNAME", 0, 1, "L") ;
 
$pdf->SetFont('Arial', '', 10) ;
 
$pdf->Cell(38, 5, '', 0, 0) ;
$pdf->Cell(62, 5, 'Institut de Botanique', 0, 1, "L") ;
$pdf->Cell(38, 5, '', 0, 0) ;
$pdf->Cell(62, 5, '163, rue A. Broussonnet', 0, 0, "L") ;
$pdf->Cell(100, 5, "$ligne->U_ADDR1", 0, 1, "L") ;
 
$pdf->Cell(38, 5, '', 0, 0) ;
$pdf->Cell(62, 5, '34090 Montpellier', 0, 0, "L") ;
$pdf->Cell(100, 8, "$ligne->U_ADDR2", 0, 1, "L") ;
 
 
$pdf->Cell(100, 5, 'Objet :', 0,1, "L") ;
$pdf->SetFontSize(8) ;
$pdf->MultiCell(100, 4, 'Contribuer au rapprochement de tous les botanistes de langue française. Favoriser l\'échange d\'information'.
' et animer des projets botaniques grâce aux nouvelles technologies de la communication.', 0, 1, "") ;
 
$pdf->SetFontSize(10) ;
 
$pdf->Text(111, 58 + 8, "$ligne->U_ZIP_CODE $ligne->U_CITY") ;
$pdf->SetFontSize(8) ;
$pdf->MultiCell(100,4, 'Organisme d\'intérêt général à caractère scientifique concourant à la diffusion de la langue et des connaissances scientifiques françaises.', 0,1, "R") ;
 
 
 
// On remonte le curseur de 52
$pdf->SetY($pdf->GetY() - 58) ;
 
// Le cadre central
$pdf->Cell(100, 60, '', 1) ;
$pdf->Cell(90, 60, '', 1) ;
$pdf->Ln() ;
 
$pdf->SetFontSize(10) ;
$pdf->Cell(0,10, 'L\'Association reconnaît avoir reçu, à titre de don, la somme de :', 0, 1, "L") ;
 
$pdf->SetFont('Arial', 'B', 11) ;
$pdf->Cell(0,10, "*** $ligne->IC_MONTANT euros ***", 0, 1, "C") ;
 
$pdf->SetFont('Arial', '', 10) ;
 
$pdf->Ln() ;
$pdf->Cell(100,10, "Date du paiement : ".date ("d/m/Y", $ligne->IC_DATE), 0, 0, "L") ;
$pdf->Cell(100, 10, 'Montpellier, le '.date("d/m/Y"), 0, 1, "L") ;
 
// La signature de Daniel
$pdf->Image($chemin."signature_Daniel.png", 110, $pdf->GetY(),28.22, "") ;
 
$pdf->Ln() ;
$pdf->Cell(0, 10, "Mode de versement : $ligne->MC_LABEL", 0, 1, "L") ;
 
$pdf->Cell(100, 10, '', 0, 0) ;
$pdf->Cell (100, 10, 'Daniel MATHIEU, Président', 0, 1, "L") ;
$pdf->Ln(5) ;
 
$pdf->SetFontSize(10) ;
$pdf->Cell(0, 7, '60 % de votre don à Tela Botanica est déductible de vos impôts dans la limite de 20 % de votre revenu imposable.', 1, 1, "C") ;
 
 
?>