/trunk/client/annuaire/admin_annu.php |
---|
New file |
0,0 → 1,510 |
<?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 2005/03/24 08:47:31 alex Exp $ |
define ("URL_RECU", $GLOBALS['ann_url']->protocol. '://'.$GLOBALS['ann_url']->host."/client/annuaire/voir_recu_pdf.php") ; |
include_once ("HTML/Table.php") ; |
include_once 'api/formulaire/FORM_formulaire.class.php' ; |
// admin_annu est une application cliente de gsite elle commence donc |
// dans une fonction putFrame() |
function putFrame() |
{ |
global $u_id, $cotisation_id ; |
global $action ; |
if (empty($action)) $action = false ; |
$url = $GLOBALS['ann_url']->getURL() ; |
// 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.*" ; |
$query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ; |
$query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV" ; |
$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" ; |
$resultat = $GLOBALS['ann_db']->query($query) ; |
if (DB::isError($resultat)) { |
return $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ; |
} |
$row = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
$res = "<h1>Edition d'un adhérent : $row->U_NAME $row->U_SURNAME</h1>\n" ; |
$res .= "<div>".form("Nom : ", "U_NAME", $row->U_NAME)."</div>\n" ; |
$res .= "<div>".form("Prénom : ", "U_SURNAME", $row->U_SURNAME)."</div>\n" ; |
$res .= "<div>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</div>\n" ; |
$res .= "<div>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</div>\n" ; |
$res .= "<div>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</div>\n" ; |
$res .= "<div>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</div>\n" ; |
$res .= "<div>".form("Région : ", "U_STATE", $row->U_STATE)."</div>\n" ; |
$res .= "<div>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</div>\n" ; |
$res .= "<div>".form("Ville : ", "U_CITY", $row->U_CITY)."</div>\n" ; |
$res .= "<div>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</div>\n" ; |
$res .= "<div>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</div>\n" ; |
$res .= "<div>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</div>\n" ; |
$res .= "<div>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</div>\n" ; |
$res .= "<div>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."</div>\n" ; |
$res .= "<div>".form("Activité : ", "LABEL_ACT", $row->LABEL_ACT)."</div>\n" ; |
$res .= "<div>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."</div>\n" ; |
$res .= "<div>".form("Spécialité : ", "U_SPE", $row->U_SPE)."</div>\n" ; |
$res .= "<div>".form("Spécialité géographique : ", "U_GEO", $row->U_GEO)."</div>\n" ; |
if (isset($cotisation_id) && $cotisation_id != "") { |
$db = & $GLOBALS['ann_db']; |
include_once ANN_CHEMIN_APPLI."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, 'base64') ; |
$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 .= "<div>Le reçu a été envoyé</div>\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 = $GLOBALS['ann_url']->getURL() ; |
if ($field != $field_) { |
$res = "<b>$label</b>" ; |
$res .= "<a href=\"$url&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&u_id=$u_id&action=up&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_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) |
{ |
$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 $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ; |
$res = '' ; |
// 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 |
GEN_stockerCodeScript($outputText) ; |
$url = $GLOBALS['ann_url']->getURL() ; |
// 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.', '.$date.',"'.$IC_MONTANT.'", 0, "0000-00-00")' ; |
$resultat = $GLOBALS['ann_db']->query ($query) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ; |
} |
$GLOBALS['ann_db']->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="'.$date.'", IC_MONTANT="'.$IC_MONTANT.'", |
IC_MC_ID='.$IC_MC_ID.' where IC_ID='.$id_cot ; |
$GLOBALS['ann_db']->query ($query) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ; |
} |
} |
// l'action 'rm' retire une ligne de la table annuaire_COTISATION |
if ($action == "rm") { |
$query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ; |
$GLOBALS['ann_db']->query ($query) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ; |
} |
$GLOBALS['ann_db']->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 = $GLOBALS['ann_db']->query($query) ; |
if (DB::isError($result)) { |
return $result->getMessage().'<br />'.$result->getDebugInfo().'<br />'.$query; |
} |
$res = "<h1>Etat des cotisations : </h1>" ; |
// 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 .= "<div><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\"> €\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 .= "</div>\n" ; |
// si l'action 'sc' n'est pas active on affiche toutes les lignes |
// de cotisation de l'inscrit |
} else { |
if ($result->numRows() != 0) { |
$res .= "<div>" ; |
$table = new HTML_Table(array("class" => "table_cadre")) ; |
$table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu", |
"Date d'envoie du reçu"),'', 'TH') ; |
while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) { |
// 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 ($row->IC_DATE, $row->IC_MONTANT." <b>€</b>", $row->MC_LABEL, |
"<a href=\"$url&action=mc&id_cot=$row->IC_ID\">modifier</a>", |
"<a href=\"$url&action=rm&id_cot=$row->IC_ID\"". |
" onclick=\"javascript:return confirmLink(this, 'êtes-vous". |
" sûr de vouloir supprimer cette entré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&action=er\">Envoyer le reçu</a>", |
$message_envoye)) ; |
} else { |
// Recherche du mode de paiement |
$table->addRow(array("<form action=\"$url&action=mu&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>€</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>", |
" ")) ; |
} |
} |
$table->altRowAttributes(1, array("class" => "ligne_paire"), array("class" => "ligne_impaire")) ; |
$res .= $table->toHTML()."</div>\n" ; |
unset($table) ; |
} else { |
$res .= "<div>non cotisant</div>\n" ; |
} |
$res .= "<div><input type=\"button\" class=\"texte_tb\" " ; |
$res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></div>\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 |
GEN_stockerCodeScript($outputText) ; |
$url = $GLOBALS['ann_url']->getURL() ; |
$res = "<div>Supprimer l'inscription</div>\n" ; |
$res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ; |
$res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ; |
$res .= "onclick=\"javascript:return confirmLink(this, 'êtes-vous sûr de vouloir supprimer cet adhérent');\">\n" ; |
$res .= "</form></div>\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" >'."\n" ; |
$req_mode = "select * from MODE_COTISATION" ; |
$res_mode = $GLOBALS['ann_db']->query($req_mode) ; |
while ($ligne_mode = $res_mode->fetchROW(DB_FETCHMODE_OBJECT)) { |
$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 |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/client/annuaire/signature_Daniel.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/client/annuaire/annuaire_moteur_fonction.php |
---|
New file |
0,0 → 1,433 |
<?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 2005/03/24 08:47:31 alex Exp $ |
include_once 'api/pear/HTML/QuickForm/select.php'; |
/** function mkengine () |
* |
* |
* |
* @return |
*/ |
function mkengine() |
{ |
global $label_bbota; |
global $nbr_total; |
global $bouton, $HTTP_POST_VARS ; |
$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])) { |
} |
} 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 ".ANN_ANNUAIRE; |
$result = $GLOBALS['ann_db']->query($query) ; |
if (DB::isError($result)) { |
return $result->getMessage().'<br />'.$result->getDebugInfo(); |
} |
if ($result->numRows() == 1) { |
$tmp_nb = $result->fetchRow(DB_FETCHMODE_OBJECT); |
$nbr_total = $tmp_nb->CPT; |
if ($nbr_total > 0) $chaine = "parmi $nbr_total données"; |
else die("<B>Erreur</B> lors du comptage des structures ($nbr_total trouvées) : $query"); |
} else die("<B>Erreur</B> lors du comptage des structures : $query"); |
$result->free(); |
// fin comptage |
$ret = '<h1>'.AM_L_TITRE.'</h1>'."\n"; |
$ret .= '<h2>'.AM_L_TITRE.' '.$chaine.'</h2>'."\n"; |
// construction du moteur de str |
$formulaire = new HTML_QuickForm('formulaire_recherche', 'post', str_replace('&', '&', $GLOBALS['ann_url']->getURL())); |
$squelette =& $formulaire->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<div id="annuaire_zone_recherche"><table id="annuaire_recherche"><form{attributes}>'."\n".'{content}'."\n".'</form></table></div>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n". |
'<td class="champ">{label}</td>'."\n". |
'<td class="valeur">{element}'. |
'<!-- BEGIN required --><span class="symbole_obligatoire">'.ADME_LG_FORM_SYMBOLE_CHP_OBLIGATOIRE.'</span><!-- END required -->'. |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'. |
'</td>'."\n". |
'</tr>'."\n"); |
$formulaire->addElement('text', 'recherche', AM_L_RECHERCHER); |
$requete = 'select GC_ID, GC_NAME from gen_COUNTRY where GC_LOCALE="fr"'; |
$pays = &$GLOBALS['ann_db']->getAssoc ($requete); |
$pays = array_merge (array('tous' => 'Tous les pays'), $pays); |
if (DB::isError($pays)) { |
return $pays->getMessage().'<br />'.$pays->getDebugInfo(); |
} |
$select = new HTML_QuickForm_select ('pays', AM_L_PAYS, $pays, array ('class' => 'projet_asso')) ; |
$formulaire->addElement($select) ; |
$formulaire->addElement('text', 'nom', AM_L_NOM); |
$formulaire->addElement('text', 'prenom', AM_L_PRENOM); |
$formulaire->addElement('text', 'ville', AM_L_VILLE); |
$departement = & $GLOBALS['ann_db']->getAssoc('select GFD_ID, CONCAT(GFD_ID,\' - \',GFD_NAME) as GFD_NAME from gen_FRENCH_DPT'); |
$departement = array_merge (array ('tous' => 'Tous'), $departement); |
$select_dpt = new HTML_QuickForm_select ('departement', AM_L_DEPARTEMENT, $departement, array ('class' => 'projet_asso')) ; |
$formulaire->addElement($select_dpt); |
$formulaire->addElement('text', 'mail', AM_L_MAIL); |
$cotisant = array (1 => 'Tous', 2 => 'Cotisants', 3 => 'Non cotisants'); |
$select_cotisant = new HTML_QuickForm_select ('cotisant', AM_L_COTISANTS, $cotisant, array ('class' => 'projet_asso')) ; |
$formulaire->addElement($select_cotisant); |
$requete = 'select distinct(YEAR(IC_DATE)) as annees from annuaire_COTISATION'; |
$resultat_annee_cotisation = &$GLOBALS['ann_db']->query ($requete); |
if (DB::isError($resultat_annee_cotisation)) { |
return $resultat_annee_cotisation->getMessage().'<br />'.$resultat_annee_cotisation->getDebugInfo(); |
} |
$tableau_annee_cotisation['Toutes'] = 'Toutes'; |
while ($ligne_annee_cotisation = $resultat_annee_cotisation->fetchRow(DB_FETCHMODE_OBJECT)) { |
$tableau_annee_cotisation[$ligne_annee_cotisation->annees] = $ligne_annee_cotisation->annees; |
} |
$select_annee = new HTML_QuickForm_select ('annee_cotisation', 'Année', $tableau_annee_cotisation, array ('class' => 'projet_asso')) ; |
$formulaire->addElement($select_annee); |
$grp = array(20 => 20, 50 => 50, 100 => 100) ; |
$select_grp = new HTML_QuickForm_select ('T_REPONSE', 'Résultat par', $grp, array ('class' => 'projet_asso')) ; |
$formulaire->addElement($select_grp); |
$formulaire->addElement('submit', 'bouton', AM_L_RECHERCHER); |
foreach ($mes_vars as $key=>$value) { |
if (isset($_POST[$value])) { |
$default[$value] = $_POST[$value] ; |
} |
} |
$formulaire->setDefaults($_POST); |
$ret .= '<br />'.$formulaire->toHTML(); |
return $ret; |
} |
function mkquery() |
{ |
// définition des variables globales |
global $lettre ; |
global $bouton ; |
// 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" => ANN_CHAMPS_NOM, "prenom" => ANN_CHAMPS_PRENOM , "mail" => ANN_CHAMPS_MAIL , "ville" => ANN_CHAMPS_VILLE, |
"dept" => "U_FRENCH_DPT", "pays" => ANN_CHAMPS_PAYS ) ; |
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept", |
"prenom", "cotisant", "pays", "sort", "T_REPONSE", |
"lettre","statut", "annee_cotisation") ; |
foreach ($mes_vars as $key=>$value) { |
if (!$bouton) { |
} else { |
$lettre = "" ; |
if (empty ($_REQUEST[$value])) { |
$$value = "" ; |
} else { |
$$value = $_REQUEST[$value] ; |
} |
} |
} |
$queries = 'select '.ANN_CHAMPS_ID.','.ANN_CHAMPS_NOM.', '.ANN_CHAMPS_PRENOM.', '. |
ANN_CHAMPS_PAYS.','.ANN_CHAMPS_MAIL.', '.ANN_CHAMPS_VILLE ; |
$queries .= ", ".ANN_TABLE_PAYS.".GC_NAME "; |
$queries .= "from "; |
$queries .= ANN_TABLE_PAYS.','.ANN_ANNUAIRE ; |
// On effectue une jointure gauche si l on veut tous les inscrits |
// y compris ce qui ne cotisent pas sinon pas de jointure gauche |
/* |
if (isset($cotisant) && $cotisant != 1) { |
} else { |
$queries .= ' left ' ; |
} |
$queries .= ' join annuaire_COTISATION on '. |
ANN_ANNUAIRE.'.U_ID=annuaire_COTISATION.IC_ANNU_ID '; |
if (isset($annee_cotisation) && $annee_cotisation != 0) { |
$queries .= ' and year(IC_DATE)='.$annee_cotisation ; |
} else { |
$queries .= 'and year(IC_DATE)='.date('Y') ; |
} |
*/ |
// Construction en fonction des champs saisies |
// juste le champs "rechercher", on regarde partout |
$queries .= " where " ; |
if ($lettre == "") { |
if ($_REQUEST['recherche'] != '') { |
$queries .= '('.ANN_CHAMPS_NOM.' like "%'.$_REQUEST['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 |
} |
$queries .= ' and ' ; |
} 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" && ($$key != 'tous' && $$key != '')) { |
if ($$key != "tous") $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 '.ANN_CHAMPS_PAYS.'="fr"' ; |
} |
} else { |
if ($$key != '' && $key != 'pays') { |
if (!$or_flag) $queries .= '(' ; |
$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 .= ANN_CHAMPS_NOM.' like "%")' ; |
} |
} |
} else { |
if ($lettre == "tous") $lettre = "" ; |
$queries .= ANN_CHAMPS_NOM.' like "'.$lettre.'%" and ' ; |
} |
$queries .= "" ; |
// jointure entre annuaire et table des pays annuaire_tela et gen_COUNTRY |
$queries .= " ".ANN_ANNUAIRE.".".ANN_CHAMPS_PAYS."=".ANN_TABLE_PAYS.".GC_ID" ; |
if (isset($nom) && $nom != "") $queries .= " and ".ANN_CHAMPS_NOM." like \"%$nom%\"" ; |
if (isset($prenom) && $prenom != "") $queries .= " and ".ANN_CHAMPS_PRENOM." like \"%$prenom%\"" ; |
if (isset($ville) && $ville != "") $queries .= " and ".ANN_CHAMPS_VILLE." like \"%$ville%\"" ; |
if (isset($mail) && $mail != "") $queries .= " and ".ANN_CHAMPS_MAIL." like \"%$mail%\"" ; |
if (isset($_REQUEST['sort']) && $_REQUEST['sort'] != '') $queries .= ' order by '.$_REQUEST['sort'] ; |
return $queries; |
} |
function mkresu() { |
$requete = mkquery() ; |
// Requete sans le limit pour le nombre de resultat |
$resultat_nbr = $GLOBALS['ann_db']->query($requete) ; |
if (DB::isError($resultat_nbr)) { |
return $resultat_nbr->getMessage().'<br />'.$resultat_nbr->getDebugInfo().'<br />'.$requete ; |
} |
$nbr_final = $resultat_nbr->numRows() ; |
$resultat_nbr->free(); |
$_SESSION['requete_mail_tous'] = $requete ; |
if (!isset($_REQUEST['T_REPONSE'])) $_REQUEST['T_REPONSE'] = 20 ; |
$debut = $_REQUEST['pageID'] * $_REQUEST['T_REPONSE']; |
$requete .= ' limit '.$debut.','.$_REQUEST['T_REPONSE']; |
// Requetes avec les résultats affichés |
$resultat = $GLOBALS['ann_db']->query($requete) ; |
if (DB::isError($resultat)) { |
return $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$requete ; |
} |
$variables_a_supprimer = array ('username', 'password', 'connexion'); |
foreach ($variables_a_supprimer as $var) if (isset($_POST[$var])) unset ($_POST[$var]) ; |
$variables = array_merge ($_POST, $_GET); |
foreach ($variables as $key => $var) if ($variables[$key] != '') $GLOBALS['ann_url']->addQueryString($key, $variables[$key]); |
$ret = "<table id=\"recherche_alphabetique\"><tr>" ; |
for ($i = 65 ; $i <91 ; $i++) { |
$ret .= "\t<td><a href=\"".$GLOBALS['ann_url']->getURL()."&lettre="; |
$ret .= chr($i)."\">"; |
$ret .= chr($i) ; |
$ret .= "</a></td>\n"; |
} |
$GLOBALS['ann_url']->addQueryString('lettre', 'tous'); |
$ret .= '<td> <a href="'.$GLOBALS['ann_url']->getURL().'">'.AM_L_TOUS."</a></td>\n" ; |
$ret .= "<tr></table>\n" ; |
include_once 'api/pear/Pager/Pager.php'; |
$params = array( |
'mode' => 'Jumping', |
'perPage' => $_REQUEST['T_REPONSE'], |
'delta' => 12, |
'httpMethod' => 'GET', |
'extraVars' => array_merge($_POST, $_GET), |
'altNext' => 'Suivant', |
'altPrev' => 'Précédent', |
'nextImg' => 'Suivant', |
'prevImg' => 'Précedent', |
'totalItems' => $nbr_final |
); |
$pager = & Pager::factory($params); |
$data = $pager->getPageData(); |
$links = $pager->getLinks(); |
$range = $pager->getOffsetByPageId(); |
$ret .= '<h2>'.$range[0].' - '.$range[1].' parmi '.$nbr_final.'</h2>'; |
$ret .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n"; |
include_once 'api/pear/HTML/Table.php'; |
$table = new HTML_Table(array("class" => "table_cadre")); |
$table->addRow(array("<a href=\"".$GLOBALS['ann_url']->getURL()."&sort=".ANN_CHAMPS_NOM."\">Identité</a>", |
"<a href=\"".$GLOBALS['ann_url']->getURL()."&sort=".ANN_CHAMPS_MAIL."\">Adresse mail</a>", |
"<a href=\"".$GLOBALS['ann_url']->getURL()."&sort=".ANN_CHAMPS_VILLE."\">".AM_L_VILLE, "Pays ou Dpt (fr)", |
"<a href=\"".$GLOBALS['ann_url']->getURL()."&sort=U_COT\">Cotisant en ".date(Y)),'', 'TH') ; |
while ($valeur = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$ligne_tableau = array(); |
$montant = 0; |
// Le nom de l inscrit avec un lien dessus pour voir les details |
$GLOBALS['ann_url']->addQueryString('u_id', $valeur[ANN_CHAMPS_ID]); |
array_push ($ligne_tableau, '<a href="'.$GLOBALS['ann_url']->getURL().'">'.$valeur[ANN_CHAMPS_NOM].' '.$valeur[ANN_CHAMPS_PRENOM].'</a>'); |
// l email |
array_push ($ligne_tableau, '<a href="mailto:'.$valeur[ANN_CHAMPS_MAIL].'">'.$valeur[ANN_CHAMPS_MAIL].'</a>'); |
// La ville |
array_push ($ligne_tableau, $valeur[ANN_CHAMPS_VILLE]); |
// Le pays ou le departement si francais |
if ($valeur['U_COUNTRY'] != 'fr') { |
array_push ($ligne_tableau, $valeur['GC_NAME']) ; |
} else { |
$req_dpt = 'select GFD_NAME from '.ANN_TABLE_DEPARTEMENT.','.ANN_ANNUAIRE. |
' where '.ANN_ANNUAIRE.'.'.ANN_CHAMPS_ID.'='.$valeur[ANN_CHAMPS_ID] ; |
$req_dpt .= " and ".ANN_ANNUAIRE.".U_FRENCH_DPT=".ANN_TABLE_DEPARTEMENT.".GFD_ID" ; |
$resultat_dpt = $GLOBALS['ann_db']->query($req_dpt) ; |
if (DB::isError($resultat_dpt)) { |
return $resultat_dpt->getMessage().'<br />'.$resultat_dpt->getDebugInfo().'<br />'.$req_dpt ; |
} |
$ligne_dpt = $resultat_dpt->fetchRow(DB_FETCHMODE_OBJECT) ; |
array_push ($ligne_tableau, $ligne_dpt->GFD_NAME) ; |
} |
// Si cotisant |
if ($valeur->IC_MONTANT != NULL) $montant = $valeur->IC_MONTANT.' €'; |
array_push ($ligne_tableau, $montant); |
$table->addRow($ligne_tableau); |
} |
$table->altRowAttributes(1, array("class" => "ligne_paire"), array("class" => "ligne_impaire"), true); |
$ret .= $table->toHTML(); |
$GLOBALS['ann_url']->removeQueryString('u_id'); |
$ret .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n"; |
$GLOBALS['ann_url']->addQueryString(ANN_VARIABLE_ACTION, ANN_ACTION_MAIL_TOUS); |
$ret .= "<div id=\"envoyer_selection\"><a href=\"".$GLOBALS['ann_url']->getURL()."\">".AM_L_MAIL_SELECTION."</a></div>\n" ; |
//$ret .= '<pre id="debogage">'.$requete.'</pre>'; |
return $ret; |
} |
function resume_cotisation() { |
$res = '<h1>Etat des cotisations</h1>'."\n"; |
$requete = 'select distinct(YEAR(IC_DATE)) as annees from annuaire_COTISATION'; |
$tableau_annee_cotisation = &$GLOBALS['ann_db']->getCol ($requete); |
if (DB::isError($tableau_annee_cotisation)) { |
return $tableau_annee_cotisation->getMessage().'<br />'.$tableau_annee_cotisation->getDebugInfo(); |
} |
$requete = 'select MC_ID,MC_LABEL from MODE_COTISATION order by MC_ID' ; |
$tableau_mode_cotisation = & $GLOBALS['ann_db']->getAssoc($requete); |
if (DB::isError($tableau_annee_cotisation)) { |
return $tableau_mode_cotisation->getMessage().'<br />'.$tableau_mode_cotisation->getDebugInfo(); |
} |
// Initialisation de la table |
include_once 'api/pear/HTML/Table.php'; |
$table = new HTML_Table(array('class' => 'table_cadre')); |
$table->addRow(array_merge (array('Année'), $tableau_mode_cotisation, |
array('Total', 'Nb cotisant', 'Nb inscrit', 'Ratio')), '', 'TH'); |
foreach ($tableau_annee_cotisation as $annee) { |
// recherche du nombre d adherent de l annee |
$requete_nb_cotisant = 'select count(*) as nbr from annuaire_tela where U_DATE < "'.$annee.'-12-31" union'. |
' select count(*) as nbr from annuaire_COTISATION where year(IC_DATE)='.$annee; |
// La requete union renvoie une colonne appele nbr avec 2 lignes le nbre inscrit a tela et le nbre de cotisant |
// pour une année donnee |
$resultat = $GLOBALS['ann_db']->query($requete_nb_cotisant); |
if (DB::isError($resultat)) { |
return $resultat->getMessage().'<br />'.$rseultat->getDebugInfo(); |
} |
$nb_inscrit_annee = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nb_cotisant_annee = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$ratio = $nb_cotisant_annee->nbr / $nb_inscrit_annee->nbr * 100; |
$ligne_table = array(); |
// On insere une premiere colone pour les annees |
array_push ($ligne_table, $annee); |
$somme_annee = 0; |
foreach ($tableau_mode_cotisation as $mode_id => $mode_label) { |
$requete = 'select sum(IC_MONTANT) as montant from annuaire_COTISATION where IC_MC_ID='.$mode_id. |
' and year(IC_DATE)='.$annee; |
$montant = $GLOBALS['ann_db']->getOne($requete); |
if (DB::isError($montant)) { |
return $montant->getMessage().'<br />'.$montant->getDebugInfo(); |
} |
array_push ($ligne_table, $montant); |
$somme_annee += $montant; |
} |
array_push ($ligne_table, $somme_annee, $nb_cotisant_annee->nbr, $nb_inscrit_annee->nbr,substr((string)$ratio, 0, 5).' %'); |
$table->addRow($ligne_table); |
} |
$res .= $table->toHTML(); |
return $res; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log:$ |
* * +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/client/annuaire/mail_tous.php |
---|
New file |
0,0 → 1,106 |
<?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.php,v 1.3 2005/01/06 15:44:33 alex Exp $ |
/** |
* Permet d'envoie un mail à une sélection dans l'annuaire |
* |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
function putFrame() { |
// configuration |
global $objet, $corps, $annuaire_LABEL_STATUT, $SERVER_ADMIN ; |
global $action ; |
$url = $GLOBALS['ann_url']->getURL() ; |
$annu_table = "annuaire_tela" ; |
$champs_mail = "U_MAIL" ; |
// Entete |
$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 = "<h1>Envoi d'un mail à tous les membres</h1>\n" ; |
if ($_GET['action'] == ANN_MAIL_TOUS_ENVOIE) $res .= envoie_mail_selection() ; |
$GLOBALS['ann_url']->addQueryString('action', ANN_MAIL_TOUS_ENVOIE); |
// formulaire |
$res .= '<div><form action="'.$GLOBALS['ann_url']->getURL()."\" method=\"post\"><table>\n" ; |
$res .= "<tr><td class=\"insLabel\">" ; |
$res .= "Objet : </td><td><input size=\"91\" name=\"objet\" type=\"text\" class=\"insInputForm\"></td></tr>\n" ; |
$res .= "<tr><td class=\"insLabel\">Corps : </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 confirm('Etes-vous sur de vouloir envoyer ce message !!');\"" ; |
$res .= "></td></tr>\n" ; |
$res .= "</table></form></div>\n" ; |
$res .= $_SESSION['requete_mail_tous']; |
return $res ; |
} |
include_once ("Mail.php"); |
// envoie le mail à tous |
function envoie_mail_selection() |
{ |
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 = $_SESSION['requete_mail_tous'] ; |
unset ($_SESSION['requete_mail_tous']) ; |
$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 "<div>Le mail est parti !</div>\n"; |
} |
?> |
/trunk/client/annuaire/annuaire_moteur.php |
---|
New file |
0,0 → 1,120 |
<?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_moteur.php,v 1.2 2005/03/24 08:24:39 alex Exp $ |
/** |
* programme principal du module annuaire_moteur |
* |
* programme principal du module annuaire_moteur |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'client/annuaire/configuration/ann_config.inc.php' ; |
include_once (ANN_CHEMIN_APPLI."annuaire_moteur_fonction.php"); |
include_once (ANN_CHEMIN_LIBRAIRIE."annuaire.fonct.php") ; |
if (isset($lang)) { |
include_once ANN_CHEMIN_APPLI."/langues/ann_langue_$lang.inc.php" ; |
} else { |
include_once ANN_CHEMIN_APPLI.'/langues/ann_langue_fr.inc.php' ; |
} |
define ("ANN_MAIL_TOUS", 1) ; |
define ("ANN_MAIL_TOUS_ENVOIE", 2) ; |
define ('ANN_ACTION_VOIR_ADHERENT', 'voir_adherent'); |
define ('ANN_ACTION_VOIR_COTISATION', 'voir_cotisation'); |
define ('ANN_VARIABLE_ACTION', 'action'); |
define ('ANN_ACTION_MAIL_TOUS', 'mail_tous'); |
define ('ANN_ACTION_SUPPRIMER_ADHERENT', 'suppr_adh'); |
// Action pour les cotisations |
define ('ANN_ACTION_SAISIR_COTISATION', 'sc'); |
define ('ANN_ACTION_VALIDER_COTISATION', 'cu'); |
define ('ANN_ACTION_MODIFIER_COTISATION', 'mu'); |
define ('ANN_ACTION_SUPPRIMER_COTISATION', 'rm'); |
define ('ANN_ACTION_ENVOYER_RECU', 'er'); |
function afficherContenuNavigation () { |
$res .= '<ul class="onglets">'; |
$GLOBALS['ann_url']->addQueryString(ANN_VARIABLE_ACTION, ANN_ACTION_VOIR_ADHERENT); |
$res .= '<li class="'.cma(ANN_ACTION_VOIR_ADHERENT).'"><a href="'.$GLOBALS['ann_url']->getURL().'">Adhérents</a></li>'; |
$GLOBALS['ann_url']->addQueryString(ANN_VARIABLE_ACTION, ANN_ACTION_VOIR_COTISATION); |
$res .= '<li class="'.cma(ANN_ACTION_VOIR_COTISATION).'"><a href="'.$GLOBALS['ann_url']->getURL().'">Cotisations</a></li>'; |
$res .= '</ul>'; |
$GLOBALS['ann_url']->removeQueryString (ANN_VARIABLE_ACTION) ; |
return $res ; |
} |
function afficherContenuCorps () { |
global $statut ; |
if (!isset($_REQUEST[ANN_VARIABLE_ACTION])) $_REQUEST[ANN_VARIABLE_ACTION] = ANN_ACTION_VOIR_ADHERENT; |
if (!$GLOBALS['AUTH']->getAuth()) { |
$res = AUTH_formulaire_login() ; |
} else { |
switch ($_REQUEST[ANN_VARIABLE_ACTION]) { |
case ANN_ACTION_SAISIR_COTISATION: |
case ANN_ACTION_MODIFIER_COTISATION: |
case ANN_ACTION_SUPPRIMER_COTISATION: |
case ANN_ACTION_VALIDER_COTISATION: |
case ANN_ACTION_ENVOYER_RECU: |
if (isset($_GET['u_id'])) { |
include_once (ANN_CHEMIN_APPLI.'admin_annu.php'); |
$GLOBALS['ann_url']->addQueryString ('u_id', $_GET['u_id']) ; |
return putFrame() ; |
} |
case ANN_ACTION_VOIR_COTISATION: |
$res .= '<div>'.resume_cotisation().'</div>'."\n"; |
break; |
case ANN_ACTION_MAIL_TOUS: |
case ANN_MAIL_TOUS_ENVOIE: |
include_once (ANN_CHEMIN_APPLI.'mail_tous.php') ; |
return putFrame() ; |
default: |
if (isset ($_GET['u_id'])) { |
include_once (ANN_CHEMIN_APPLI.'admin_annu.php'); |
$GLOBALS['ann_url']->addQueryString ('u_id', $_GET['u_id']) ; |
return putFrame() ; |
} |
return mkengine().mkresu(); |
} |
} |
return $res ; |
} |
function cma ($var) { |
$class = $_REQUEST[ANN_VARIABLE_ACTION] == $var ? 'menu_actif' : 'menu_inactif' ; |
return $class ; |
} |
?> |
/trunk/client/annuaire/recu_pdf_corps.php |
---|
New file |
0,0 → 1,166 |
<?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 = $db->query($requete) ; |
if (DB::isError ($resultat)) { |
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
$resultat->free() ; |
/* |
// 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 = $db->query("select COMPTEUR from COMPTEUR_COTISATION") ; |
$ligne_compteur = $res_compteur->fetchRow(DB_FETCHMODE_OBJECT) ; |
$num_recu = $ligne_compteur->COMPTEUR ; |
$deja_envoye = false ; |
} |
@include_once "api/fpdf/fpdf.php"; |
if (!isset($envoie)) $chemin = "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 2007', 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",strtotime($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, '66 % de votre don à Tela Botanica est déductible de vos impôts dans la limite de 20 % de votre revenu imposable.', 1, 1, "C") ; |
?> |
/trunk/client/annuaire/configuration/ann_config.inc.php |
---|
New file |
0,0 → 1,94 |
<?php |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Fichier de configuration de l'annuaire |
* |
* A éditer de façon spécifique à chaque déploiement |
* |
*@package inscription |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Id: ann_config.inc.php,v 1.2 2005/03/08 09:43:34 alex Exp $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// Paramêtres indiquant que l'on est en français pourpermettre la mise en majuscule des caractères accentués |
setlocale(LC_CTYPE, 'fr_FR'); |
/** |
//=========================DEFINITION DE VARIABLES ================================= |
* Définition des variables globales |
//================================================================================== |
*/ |
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'] ; |
$GLOBALS['ann_db'] =& $GLOBALS['_GEN_commun']['pear_db'] ; |
/** |
//==================================== LES URLS ================================== |
* Constantes liées à l'utilisation des url |
//================================================================================== |
*/ |
$GLOBALS['ann_url'] =& $GLOBALS['_GEN_commun']['url'];//l'url de base de l'application, un objet Net_URL |
// Créer cet objet par $GLOBALS['ins_url'] = new Net_URL('http://....') ; |
define('ANN_URL_ACTUALITE', 'http://www.gentiana.org/page:20') ; |
/** Variable définissant la lettre par défaut du parcour alphabétique.*/ |
define('ANN_LETTRE_DEFAUT', 'A') ;// une lettre de l'aphabet ou "tous" |
/** |
//==================================== LES CHEMINS ================================= |
* Constantes définissant les chemins d'accé au différents fichiers inclus dans les |
* applications. |
//================================================================================== |
*/ |
define('ANN_CHEMIN_APPLI','client/annuaire/');//le chemin vers l'application courrante |
define('ANN_CHEMIN_LIBRAIRIE', ANN_CHEMIN_APPLI.'bibliotheque/');//le chemin de la librairie de fichier php |
/** |
//==================================== CONSTANTES ================================== |
* Constantes des noms de tables et de champs dans l'annuaire |
//================================================================================== |
*/ |
define ('ANN_ANNUAIRE', 'annuaire'); |
define ('ANN_CHAMPS_NOM', 'a_nom'); // Nom du champs nom |
define ('ANN_CHAMPS_MAIL', 'a_mail'); // Nom du champs mail |
define ('ANN_CHAMPS_PRENOM', 'a_prenom'); // Nom du champs prénom |
define ('ANN_CHAMPS_ID', 'a_id'); // Nom du champs id |
define ('ANN_CHAMPS_DATE_INS', 'a_date_inscription'); |
define ('ANN_CHAMPS_CODE_POSTAL', 'a_code_postal'); |
define ('ANN_CHAMPS_VILLE', 'a_ville'); |
define ('ANN_CHAMPS_PAYS', 'a_ce_pays'); |
define ('ANN_TABLE_PAYS', 'carto_PAYS'); |
define ('ANN_GC_ID', 'CP_ID_Pays'); |
define ('ANN_GC_NOM', 'CP_Intitule_pays'); |
define ('ANN_TABLE_DEPARTEMENT', 'carto_DEPARTEMENT') ; |
/** |
//==================================== CONSTANTES================================== |
* Constantes contenant des mails |
//================================================================================== |
*/ |
define ('ANN_MAIL_ADMIN', 'Pierre SALEN <p.salen@gentiana.org>, Jean-Pascal MILCENT<jpm@tela-botanica.org>') ; |
?> |
/trunk/client/annuaire/annuaire.php |
---|
New file |
0,0 → 1,106 |
<? |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* programme principal du module annuaire |
* |
* programme principal du module annuaire |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2007 |
*@version $Id: annuaire.php,v 1.4 2005/03/24 08:24:39 alex Exp $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
include_once 'client/annuaire/configuration/ann_config.inc.php' ; |
include_once ANN_CHEMIN_LIBRAIRIE.'annuaire.fonct.php' ; |
/** Constante "dynamique" stockant la langue demandée par l'utilisateur pour l'application.*/ |
define('INS_LANGUE', substr($GLOBALS['_GEN_commun']['i18n'], 0, 2)); |
$fichier_lg = ANN_CHEMIN_APPLI.'/langues/ann_langue_'.INS_LANGUE.'.inc.php'; |
if (file_exists($fichier_lg)) { |
include_once $fichier_lg; |
} else { |
include_once ANN_CHEMIN_APPLI.'/langues/ann_langue_fr.inc.php' ; |
} |
include_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ; |
// Ajout d'une feuille de style externe |
GEN_stockerStyleExterne ('inscription', 'client/annuaire/annuaire.css') ; |
/** |
* Renvoie le code HTML de l'application |
* |
* @return string HTML |
*/ |
function afficherContenuCorps () { |
$res = '<h1 class="annuaire_titre1">'.ANN_TITRE.'</h1>'."\n"; |
if (!$GLOBALS['AUTH']->getAuth()) { |
$res .= AUTH_formulaire_login(); |
} else { |
// Le code javascript des cases à cocher |
$java = |
"function setCheckboxes(the_form) |
{ |
var do_check=document.forms[the_form].elements['selecttotal'].checked; |
var elts = document.forms[the_form].elements['select[]']; |
var elts_cnt = (typeof(elts.length) != 'undefined') |
? elts.length |
: 0; |
if (elts_cnt) { |
for (var i = 0; i < elts_cnt; i++) { |
elts[i].checked = do_check; |
} // Fin for |
} else { |
elts.checked = do_check; |
} // Fin if... else |
return true; |
} // Fin de la fonction 'setCheckboxes()'"; |
GEN_stockerCodeScript($java) ; |
$res .= '<h2 class="annuaire_titre2">'.ANN_CLIQUEZ_LETTRE.'</h2>'."\n"; |
// S'il y a un mail a envoyé, on l'envoie |
if (isset($_POST['select']) && is_array ($_POST['select'])) { |
$res .= envoie_mail() ; |
} |
$res .= parcourrirAnnu('') ; |
} |
return $res; |
} |
//============================================================================== |
// FUNCTION putFooter () |
// |
// Generation of footer. |
//============================================================================== |
function putFooter () { |
return ' '; |
} |
?> |
/trunk/client/annuaire/annuaire.css |
---|
New file |
0,0 → 1,20 |
/* Parcourir l'alphabet */ |
#annuaire_alphabet{ |
font-size:15px;} |
/* Tableau des inscrits */ |
#annuaire { |
border:1px solid;} |
#annuaire table{ |
width:100%; |
margin:0; |
border:none;} |
#annuaire tbody{ |
vertical-align:top; |
min-height:1em; |
height:200px; |
overflow: auto;} |
#annuaire td{ |
border:none;} |
#annuaire tr{ |
height:1em;} |
/trunk/client/annuaire/logotb.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/client/annuaire/logotb.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/client/annuaire/bibliotheque/annuaire.fonct.php |
---|
New file |
0,0 → 1,231 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: annuaire.fonct.php,v 1.1 2005/03/24 08:46:07 alex Exp $ |
/** |
* Fonctions du module annuaire |
* |
* Fonctions du module annuaire |
* |
*@package annuaire |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
function AUTH_formulaire_login() { |
$res = ''; |
$url = preg_replace ('/&/', '&', $GLOBALS['ann_url']->getURL()) ; |
$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 .= '<p>'.ANN_TEXTE_PERDU.'</p>'."\n" ; |
return $res; |
} |
/** function parcourrirAnnu () Affiche l'annuaire à partir d'une lettre |
* |
* |
* |
* @return string HTML |
*/ |
function parcourrirAnnu($event) { |
$res = '<p id="annuaire_alphabet">'; |
// Alphabet pour la rechercher par lettre du nom des inscrits |
for ($i = 65 ; $i <91 ; $i++) { |
$GLOBALS['ann_url']->addQueryString('lettre', chr($i)); |
$url_lettre = $GLOBALS['ann_url']->getURL(); |
$GLOBALS['ann_url']->removeQueryString('lettre'); |
$res .= '<a href="'.$url_lettre.'">'.chr($i).'</a> '."\n"; |
} |
$GLOBALS['ann_url']->addQueryString('lettre', 'tous'); |
$url_lettre = $GLOBALS['ann_url']->getURL(); |
$GLOBALS['ann_url']->removeQueryString('lettre'); |
$res .= '<a href="'.$url_lettre.'">'.'Tous'.'</a>'."\n"; |
$res .= '</p>'."\n"; |
// Si une lettre est sélectionnée |
if (empty($_REQUEST['lettre'])) { |
$_REQUEST['lettre'] = ANN_LETTRE_DEFAUT; |
} |
if (!empty($_REQUEST['lettre'])) { |
$requete = "SELECT ".ANN_ANNUAIRE.".*, ".ANN_TABLE_PAYS.".* FROM ".ANN_ANNUAIRE.",".ANN_TABLE_PAYS." WHERE ".ANN_CHAMPS_PAYS." = ".ANN_GC_ID." "; |
if ($_REQUEST['lettre'] != 'tous') { |
$requete .= " AND ".ANN_CHAMPS_NOM." LIKE \"".$_REQUEST['lettre']."%\"" ; |
} |
$requete .= " ORDER BY ".ANN_CHAMPS_NOM ; |
$res .= listes_inscrit ($requete, $GLOBALS['ann_url']->getURL(), $select, '', $GLOBALS['ann_db'], $niveau = 'pays'). |
carto_texte_cocher(). |
carto_formulaire($_POST['titre'], $_POST['corps']) ; |
} |
return $res; |
} |
/** |
* Renvoie le code HTML de la liste des inscrits |
* en fonction de la requete passé en parametre |
* |
* @return Renvoie le code HTML de la liste des inscrits |
*/ |
function listes_inscrit ($requete, $url, $select, $argument, &$db, $niveau = 'pays') { |
$resultat = $GLOBALS['ann_db']->query($requete); |
(DB::isError($resultat)) ? die($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) : ''; |
if ($resultat->numRows() > 0) { |
$res = "<form action=\"$url?mailer=1&lettre=".$_REQUEST['lettre']."\" method=\"post\" name=\"formmail\">\n"; |
$res .= '<div id="annuaire" class="conteneur_table"> |
<table id="table_inscrit" class="table_cadre"> |
<colgroup> |
<col /> |
<col /> |
<col /> |
<col /> |
<col /> |
<col /> |
<col /> |
</colgroup> |
<thead class="entete_fixe"> |
<tr> |
<th> </th> |
<th>'.ANN_NOM.'</th> |
<th>'.ANN_PRENOM.'</th> |
<th>'.ANN_DATE_INS.'</th> |
<th>'.ANN_CP.'</th> |
<th>'.ANN_VILLE.'</th> |
<th>'.ANN_PAYS.'</th> |
</tr> |
</thead> |
<tbody class="contenu_deroulant">'; |
$indic = 0; |
$i = 1; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
if ($indic==0) { |
$res.="<tr class=\"ligne_impaire\">\n"; |
$indic=1; |
} else { |
$res.="<tr class=\"ligne_paire\">\n"; |
$indic=0; |
} |
$res.= "<td><input type=\"checkbox\" name=\"select[]\" value=\"".$ligne[ANN_CHAMPS_MAIL]."\" /></td>\n |
<td>".strtoupper($ligne[ANN_CHAMPS_NOM])." </td>\n |
<td>".str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', $ligne[ANN_CHAMPS_PRENOM]))))." </td>\n |
<td>".date("d m Y", strtotime($ligne[ANN_CHAMPS_DATE_INS]))." </td>\n |
<td>".$ligne[ANN_CHAMPS_CODE_POSTAL]." </td>\n |
<td>".strtoupper($ligne[ANN_CHAMPS_VILLE])." </td>\n |
<td>".str_replace(' - ', '-', ucwords(strtolower(str_replace('-', ' - ', ($ligne[ANN_GC_NOM])))))." </td>\n" ; |
$res .= "</tr>\n"; |
} |
$res .= "</tbody></table></div>\n"; |
} else { |
$res = '<p class="information">Aucun inscrit n\'a de nom commençant par '.$_REQUEST['lettre'].'</p>'; |
} |
return $res; |
} |
function carto_formulaire ($titre_mail="", $corps = "") { |
$res = '<h2 class="chapo">'.ANN_ENVOYER_MAIL.'</h2>'."\n"; |
$res .= '<p class="attention surveillance">'.ANN_SURVEILLANCE.'</p>' ; |
$res .= '<p class="information message_a_tous">'.sprintf(ANN_MESSAGE_A_TOUS, '<a href="'.ANN_URL_ACTUALITE.'">'.ANN_ACTUALITE.'</a>').'</p>' ; |
$res .= '<table>'."\n" |
.'<tr><td class="texte">'.ANN_SUJET.' :</td>'."\n" |
.'<td><input class="forml" type="text" name="titre_mail" size="60" value="'.$GLOBALS['titre_mail'].'"/></td>'."\n" |
.'</tr><tr><td class="texte" valign="top">'.ANN_MESSAGE.' : </td>'."\n" |
.'<td><textarea class="forml" name="corps" rows="5" cols="60">'.$GLOBALS['corps'].'</textarea></td>'."\n" |
.'</tr><tr><td></td><td align="center">'; |
$res.='<input class="spip_bouton" type="submit" value="'.ANN_ENVOYER.'" />'; |
$res .= '</td>'."\n"; |
$res .= '</tr>'."\n"; |
$res .= '</table>'."\n"; |
$res .= '</form>'."\n"; |
return $res ; |
} |
/** function carto_texte_cocher () |
* |
* |
* @return string HTML |
*/ |
function carto_texte_cocher () { |
$res .= '<div class="texte">'.ANN_CHECK_UNCHECK ; |
$res .= " <input type=\"checkbox\" name=\"selecttotal\" onclick=\"javascript:setCheckboxes('formmail');\"/></div>"; |
return $res ; |
} |
/** envoie_mail() |
* |
* |
* @return envoie l'email |
*/ |
function envoie_mail () { |
$requete = "select ".ANN_CHAMPS_MAIL." from ".ANN_ANNUAIRE. |
" where ".ANN_CHAMPS_ID."='".$GLOBALS['AUTH']->getAuthData (ANN_CHAMPS_ID)."'"; |
$resultat = $GLOBALS['ann_db']->query($requete); |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
$entete = "From: <".$ligne[ANN_CHAMPS_MAIL].">\n"; |
$_POST['corps'] .= ANN_PIED_MESSAGE; |
$_POST['corps'] = stripslashes($_POST['corps']) ; |
$liste = "" ; |
foreach ($_POST['select'] as $key => $value) { |
mail ($value, stripslashes($_POST['titre_mail']), $_POST['corps'] , $entete) ; |
$liste .= $value."\n" ; |
} |
$_POST['corps'] .= "\n----------------------------------------------------------------------------"; |
$_POST['corps'] .= "\n".ANN_MESSAGE_APPLI."\n" ; |
$_POST['corps'] .= "\n".ANN_MESSAGE_ENVOYE_A." :\n $liste" ; |
mail (ANN_MAIL_ADMIN, stripslashes($_POST['titre_mail']), $_POST['corps'], $entete); |
$_POST['corps'] = ''; |
$_POST['titre_mail'] = ''; |
return '<div class="information">'.ANN_MAIL_ENVOYER.'</div>' ; |
} |
?> |
/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 ("../../papyrus/configuration/pap_config.inc.php") ; |
include_once 'DB.php' ; |
$db = DB::connect (PAP_DSN) ; |
include_once "../../api/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, ' '); |
$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_fr.inc.php |
---|
New file |
0,0 → 1,105 |
<?php |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* Fichier de traduction en français de l'application inscription |
* |
* Fichier de traduction en français de l'application inscription |
* |
*@package vecam |
//Auteur original : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Id$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
define ('ANN_NOM', 'Nom') ; |
define ('ANN_PRENOM', 'Prénom') ; |
define ('ANN_CP', 'Code Postal') ; |
define ('ANN_PAYS', 'Pays') ; |
define ('ANN_LANGUES_PARLES', 'Langues parlés :') ; |
define ('ANN_EMAIL', 'E-mail :') ; |
define ('ANN_MOT_DE_PASSE', 'Mot de passe :') ; |
define ('ANN_REPETE_MOT_DE_PASSE', 'Répéter le mot de passe :') ; |
define ('ANN_RETABLIR', 'Rétablir') ; |
define ('ANN_VALIDER', 'Valider') ; |
define ('ANN_MOTS_DE_PASSE_DIFFERENTS', 'Les mots de passe sont différents !') ; |
define ('ANN_EMAIL_REQUIS', 'Vous devez saisir un email.') ; |
define ('ANN_MOT_DE_PASSE_REQUIS', 'Vous devez saisir un mot de passe.') ; |
define ('ANN_MAIL_INCORRECT', 'L\'email doit avoir une forme correcte, utilisateur@domaine.ext') ; |
define ('ANN_NOTE_REQUIS', 'Indique les champs requis') ; |
define ('ANN_MODIFIER_INSCRIPTION', 'Modifier votre inscription') ; |
define ('ANN_SUPPRIMER_INSCRIPTION', 'Supprimer votre inscription') ; |
define ('ANN_MESSAGE_BIENVENU', 'Vous êtes inscrit à I-Jumelage') ; |
define ('ANN_CLIQUEZ_LETTRE', 'Cliquez sur une lettre pour voir les inscrits.') ; |
define ('ANN_LISTE_INSCRIT_LETTRE', 'Liste des inscrits à la lettre') ; |
define ('ANN_TITRE', 'Annuaire de l\'association Gentiana') ; |
define ('ANN_TEXTE_PERDU', 'Si vous avez perdu votre mot de passe, indiquer '. |
'votre adresse email dans le champs login ci-dessus et cliquez sur "Valider"') ; |
define ('ANN_CHECK_UNCHECK', 'Cocher les cases pour sélectionner votre destinataire ou cocher / décocher tout') ; |
define ('ANN_ENVOYER_MAIL', 'Envoyer un email') ; |
define ('ANN_MESSAGE_A_TOUS', 'Si vous souhaitez diffuser votre message à l\'ensemble des membres du réseau, vous pouvez rédiger un article dans %s.'); |
define ('ANN_ACTUALITE', 'les actualités de Gentiana'); |
define ('ANN_SURVEILLANCE', '<strong>Avertissement :</strong> la messagerie ci-dessous est destinée à vous permettre d\'échanger ' . |
'des messages entre inscrit au site de Gentiana, sans dévoiler les adresses email des inscrits. Afin de respecter la ' . |
'tranquillité de chacun, il est strictement interdit d\'utiliser cette messagerie interne pour faire des relances périodiques ' . |
'd\'informations ou des annonces publicitaires et commerciales. Une surveillance du contenu des mails échangés est effectuée ' . |
'par l\'Association Gentiana. Merci de votre compréhension.') ; |
define ('ANN_SUJET', 'Sujet') ; |
define ('ANN_MESSAGE', 'Message') ; |
define ('ANN_ENVOYER', 'Envoyer') ; |
define ('ANN_CLIC_CONFIRMATION', 'Cliquez sur OK pour confirmer') ; |
define ('ANN_PAS_D_INSCRIT', 'Pas d\'inscrit') ; |
define ('ANN_MAIL_ENVOYER', 'Votre mail a été envoyé') ; |
define ('ANN_DATE_INS', 'Date d\'inscription') ; |
define ('ANN_VILLE', 'Ville') ; |
// ========================= Labels pour les mails ============================ |
define ('ANN_VERIF_MAIL_COCHE', 'Veuillez cocher au moins un destinataire pour votre mail' ); |
define ('ANN_VERIF_TITRE', 'Votre message doit comporter un titre <i>et</i> un corps') ; |
define ('ANN_MESSAGE_APPLI', 'Application ANNUAIRE'); |
define ('ANN_MESSAGE_ENVOYE_A', 'Ce message a été envoyé à '); |
define ('ANN_PIED_MESSAGE', '---------------------------------------------------------------------------'."\n". |
'Ce message vous est envoyé par l\'intermédiaire du site Internet'."\n". |
'(http://www.gentiana.org) de Gentiana, '."\n". |
'auquel vous êtes inscrit.'."\n". |
'D\'autres inscrits peuvent avoir reçu ce message.'."\n". |
'Ne répondez que si vous êtes concerné, ou si vous avez des'."\n". |
'informations utiles à transmettre au demandeur.' ) ; |
// ============================ Label de lannuaire Back =========================== |
define ('AM_L_TITRE', 'Chercher un adhérent') ; |
define ('AM_L_RECHERCHER', 'Rechercher') ; |
define ('AM_L_PAYS', 'Pays') ; |
define ('AM_L_NOM', 'Nom') ; |
define ('AM_L_PRENOM', 'Prénom') ; |
define ('AM_L_VILLE', 'Ville') ; |
define ('AM_L_DEPARTEMENT', 'Département') ; |
define ('AM_L_MAIL', 'Mail') ; |
define ('AM_L_COTISANTS', 'Cotisants') ; |
define ('AM_L_GRP_RES', 'Grouper les résultats') ; |
define ('AM_L_TOUS', 'Tous') ; |
define ('AM_L_MAIL_SELECTION', 'Envoyer un mail à la sélection') ; |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |